いきなり答える備忘録

G Suite・Microsoft 365・LibreOfficeなどに関するメモと日々の実験

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

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

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

手順

f:id:accs2014:20200208170538p:plain:right:w650

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

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

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

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

f:id:accs2014:20200208165700p:plain:right:w650

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

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

f:id:accs2014:20200208165704p:plain:right:w550

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

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