4/23/2025

Excel。横長の表から必要な列だけを手早く抽出するにはどうしたらいい【Columns】

Excel。横長の表から必要な列だけを手早く抽出するにはどうしたらいい

<FILTER+COUNTIF関数>

横長の表から、必要な列だけを抽出するとなると、なかなか面倒です。

FILTER+COUNTIF関数

今回は、4月から6月の売上列を抽出した表をつくりたいわけです。


サンプルなのでデータ量が多くありません。


このような場合、コピペで対応できるとは思いますが、データ量が多い場合、列を選択するだけでも大変です。


そこで、FILTER関数とCOUNTIF関数を組み合わせるだけで、手早く、抽出した表をつくることができます。


では早速やってみましょう。

事前準備として、抽出したい列の見出し行を用意します。


A7:E7に抽出したい見出しを用意しました。


A8に次の数式を設定します。


=FILTER(A2:H5,COUNTIF(A7:E7,A1:H1))


これだけで、抽出することができました。

 

FILTER関数は、スピル機能対応なので、オートフィルで数式をコピーする必要はありません。


これで、完成しました。

では、この数式を確認しておきましょう。


FILTER関数は、抽出する関数です。

最初の引数は、「配列」。データなので、A2:H5を範囲します。

見出しは不要です。


2つ目の引数は、「含む」。

条件です。

この引数に、1行の配列を指定すると、列の抽出を行うことができます。


そこで、COUNTIF関数をつかって、用意した見出しと一致したら「1」と算出されてます。

1となった列が抽出されるという仕組みです。


それでは、データタブの「数式の検証」をつかって確認してみます。


数式の計算ダイアログボックスにある検証ボタンを2度クリックします。


COUNTIF関数の結果を見ると、用意した見出しのところが「1」になっていることが確認できます。


ただし、この数式には、欠点があります。

左から同じ順番でないと、抽出することができません。


6月売上,5月売上,4月売上 というように、順番を変更してしまうと、抽出はされますが、見出しと合致しないデータになってしまいます。


このように、FILTER関数とCOUNTIF関数を組み合わせることで、手早く指定した表を抽出することができます。