一.ADD2ARRAY
ADD2ARRAY(array, insertArray, start):insertArrayのすべての要素を配列arrayのstart番目に挿入し、新たな配列を返します。
例:
ADD2ARRAY([3, 4, 1, 5, 7], [23, 43, 22], 3)は[3, 4, 23, 43, 22, 1, 5, 7]を返します。
ADD2ARRAY([3, 4, 1, 5, 7], "テスト", 3)は[3, 4, "テスト", 1, 5, 7]を返します。
注:startが1より小さい数値、或いはstartパラメータを書き込まない場合、デフォルトで配列の一番目から配列要素を挿入することになります。
二.ARRAY-配列を返す
1.概要
| 文法 | ARRAY(arg1,arg2...) | arg1,arg2,...からなる配列を返します。[arg1,arg2,...]は文字列または数字で構成できます。 |
|---|---|---|
パラメータ | number1,number2,… | 1からnまでのパラメータ、或いは指定したセル範囲内のすべての数値。 |
2.注意事項
数式を使用して配列のセルをネストする場合、もし配列のセルが実際に単一値なら単一値として処理されます。セルが配列として強制するためには、ARRAY数式を使う必要があります(複数値の場合は必要ありません)。たとえばB2=ARRAY(1)のように、INARRAY関数を使用すると、次の図に示すように、INARRAY(1,ARRAY(B2))と書くべきです。

INARRAY(1,B2)を書くと、次の図に示すように、有効なデータが返されません。

