更新日:、 作成日:
エクセル 文字列やセルを検索する
はじめに
エクセルの文字列を検索する方法を紹介します。
=XLOOKUP(A1,B1:B3,C1:C3) のようにして、セル「A1」の値を B 列から検索して最初に一致する C 列の値を抽出できます。
=FILTER(A1:A3,B1:B3="エクセル") のようにして、B 列が「エクセル」のセルに対応する A 列の範囲を抽出できます。
=FIND("A",A1) のようにして、セルの中にある A の文字の位置を検索できます。
範囲内に文字があるかどうかや、特定の文字が入っているセルなどを検索できます。
セルを検索して抽出する
セルを検索して抽出するには「FILTER 関数」を使用します。
下記で紹介している「セルを検索して抽出する、2021 以降」や「セルを検索して抽出する、2019 以前」の方法も「FILTER 関数」でできます。
値を検索して抽出する
名前が エクセル の値を抽出します。
- 第 1 引数に「結果範囲」を入力します。
- 第 2 引数に「条件」を入力します。
条件に一致するセルの範囲を抽出する
値が 30 以上の行を抽出します。
- 第 1 引数に「結果範囲」を入力します。
- 第 2 引数に「条件」を入力します。
結果が複数のセルに表示されます。これはスピルという機能によるものです。
特定の文字が入っている行を抽出する
名前に E の文字が入っている行を抽出します。「FIND 関数」または「SEARCH 関数」を使用して特定の文字が入っているか部分一致で検索できます。
- FIND 関数:大文字小文字を区別します。
- SEARCH 関数:大文字小文字を区別しません。
=FILTER(B3:D7,IFERROR(SEARCH("E",B3:B7),FALSE))
検索値が見つからないときはエラーになるので「IFERROR 関数」から FALSE にして、含めないようにできます。
最初の行だけ抽出する
「FILTER 関数」は条件に一致するすべての値を取得します。最初に見つかった値だけを取得するには「INDEX 関数」を使用します。
値が 30 以上の最初の行を抽出します。「INDEX 関数」を使用して何番目の行か指定できます。
=INDEX(FILTER(B3:D7,D3:D7>=30),2,0)
=FILTER(B3:D7,D3:D7>=30)
または、下記の「セルを検索して抽出する、2021 以降」や「セルを検索して抽出する、2019 以前」方法で行います。
スポンサーリンク
セルを検索して抽出する、2021 以降
抽出されるのは 1 つのセルや 1 行または 1 列の範囲です。複数のセルの範囲を抽出するには下記の「セルの範囲を抽出する」をご覧ください。
セルを検索して抽出するには「XLOOKUP 関数」を使用します。
値を検索して抽出する
No. を検索して名前を抽出します。
- 第 1 引数に「検索値」を入力します。
- 第 2 引数に「検索範囲」を入力します。
- 第 3 引数に「結果範囲」を入力します。
特定の文字が入っているセルを検索して抽出する
E の文字が入っているセルを検索して名前を抽出します。
- 第 1 引数にワイルドカードを入力します。
- 第 5 引数に 2 を入力してワイルドカードを有効にします。
セルの範囲を抽出する
第 3 引数にバージョンと個数の複数列を指定してセルの範囲を抽出します。
結果がセルの範囲になるので「SUM 関数」などの引数に指定できます。
結果が複数のセルに表示されます。これはスピルという機能によるものです。
セルを検索して抽出する、2019 以前
抽出されるのは 1 つのセルです。複数のセルの範囲を抽出するには下記の「セルの範囲を抽出する」をご覧ください。
セルを検索して抽出するには「INDEX 関数」と「MATCH 関数」を使用します。
列番号に対象範囲の何列目を抽出するか番号を入力します。
値を検索して抽出する
No. を検索して名前を抽出します。
特定の文字が入っているセルを検索して抽出する
E の文字が入っているセルを検索して名前を抽出します。
「MATCH 関数」の引数「検索値」にワイルドカードを入力します。
セルが存在するか検索する
セルの範囲内に文字が入っているかなどを検索するには「COUNTIF 関数」を使用します。
セルの範囲に文字があるかをカウントします。条件に =* を入力します。
A の文字が入っているセルがあるかをカウントします。条件に =*A* を入力します。
大文字と小文字を区別しません。
「IF 関数」を使用してセルが存在するときと、見つからないときの処理を入力できます。
文字列を検索する
セルの中にその文字列があるか検索するには「FIND 関数」または「SEARCH 関数」を使用します。
- FIND 関数:大文字小文字を区別します。
- SEARCH 関数:大文字小文字を区別しません。
文字列を検索する
ABCDE の中に 検索ワード が何文字目にあるか位置を検索します。
=SEARCH(B4,C4)
見つからないときにエラーにしたくないときは「IFERROR 関数」を使用します。
=IFERROR(SEARCH(B4,C4),FALSE)
「IF 関数」を使用してセルが存在するときと、見つからないときの処理を入力できます。
=IF(IFERROR(SEARCH(B3,C3),FALSE),"存在する","見つからない")
この結果から特定の文字列の範囲を抽出したり置換したりできます。詳しくは次のページをご覧ください。
特定の文字で始まるか検索する
名前が E から始まるか検索します。「IFERROR 関数」を使用して、始まらないときに FALSE にできます。
=IFERROR(SEARCH("E",B4)=1,FALSE)
結果が 1 のとき、その文字から始まります。
スポンサーリンク