ExcelのFILTER関数は、特定の条件に一致するデータを抽出するための非常に便利なツールです。しかし、”○○で始まる”または”○○で終わる”といった部分一致の条件を設定することは直接的にはできません。そこで、この記事では、LET関数と組み合わせて、部分一致の条件を満たすデータを抽出する方法を紹介します。
サンプルテーブル
\ | A | B |
---|---|---|
1 | 名前 | 対象文字列 |
2 | 山田 | 山 |
3 | 岡山 | 山 |
4 | 佐藤 | 山 |
5 | 岸川 | 山 |
セル参照を使った部分一致抽出
まずはセル参照を使って”○○で始まる”データを抽出する方法を見てみましょう。以下の計算式を使います:
=FILTER(A2:A5,LEFT(A2:A5,LEN(B2))=B2)
これにより、A列のデータのうち、B2セル(”山”)で始まるデータが抽出されます。
同様に、”○○で終わる”データを抽出するには以下の計算式を使います:
=FILTER(A2:A5,RIGHT(A2:A5,LEN(B2))=B2)
これにより、A列のデータのうち、B2セル(”山”)で終わるデータが抽出されます。
LET関数を使った部分一致抽出
次に、式内で変数が利用できるLET関数を使って数式内で直接対象文字列を指定する方法を見てみましょう。LET関数を使用すると、複数の場所で使用する値や計算結果に名前を付けて参照することができます。これにより、数式が見やすくなり、計算速度も向上します。
“○○で始まる”データを抽出するには以下の計算式を使います:
=LET(myString, "山", FILTER(A2:A5,LEFT(A2:A5, LEN(myString))=myString))
これにより、A列のデータのうち、”山”で始まるデータが抽出されます。ここで、LET関数を使って”山”という文字列にmyStringという名前を割り当てています。
同様に、”○○で終わる”データを抽出するには以下の計算式を使います:
=LET(myString, "山", FILTER(A2:A5,RIGHT(A2:A5, LEN(myString))=myString))
これにより、A列のデータのうち、”山”で終わるデータが抽出されます。
まとめ
FILTER関数は、特定の条件に一致するデータを抽出する強力なツールですが、部分一致の条件を直接設定することはできません。しかし、この記事で紹介したように、LEFT、RIGHT、LEN関数やLET関数と組み合わせることで、”○○で始まる”または”○○で終わる”といった部分一致の条件を満たすデータを抽出することが可能になります。これらの関数をうまく活用して、データ分析の幅を広げてみてください。
コメント