3.例
| 数式 | 結果 |
|---|---|
| ARRAY("hello") | hello |
| ARRAY("hello","world") | hello,world |
| ARRAY("hello",98) | hello,98 |
| ARRAY(67,98) | 67,98 |
三.GREPARRAY
GREPARRAY(array,fn)
array配列をfn条件でフィルタリングし、フィルタリングされた新しい配列を返します。
| パラメータ | 意味 | パラメータフォーマット |
|---|---|---|
| array | フィルタリングしたい配列。空白不可 | 配列形式、例えば[4,2,6,8,7] |
| fn | フィルタ条件 | item/indexに演算条件を加えます。例えば、item !=3 itemフォーマット:配列値に基づいてフィルタリングします。 indexフォーマット:配列値の番号に基づいてフィルタリングします |
例:
GREPARRAY([3,4,2,3,6,8,7], item != 3)は[4,2,6,8,7]を返します。
GREPARRAY([3,4,2,3,6,8,7], index!= 3)は [3,4,3,6,8,7]を返します。
注:fnパラメータはフォーマット要求を満たしていなければなりません。そうでないと、フィルタリングは有効になれません。
例えば、名前がitem/indexとして定義されていない場合、戻り値は元の配列になります。
四.INARRAY
INARRAY(co, array)
配列array内のcoの位置を返します。coがarrayの中にない場合は0を返します。
例:
String[] arr = {"a","b","c","d"} の場合、
INARRAY("b", arr)は2を返します。
INARRAY("e", arr)は0を返します。
五.INDEXOFARRAY
INDEXOFARRAY(array, index)
配列arrayのindex番目の要素を返します。
array:要素を返す必要がある配列。
index:配列要素の下付き文字。
例:
INDEXOFARRAY(["一番目", "二番目", "三番目"], 2)なら、"二番目"を返します。
セルに=indexofarray(["a","b","c","d"],3)を入力すると、配列の3番目の位置のデータを取得します。即ち、戻り値はcとなります。
六.MAPARRAY
MAPARRAY(array, fn)
配列を一括処理し、配列内の要素をfnで計算します。
Array:変換する配列です。
fn:配列項目を処理する関数です。
例:
MAPARRAY([3,4,2,3,6,8,7], item != 3)は[false,true,true,false,true,true,true]を返します。
MAPARRAY([3,4,2,-3,6,8,-5],if(item>0,1,0))は[1,1,1,0,1,1,0]を返します。
七.RANGE
1.概要
| 文法 | RANGE() | RANGE(from,to,step):整数fromから始まり、ステップごとのサイズをstepとし、整数toまでの数列です。 RANGE(from,to):デフォルトのstepは1です。整数fromから始まり、毎回1ずつ増分し、整数toまでの数列です。 RANGE(to):デフォルトfromは1、stepは1です。1から始まり、毎回1ずつ増分し、整数toまでの数列です。 |
|---|---|---|
パラメータ1 | From | 初期値、整数型、入力されていない場合はデフォルトの1になります |
パラメータ2 | To | 終了値、整数型 |
パラメータ3 | Step | ステップのサイズ、入力されていない場合はデフォルトの1になります |
戻り値 | Array | - |
2.例
| 数式 | 結果 | 備考 |
|---|---|---|
RANGE(4) | 1,2,3,4 | 1から始まり、4まで毎回+1します |
RANGE(-5) | null | 1から始まり、毎回+1で、-5までできないためnull値を返します |
RANGE(-1,3) | -1,0,1,2,3 | -1から始まり、3まで毎回+1します |
RANGE(6,-1,-2) | 6,4,2,0 | 6から始まり、-1まで毎回-2します |
RANGE(4,1,1) | null | 4から始まり、毎回+1で、1までできないためnull値を返します |
RANGE(1,6,2) | 1,3,5 | 1から始まり、6まで毎回+2します |
八.REMOVEARRAY
REMOVEARRAY(array, start, deleteCount)
配列arrayの中に、start番目の要素からのdeleteCount個の配列要素を削除し、削除された後の配列を返します。
例:
REMOVEARRAY([3, 4, 4, 2, 6, 7, 87], 4, 2)は[3, 4, 4, 7, 87]を返します。
九.REVERSEARRAY
REVERSEARRAY(array)
配列の逆配列を返します。
例:
REVERSEARRAY(["一番目", "二番目", "三番目"])は["三番目", "二番目", "一番目"]を返します
REVERSEARRAY関数を使用する場合、パラメータは配列でなければなりません。パラメータは配列でない場合は、SPLIT関数で配列に変換しなければなりません。
十.SLICEARRAY
SLICEARRAY(array, start, end)
startからend番目の要素(end番目の要素を含む)までの配列を返します。
例:
SLICEARRAY([3, 4, 4, 5, 1, 5, 7], 3, 6)は[4, 5, 1, 5]を返します。
SLICEARRAY([3, 4, 4, 5, 1, 5, 7], 3)は[4, 5, 1, 5, 7]を返します。
注:endパラメータを使用しない場合、startから配列の終了までの要素を返します。
十一.SORTARRAY
SORTARRAY(array)
配列arrayの要素を並べ替えた後の配列を返します。デフォルトは昇順です。
例:
SORTARRAY([3, 4, 4, 5, 1, 5, 7])は[1, 3, 4, 4, 5, 5, 7]を返します。
注:配列arrayの要素の型は同じでなければなりません。また、比較可能でなければなりません。
十二.UNIQUEARRAY——配列の重複排除
UNIQUEARRAY(array)
重複の配列を削除し、配列arrayの中にある重複な要素を削除することにより、最初に出た要素を保持する順序で、重複排除後の配列を返します。
例:
UNIQUEARRAY([14, 2, 3, 4, 3, 2, 5, 6, 2, 7, 9, 12, 3])は[14, 2, 3, 4, 5, 6, 7, 9, 12]を返します。
たとえば、組み込みのFRDemoJPの販売量データテーブルを使用して、A2セルを商品名称フィールドにドラッグし、データを一覧表示に設定してから、B2セルにUNIQUEARRAY(A2)式を入力し、次の図に示すように、展開方向を縦方向に、左の親セルをなしに設定します。


テンプレートを保存し、改ページプレビューをクリックすると、次の図のように重複が削除された商品名称が表示されます。

十三.JOINARRAY——配列を文字列に変換する方法
JOINARRAY(array,sepa)
sepaを区切り記号とする文字列を返します。
array:[arg1,arg2...]形式の配列。
sepa:区切り記号。
例:
JOINARRAY([1,2],";")は1;2を返します。
JOINARRAY(['hello','world'],"-")はhello-worldを返します。
例:
セルA1:A6の値は、リンゴジュース、ミルク、オレンジジュース、チョコレート、ビーフの配列で、“;”で分割する文字列に変換すれば、次の図に示すようになります。

下図のように、普通帳票を作成し、セルA2、A3、A4、A5、A6にそれぞれリンゴジュース、ミルク、オレンジジュース、チョコレート、ビーフを入力し、セルB2:B5を連結し、数式=joinarray(A2:A6,";")を入力します。
