LANG SELRCT

Apps Script Reference  (Create: Create new Spreadsheet | Create new Apps Script

Sunday, April 5, 2020

ArrayformulaはA1Notationの箇所を対象範囲に変えて使う


タイトルに思いを込めましたが、Arrayformulaを使う際の備忘録です。


公式のヘルプを見たけれどよくわからなかったので、手元で試した結果を書き残します。

ドキュメント エディタ ヘルプ
ARRAYFORMULA


今回試したこと
  • シートのA, B, C列の値を/でつなげて表示する

以下2つの方法で試します。
  1. Arrayformulaではなくセル毎に関数を入れる方法
  2. Arrayformulaで処理する方法

1はE2に「=A2&"/"&B2&"/"&C2」を入れてE6まで引っ張って入力する。
2はG2に「=Arrayformula(A2:A6&"/"&B2:B6&"/"&C2:C6)」を入れるだけ。


デモ用に作ったシートはこんな感じです。


ポイント

E列に入っている「=A2&"/"&B2&"/"&C2」〜「=A6&"/"&B6&"/"&C6」

G2では「=Arrayformula(A2:A6&"/"&B2:B6&"/"&C2:C6)」
という関数で表現しました。


理解を深めるために色分けして分解してみます。

E列の
=A2&"/"&B2&"/"&C2 〜 =A6&"/"&B6&"/"&C6



G2で
=Arrayformula(
  A2:A6&"/"&B2:B6&"/"&C2:C6
)

と表現しています。


E列のA2をG2では対象範囲であるA2:A6としています。
E列のB2もG2では対象範囲であるB2:B6としています。
E列のC2も同様にG2ではC2:C6と範囲で表現しています。

つまり
E列では「対象のセル番地」で計算しますが、G2では「対象範囲」で計算しています。


ちなみに
「A1, B1などセル番地で表記」することを「A1Notation」と表現するようです。


なので
ArrayformulaはA1Notationの箇所を対象範囲に変えて使う
というタイトルにしました。


以上です。


関連記事

参考

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

A1 notation
https://developers.google.com/sheets/api/guides/concepts#a1_notation

Latest post

Google Apps Scriptでスライドのページを指定して複数の図形を追加したい(Google Apps Script)

Googleスライドのページを指定して、 複数の図形(とテキスト)を追加したくて書いたコードです。 Code.gs const values = [ "hello" , "hey" , "hi" ]; con...