Office 2021 の購入方法やお得なキャンペーン情報

Office 2021 の購入方法やお得なキャンペーン情報、製品を安心して購入できるお店 などをご紹介。

FIND関数 SEARCH関数 文字列が開始位置から何番目にあるかを返します

2022-12-07 12:00:00 | office2021
文字列を検索するFIND関数とSEACH関数の違い

FIND関数は大文字と小文字の区別します。SEARCH関数は大文字と小文字の区別しません。

下図の3行目のように、FIND関数では検索する文字がすべて大文字のEXCELはExcelとは異なると判定して、検索文字は存在しないとエラーを返します。

一方、SEARCH関数では大文字のEXCELとExcelは同じとみなし、11という値を返しています。

つまり、 Excel という文字を検索するのに、SEARCH関数では EXCELでも ExcelでもOKですが、FIND関数では ExcelはOKですが、EXCELはNGということです。


文字列が開始位置から何番目にあるかを返します   

 サーチ

=SEARCH(検索文字列,対象,開始位置)

  (注) 英字の大文字と小文字を区別できませんが、ワイルドカード文字を使用できます。


FIND関数 SEARCH関数 文字列が開始位置から何バイト目にあるかを返します 

2022-12-07 11:00:00 | Excel2021
文字列が開始位置から何バイト目にあるかを返します   

 ファインド ビー

=FINDB(検索文字列,対象,開始位置)

  (注) 英字の大文字と小文字を区別できる代わりに、ワイルドカード文字を使用することができません。

FIND関数が文字数で文字位置を求めるのに対し、FINDB関数はバイト数で求めます。

検索文字を変えて、FIND関数とFINDB関数とで返る値の違いを下図に示しています。

D2セルの数式は =FIND(C2,$B$2) 、E2セルの数式は =FINDB(C2,$B$2) としています。

E2セルが11となるのは、「用紙サイズ」が2バイト文字なので 5文字*2バイト=10 となり、「A」は11バイト目といった計算になります。

漢字やひらがなは2バイト、半角英数や半角カタカナは1バイトと計算されます。




FIND関数 SEARCH関数 問題2

2022-12-07 10:00:00 | office2021
問題2 下表に志布志市 市役所支所の住所が入力してあります。2つ目の「志布志」以下を取り出しなさい。



C2セルで1つめの志布志の位置を求めます。数式は =FIND("志布志",B2)

C3セルでは2つ目の「志布志」の位置を求めています。1つめの「志布志」の次から検索を開始しますので、=FIND("志布志",B2,FIND("志布志",B2)+1) と 開始位置は +1 した位置から求めます。

よって、数式 =RIGHT(B2,LEN(B2)-(FIND("志布志",B2,FIND("志布志",B2)+1)-1)) で求めました。