関数の話です
関数の入ったセルを下に引っ張らなくても先頭行に書くだけで使える
ARRAYFORMULA関数についての備忘録
まずやってみる
スプレッドシートのA列にこのように1~5までの数値を入れておいて
B2セルにこのような関数を入れると
=ARRAYFORMULA(IF(A3:A6 >= 3,"3より大きい","3より小さい"))
B3以降は自動で結果が表示される
A列の個数が決まっていない場合
INDIRECTとCOUNTAで指定した列で値が入っている行までという指定もできる
=ARRAYFORMULA(IF(A2:INDIRECT("A"&COUNTA(A2:A)+1) >= 3,"3より大きい","3より小さい"))
COUNTA関数とINDIRECT関数について
- COUNTA関数は選択範囲に存在する値の個数を返してくれる
- INDIRECT関数はセル参照を文字列で指定できる
上記のfxの中でやっていること
COUNTA(A2:A)
で2行目からの個数を出すと5という数値を得られる
対象の行数は5行目までなので+1して
COUNTA(A2:A)+1
そしてそれを
INDIRECT("A"&COUNTA(A2:A)+1)
とすると
上記のシートの例では
A7
という結果を得られるので
A2からの範囲を指定するためにこう書いて
A2:INDIRECT("A"&COUNTA(A2:A)+1
その結果
A2:A7
という範囲を得られる
ちなみにこんな書き方でできないか試してみましたができませんでした
=ARRAYFORMULA(IF(A2="","",IF(A2:A >= 3,"3より大きい","3より小さい")))
指定したシートの指定した範囲を別の場所に表示することもできる
IMPORTRANGE関数でもできますが、アクセス許可を求められるので
ARRAYFORMULAの方が手軽にできます
D1セルに
=ARRAYFORMULA(A1:B)
と書くとA1からB列の値をD1を起点に表示できる
関連記事
参考
ARRAYFORMULA
https://support.google.com/docs/answer/3093275?hl=ja
INDIRECT関数
https://support.google.com/docs/answer/3093377?hl=ja
COUNTA関数
https://support.google.com/docs/answer/3093991?hl=ja
IMPORTRANGE関数
https://support.google.com/docs/answer/3093340?hl=ja
ARRAYFORMULA
https://support.google.com/docs/answer/3093275?hl=ja
INDIRECT関数
https://support.google.com/docs/answer/3093377?hl=ja
COUNTA関数
https://support.google.com/docs/answer/3093991?hl=ja
IMPORTRANGE関数
https://support.google.com/docs/answer/3093340?hl=ja