動的配列数式。 知っておくと便利!【ExcelのTips】「SPILL/スピル」とは?|動的配列数式

%%ItemTitle%%

動的配列数式

カスタム関数から複数の結果を返す Return multiple results from your custom function• この記事の内容 隣接するセルに返される、カスタム関数から複数の結果を返すことができます。 You can return multiple results from your custom function which will be returned to neighboring cells. この動作は spilling と呼ばれます。 This behavior is called spilling. カスタム関数が結果の配列を返す場合は、動的配列数式と呼ばれます。 When your custom function returns an array of results, it's known as a dynamic array formula. Excel の動的配列数式の詳細については、「動的配列」」を参照してください。 For more information on dynamic array formulas in Excel, see. 次の図は、関数が隣接するセルにどのように分解されるかを示して SORT います。 The following image shows how the SORT function spills down into neighboring cells. カスタム関数は、次のような複数の結果を返すこともできます。 Your custom function can also return multiple results like this. 動的配列数式であるカスタム関数を作成するには、値の2次元配列を返す必要があります。 To create a custom function that is a dynamic array formula, it must return a two-dimensional array of values. 結果が、既に値を持つ隣接するセルにスピルされる場合、数式はエラーを表示し SPILL! If the results spill into neighboring cells that already have values, the formula will display a SPILL! error. 次の例は、分解した動的配列を返す方法を示しています。 The following example shows how to return a dynamic array that spills down. The following example shows how to return a dynamic array that spills right. The following example shows how to return a dynamic array that spills both down and right. 関連記事.

次の

動的配列②【スピルと動的配列数式が世界のExcelを変えていく】

動的配列数式

