Excel。SEARCH関数は英字の大文字小文字の区別なく検索する文字列の位置を算出します
<関数辞典:SEARCH関数>
SEARCH関数
読み方: サーチ
分類: 文字列操作
SEARCH(検索文字列,対象,[開始位置])
英字の大文字小文字の区別なく検索する文字列の位置を算出する
【Excel・Word・PowerPoint・Access】あなたの「困った」を解決!10年以上の経験が詰まった、現場の疑問から生まれた実践テクニック集。作業効率を劇的に上げるOffice活用術をお届けします。
SEARCH関数
読み方: サーチ
分類: 文字列操作
SEARCH(検索文字列,対象,[開始位置])
英字の大文字小文字の区別なく検索する文字列の位置を算出する
東京都の23区内なのかなど、セル内に該当する文字が含まれているのかを判定したい場合、単純にIF関数だけでは対応することができません。
次の表をつかって説明します。
C列に23区内ならば、「○」を表示するとします。
C2に設定する数式は、
=IFERROR(IF(SEARCH("東京都*区",B2),"○",""),"")
として、オートフィルで数式をコピーすると、完成なのですが、IF関数以外にもIFERROR関数やSEARCH関数をつかっています。
なぜIF関数以外をつかっているのかというと、IF関数の論理式に「ワイルドカード」が使えないからです。
そこで、SEARCH関数をつかって、判断させます。
=IF(SEARCH("東京都*区",B2),"○","")
オートフィルで数式をコピーしてみると、合致しないセルに「#VALUE!」というエラーが表示されています。
SEARCH関数で困るのは、合致しない場合、「#VALUE!」というエラーを表示してしまうことなんです。
つまり、偽の場合の設定よりもエラーが強いので、偽の場合の表示設定を行ってくれません。
そのため、エラーをコントロールするIFERROR関数をつかって「#VALUE!」というエラーを表示しない作業をさせる必要があるわけです。
なお、IF関数は、偽の場合を設定しないとエラーになるので、「#VALUE!」と表示されます。
そのため、「””」を設定しておきます。
また、検索するSEARCH関数と同じようにFIND関数がありますが、FIND関数は、ワイルドカードをつかうことができませんので、SEARCH関数をつかう必要があります。
今回は、SCAN関数~SECH関数までをご紹介しております。
SCAN関数
読み方: スキャン
分類: 論理
SCAN(initial_value,array,function)
LAMBDA関数を各値に適用して配列をスキャンし、各中間値を持つ配列を返します
SEARCH関数
読み方: サーチ
分類: 文字列操作
SEARCH(検索文字列,対象,[開始位置])
英字の大文字小文字の区別なく検索する文字列の位置を算出する
SEARCHB関数
読み方: サーチビー
分類: 文字列操作
SEARCHB(検索文字列,対象,[開始位置])
英字の大文字小文字の区別なく検索す文字列のバイト数を算出する
SEC関数
読み方: セカント
分類: 数学/三角
SEC(数値)
角度の正割を算出します
SECH関数
読み方: ハイパーポリック セカント
分類: 数学/三角
SECH(数値)
数値の双曲線正割を算出します