皆さん、こんにちは。今日はExcelのFILTER関数を使って、特定の列だけを抽出する方法をご紹介します。Excelを使っていると、「このデータから特定の情報だけを取り出したい!」と思うこと、ありますよね。そんな時に役立つのがこのFILTER関数です。
FILTER関数とは?
まず、FILTER関数について簡単におさらいしましょう。FILTER関数は、指定した条件に合致するデータだけを抽出する関数です。例えば、大量のデータの中から「売上が100万円以上」のデータだけを取り出す、といったことができます。
基本的な使い方
FILTER関数の基本的な構文は以下の通りです
=FILTER(配列, 条件, [一致しない場合の値])
– 配列フィルターをかけたいデータ範囲
– 条件抽出したい条件
– 一致しない場合の値条件に合致するデータがない場合に表示する値
例えば、A列からD列までのデータがあり、B列が「売上金額」を示しているとします。この中から売上金額が100万円以上のデータを抽出したい場合、以下のように入力します
=FILTER(A2:D100, B2:B100 >= 1000000, "該当データなし")
特定の列だけを抽出する方法
さて、本題の「特定の列だけを抽出する方法」です。実は、FILTER関数だけでは特定の列を抽出することはできません。しかし、他の関数と組み合わせることで可能になります。
CHOOSECOLS関数との組み合わせ
Excelの新しいバージョンでは、CHOOSECOLS関数を使って特定の列だけを抽出することができます。CHOOSECOLS関数は、指定した列だけを選択する関数です。
例えば、A列からD列までのデータがあり、その中からA列とC列だけを抽出したい場合、以下のように入力します
=CHOOSECOLS(FILTER(D100, 条件), 1, 3)
ここで、「1」はA列、「3」はC列を指しています。
FILTER関数を二重に使う方法
もし、CHOOSECOLS関数が使えない場合は、FILTER関数を二重に使う方法があります。具体的には、以下のように入力します
=FILTER(FILTER(D100, 条件), {1,0,1,0})
この例では、A列とC列だけを抽出しています。配列内の「1」は抽出する列、「0」は抽出しない列を示しています。
具体的な例で解説
それでは、具体的な例で見てみましょう。以下のようなデータがあるとします
| 社員ID | 名前 | 部署 | 売上金額 |
|---|---|---|---|
| 001 | 田中 | 営業 | 1200000 |
| 002 | 佐藤 | 総務 | 800000 |
| 003 | 鈴木 | 営業 | 1500000 |
この中から、売上金額が100万円以上の「社員ID」と「売上金額」だけを抽出したい場合、以下のように入力します
=CHOOSECOLS(FILTER(A2:D4, D2:D4 >= 1000000, "該当データなし"), 1, 4)
結果は以下のようになります
| 社員ID | 売上金額 |
|---|---|
| 001 | 1200000 |
| 003 | 1500000 |
よくある質問や疑問
FILTER関数で複数の条件を指定できますか?
はい、できます。例えば、「売上金額が100万円以上」かつ「部署が営業」のデータを抽出したい場合、以下のように入力します
=FILTER(D100, (B2:B100 >= 1000000) * (C2:C100 = "営業"), "該当データなし")
ここで、「*」はAND条件を示しています。
FILTER関数でOR条件を指定することは可能ですか?
はい、可能です。例えば、「売上金額が100万円以上」または「部署が営業」のデータを抽出したい場合、以下のように入力します
=FILTER(D100, (B2:B100 >= 1000000) + (C2:C100 = "営業"), "該当データなし")
ここで、「+」はOR条件を示しています。
まとめ
今回は、ExcelのFILTER関数を使って特定の列だけを抽出する方法をご紹介しました。FILTER関数は非常に便利な関数ですが、特定の列を抽出する際には他の関数との組み合わせが必要になることがあります。ぜひ、実際の業務で活用してみてください。



コメント