Spread. Sheetsでは、配列数式を拡張した動的配列数式がサポートされています。 使用例 動的配列数式は、セル範囲を自動スピルおよび範囲指定することで、複数の結果を出力として返し、スプレッドシート内の配列数式を簡単ですばやく処理できます。 動的配列数式は、次の場合に役立ちます。 スプレッドシートでデータキャッシュを効果的に利用する場合。 低メモリフットプリント(コンパクト)に加え、ランダムアクセスを促進するキャッシュフレンドリーなデータ構造を構築する場合。 動的配列には、サイズと容量に関する情報を保存するためのわずかな固定追加オーバーヘッドしかないので、このようなデータ構造が可能です。 UNIQUE 関数 UNIQUE関数は、セル範囲内のすべての一意の値の一覧を返します。 FILTER 関数 FILTER関数を使用することで、定義されている条件に基づいてセル範囲をフィルタできます。 フィルタ操作では、単一または複数の条件を適用できます。 RANDARRAY 関数 RANDARRAY 関数は、ランダムな数値の配列を返します。 行と列の数、最小値と最大値、および整数または 10 進数の値を返すかどうかを指定できます。 SORT 関数 SORT 関数を使用することで、範囲または配列のデータを並べ替えます。 本関数の結果は、昇順(増加)または降順(減少)で並べている値の動的配列を持つ範囲になります。 または、SORTとUNIQUEの両方の関数を組み合わせることもできます。 SORT BY 関数 SORTBY 関数は、範囲または配列の内容を、対応する範囲または配列の値に基づいて並べ替えます。 SEQUENCE 関数 SEQUENCE関数は、連続した数値の一覧を昇順で配列として返します。 SINGLE 関数 SINGLE関数は、共通部分ロジックを使用して、単一の値、単一のセル範囲、またはエラーを返します。 スピル配列数式 スプレッドシートで一般的な数式を使用する際、計算するすべてのセルに数式を手動でコピーする必要があるため、非常に不便となります。 セルに動的配列数式が使用されている場合、配列の要素は隣接する空のセルにスピルされ、複数の値が返されます。 スピル-すべての数式が配列内の複数の値を返す場合、計算されたデータが隣接するセルに自動的に入力される動作は、スピルと呼ばれます。 複数の結果を返す可能性がある数式は、動的配列数式と呼ばれます。 スピル配列数式- スプレッドシートのセル範囲にて複数の値を返し、正常にスピルされている数式を、スピル配列数式と呼ばれます。 スピル範囲演算子- スピル範囲演算子( )を使用することで、スピル範囲全体を参照できます。 数式が複数の値を返す場合、 スピルのエラーが返されます。 動的配列関数を有効にする スプレッドシートで動的配列関数を使用するには、次のサンプルコードで示すように、動的配列を有効にする必要があります。 Spread. Sheets. Workbook document. spread. options. setText 0, 0, "動的配列関数" ; activeSheet. getCell 0, 0. backColor "LightGray" ; activeSheet. addSpan 0, 0, 1, 3, GC. Spread. Sheets. SheetArea. activeSheet. setText 2, 0, "名前" ; activeSheet. getCell 2, 0. backColor "LightGray" ; activeSheet. setText 3, 0, "Larry" ; activeSheet. setText 4, 0, "Safeway" ; activeSheet. setText 5, 0, "Safeway" ; activeSheet. setText 6, 0, "Raley" ; activeSheet. setText 7, 0, "Vallarta" ; activeSheet. setText 8, 0, "Safeway" ; activeSheet. setText 9, 0, "Raley" ; activeSheet. setText 10, 0, "Larry" ; activeSheet. setText 11, 0, "Gilbert" ; activeSheet. setText 12, 0, "Larry" ; activeSheet. setText 13, 0, "Larry" ; activeSheet. setText 14, 0, "Raley" ; activeSheet. setColumnWidth 0, 120. 0, GC. Spread. Sheets. SheetArea. viewport ; activeSheet. setText 2, 1, "年齢" ; activeSheet. getCell 2, 1. backColor "LightGray" ; activeSheet. setText 3, 1, "32" ; activeSheet. setText 4, 1, "23" ; activeSheet. setText 5, 1, "23" ; activeSheet. setText 6, 1, "39" ; activeSheet. setText 7, 1, "18" ; activeSheet. setText 8, 1, "23" ; activeSheet. setText 9, 1, "39" ; activeSheet. setText 10, 1, "32" ; activeSheet. setText 11, 1, "19" ; activeSheet. setText 12, 1, "32" ; activeSheet. setText 13, 1, "32" ; activeSheet. setText 14, 1, "39" ; activeSheet. setColumnWidth 1, 50. 0, GC. Spread. Sheets. SheetArea. activeSheet. setText 2, 2, "一意のリスト" ; activeSheet. getCell 2, 2. backColor "LightBlue" ; activeSheet. setFormula 3, 2, "UNIQUE A4:A15 " ; activeSheet. setColumnWidth 2, 90. 0, GC. Spread. Sheets. SheetArea. activeSheet. setText 2, 3, "ソートされた名前" ; activeSheet. getCell 2, 3. backColor "LightBlue" ; activeSheet. setFormula 3, 3, "SORT A4:A15 " ; activeSheet. setColumnWidth 3, 90. 0, GC. Spread. Sheets. SheetArea. activeSheet. setText 2, 4, "ソートされた一意の値" ; activeSheet. getCell 2, 4. backColor "LightBlue" ; activeSheet. setFormula 3, 4, "SORT C4 " ; activeSheet. setColumnWidth 4, 90. 0, GC. Spread. Sheets. SheetArea. activeSheet. setText 2, 5, "ソートされた一意の値" ; activeSheet. getCell 2, 5. backColor "LightBlue" ; activeSheet. setFormula 3, 5, "SORT UNIQUE A4:A15 " ; activeSheet. setColumnWidth 5, 90. 0, GC. Spread. Sheets. SheetArea. activeSheet. setText 2, 6, "SortBy" ; activeSheet. getCell 2, 6. backColor "LightBlue" ; activeSheet. setFormula 3, 6, "SORTBY A4:B15, B4:B15 " ; activeSheet. setColumnWidth 6, 90. 0, GC. Spread. Sheets. SheetArea. setColumnWidth i, 70. 0, GC. Spread. Sheets. SheetArea. viewport ; activeSheet. setText 3, 0, "地域" ; activeSheet. getCell 3, 0. backColor "LightGray" ; activeSheet. setText 4, 0, "東" ; activeSheet. setText 5, 0, "北" ; activeSheet. setText 6, 0, "西" ; activeSheet. setText 7, 0, "東" ; activeSheet. setText 8, 0, "東" ; activeSheet. setText 9, 0, "東" ; activeSheet. setText 10, 0, "西" ; activeSheet. setText 11, 0, "南" ; activeSheet. setText 12, 0, "北" ; activeSheet. setText 13, 0, "北" ; activeSheet. setText 14, 0, "東" ; activeSheet. setText 15, 0, "南" ; activeSheet. setText 16, 0, "西" ; activeSheet. setText 3, 1, "販売員" ; activeSheet. getCell 3, 1. backColor "LightGray" ; activeSheet. setText 4, 1, "Tom" ; activeSheet. setText 5, 1, "Fred" ; activeSheet. setText 6, 1, "Amy" ; activeSheet. setText 7, 1, "Sal" ; activeSheet. setText 8, 1, "Hector" ; activeSheet. setText 9, 1, "Xi" ; activeSheet. setText 10, 1, "Amy" ; activeSheet. setText 11, 1, "Sal" ; activeSheet. setText 12, 1, "Fred" ; activeSheet. setText 13, 1, "Tom" ; activeSheet. setText 14, 1, "Hector" ; activeSheet. setText 15, 1, "Sravan" ; activeSheet. setText 16, 1, "Xi" ; activeSheet. setText 3, 2, "製品" ; activeSheet. getCell 3, 2. backColor "LightGray" ; activeSheet. setText 4, 2, "りんご" ; activeSheet. setText 5, 2, "ぶどう" ; activeSheet. setText 6, 2, "梨" ; activeSheet. setText 7, 2, "バナナ" ; activeSheet. setText 8, 2, "りんご" ; activeSheet. setText 9, 2, "バナナ" ; activeSheet. setText 10, 2, "バナナ" ; activeSheet. setText 11, 2, "梨" ; activeSheet. setText 12, 2, "りんご" ; activeSheet. setText 13, 2, "ぶどう" ; activeSheet. setText 14, 2, "ぶどう" ; activeSheet. setText 15, 2, "りんご" ; activeSheet. setText 16, 2, "ぶどう" ; activeSheet. setText 3, 3, "単位" ; activeSheet. getCell 3, 3. backColor "LightGray" ; activeSheet. setText 4, 3, "6380" ; activeSheet. setText 5, 3, "2344" ; activeSheet. setText 6, 3, "3434" ; activeSheet. setText 7, 3, "5461" ; activeSheet. setText 8, 3, "2341" ; activeSheet. setText 9, 3, "3234" ; activeSheet. setText 10, 3, "6532" ; activeSheet. setText 11, 3, "7323" ; activeSheet. setText 12, 3, "2334" ; activeSheet. setText 13, 3, "8734" ; activeSheet. setText 14, 3, "1932" ; activeSheet. setText 15, 3, "7682" ; activeSheet. setText 16, 3, "3293" ; activeSheet. setText 0, 4, "製品:" ; activeSheet. getCell 0, 4. backColor "LightGray" ; activeSheet. setText 0, 5, "りんご" ; activeSheet. setText 1, 4, "地域:" ; activeSheet. getCell 1, 4. backColor "LightGray" ; activeSheet. setText 1, 5, "東" ; activeSheet. setText 2, 5, "1つの条件に基づいて実行されているフィルタリング" ; activeSheet. getCell 2, 5. backColor "LightBlue" ; activeSheet. addSpan 2, 5, 1, 4, GC. Spread. Sheets. SheetArea. viewport ; activeSheet. setText 3, 5, "地域" ; activeSheet. getCell 3, 5. backColor "LightGray" ; activeSheet. setText 3, 6, "販売員" ; activeSheet. getCell 3, 6. backColor "LightGray" ; activeSheet. setText 3, 7, "製品" ; activeSheet. getCell 3, 7. backColor "LightGray" ; activeSheet. setText 3, 8, "単位" ; activeSheet. getCell 3, 8. activeSheet. Spread. Sheets. SheetArea. viewport ; activeSheet. setText 12, 5, "地域" ; activeSheet. getCell 12, 5. backColor "LightGray" ; activeSheet. setText 12, 6, "販売員" ; activeSheet. getCell 12, 6. backColor "LightGray" ; activeSheet. setText 12, 7, "製品" ; activeSheet. getCell 12, 7. backColor "LightGray" ; activeSheet. setText 12, 8, "単位" ; activeSheet. getCell 12, 8. backColor "LightGray" ; activeSheet. setText 11, 5, "複数の条件に基づいて実行されているフィルタリング" ; activeSheet. getCell 11, 5. backColor "LightBlue" ; activeSheet. addSpan 11, 5, 1, 4, GC. Spread. Sheets. SheetArea. activeSheet. Spread. Sheets. SheetArea. setColumnWidth i, 130. 0, GC. Spread. Sheets. SheetArea. FormulaactiveSheet. Columns[0, 7]. setText 0, 0, "SEQUENCE 4,5 Function" ; activeSheet. addSpan 0, 0, 1, 2, GC. Spread. Sheets. SheetArea. viewport ; activeSheet. getCell 0, 0. backColor "SkyBlue" ; activeSheet. setFormula 1, 0, "SEQUENCE 4,5 ", GC. Spread. Sheets. SheetArea. activeSheet. setText 6, 0, "RANDARRAY 5,3 Function" ; activeSheet. addSpan 6, 0, 1, 2, GC. Spread. Sheets. SheetArea. viewport ; activeSheet. getCell 6, 0. backColor "SkyBlue" ; activeSheet. setFormula 7, 0, "RANDARRAY 5,3 ", GC. Spread. Sheets. SheetArea. activeSheet. ; activeSheet. addSpan 13, 0, 1, 4, GC. Spread. Sheets. SheetArea. viewport ; activeSheet. getCell 13, 0. backColor "SkyBlue" ; activeSheet. setValue 14, 0, "A" ; activeSheet. setValue 14, 1, "B" ; activeSheet. setValue 14, 2, "C" ; activeSheet. setValue 14, 3, "D" ; activeSheet. setValue 14, 4, "E" ; activeSheet. setFormula 15, 2, " A15:E15 ", GC. Spread. Sheets. SheetArea. viewport ;.

次の

Excel スピル(動的配列数式) とバージョン間の互換性

動的配列数式

SPILL/スピル 配列とも呼ばれる一連の値を返す Excel の数式は、これらの値を隣接するセルに返す。 この動作はスピルと呼ばれます。 数式の結果が複数の値になり、それらの値が隣接するセルに配置されていることを意味します。 通常、Excelの数式は1セルにひとつの数式を入れますが、これを、範囲を指定して数式の結果をまとめて出力することができるようになる機能です。 Office365やExcel2016以降の新機能として追加されました。 通常のセル参照 「=セル番号」で値を参照します。 オートフィルで完成です。 各セルが左のセルの値を参照しています。 スピルで作成 「=A1:A10」といった範囲を指定します。 すると、不思議なことに、下のセルにダダっと、値が入ります。 これが、「スピル」です。 応用 列同士の掛け算にも応用できます。 できました! スピルを使うと、不思議なことに、ひとつのセルに数式を入れるだけで他のセルにも計算結果が入ります! 「スピル範囲が空白ではありません」 範囲内に何かデータが入ってしまうと結果が表示出来ないのでエラーになってしまいます。 まとめ スピルを上手く使うと、列に計算結果を一気に表示したい時などに便利です。

次の