いきなり答える備忘録

Google Workspace・Microsoft 365・LibreOfficeなどに関するメモ

(Gスプレッドシート)FILTER関数で列を抽出することができる

 GoogleスプレッドシートのFILTER関数は条件に該当する行を抽出するだけでなく、条件に該当する列を抽出することができます。

  • FILTER関数で第2引数以降(条件)として行方向の配列を指定すれば、列が抽出されます。

手順

 C2:G5の範囲にデータが並んでいます。
 一般的なデータの配置と異なり、縦1列を1つのレコードとするデータとなっています。

 ここでC7セルに次のように入力します。

 C7セル

=FILTER(C2:G5,C4:G4="神奈川県")

 意味合いとしては「住所が神奈川県である列を抽出する」というものになります。
 「C4:G4="神奈川県"」と、行方向の配列に条件を設定しているのがポイントで、これではたして列が抽出できるのか気になりますが……


 実際に列が抽出されます。

 Googleスプレッドシートではレコード=行とみなす操作や設定が多いので見落としやすいですが、FILTER関数ではこのように列を抽出することもできます。


 もっと端的な例です。
 B4セルに次のように入力し、B2:G2のデータの列間の空白(空白セル及び空文字列)を詰めて表示しています。

 B4セル

=FILTER(B2:G2,B2:G2<>"")


 なお、ちょっとした応用として次のような例が挙げられます。

www.officeisyours.com

「抽出する列を指定する」という場合

 本記事で紹介したのは「それぞれの列が条件を満たすか判定して抽出する」という例ですが、よくある別のニーズとして「基本的には条件を満たす行を抽出するものの、必要な列以外を除いて取得したい」というものがあります。これについては次の記事で紹介しています。

www.officeisyours.com