スプレッドシートでよく使う関数メモ

意外とスプレッドシートを良く使うので、最近使って便利だった関数をメモしておきます。

JOIN

配列要素を結合するのに使う。 char(10) が改行文字なので、取ってきたデータを1セルの中で表示したい時は JOIN(char(10), 配列) みたいな感じにすることが多い。

https://support.google.com/docs/answer/3094077?hl=ja

QUERY

特定の範囲からデータを取ってくるときに便利。 QUERY(A2:H100,"select A where D like 'kani%'") のようにSQLっぽい記法でデータを抽出できる。

INDEX と MATCH でも似たようなことが出来るけど、QUERYだと簡単に書ける上に範囲指定が1回だけで良いので楽。 https://support.google.com/docs/answer/3093343?hl=ja

IMAGE

URLで指定した画像をセル内に描画できる。便利。 対象のURLに画像が存在するかどうかの分岐はできない(エラーにならない)のが残念。

https://support.google.com/docs/answer/3093333?hl=ja&ref_topic=3105411

DEC2HEX、HEX2DEC

10進数を16進数に変換するやつとその逆。

配列の結合

配列A,配列B,配列C,を結合したい時、{配列A;配列B;配列C} とやると配列の次元を保ったまま結合できる。 {配列A,配列B,配列C} だと3次元配列になり、データ件数が違うとエラーが出る。

応用

A列、B列、C列の中から空文字でない要素をひとつのセルの中で改行して並べる場合、以下のように書ける。

= JOIN(char(10),QUERY({A:A;B:B;C:C},"select Col1 where Col1 <>''"))

簡単。