動的配列・スピル入門
TAKE関数を見て理解する
配列の先頭または末尾から、指定した数の行や列を取り出して返す関数です。
3つのポイント
- 元になる配列を指定する
- 先頭または末尾から取り出す行数を指定する
- 取り出した配列を複数セルへスピルする
4行の配列から先頭2行を取り出す
サンプル数式
- 配列
- 行数
いまの結果:
2行 × 2列
計算結果結果セル:F2スピル範囲:F2:G3
先頭行:「りんご」 | 120
入力・条件:配列 A2:B5(4行 × 2列) / 行数 2
- 配列A2:B5(4行 × 2列)先頭行:「りんご」 | 120
- 行数D2:2
この結果になる理由
配列から指定した行・列を取り出した結果です。
サンプルデータ
取り出す行数を変えてみよう
※ Excel と Google スプレッドシートで結果や挙動が異なる場合、Excel の仕様を基準にしています。
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | 商品 | 売上 | 行数 | 結果 | |||
| 2 | りんご | 120 | りんご | 120 | |||
| 3 | バナナ | 95 | バナナ | 95 | |||
| 4 | みかん | 110 | |||||
| 5 | ぶどう | 140 |
①配列②行数✓起点セル↘スピル結果
①・② 正式引数 / 教材要素1–3 処理の流れ
D2に値を入力すると、結果と処理順が変わります。
2つの引数
色付きの丸数字は、サンプル数式と引数ガイドで同じ引数を示しています。表にも同じ番号があれば、その引数で指定しているセルを示します。
A2:B5表のセル: A2:B5取り出し元になる配列です。この例ではA2:B5の4行×2列を使います。
D2表のセル: D2先頭または末尾から何行取り出すか指定します。正の値は先頭、負の値は末尾から数えます。
この数式を日本語にすると
A2:B5の4行×2列から、D2の2を使って先頭2行を取り出します。結果はF2:G3の2行×2列へ自動的に広がります。
この説明は、最初に表示されているサンプルデータをもとにしています。入力値を変更しても説明文は変わりません。
処理の流れ
手順1〜3を順番に確認しましょう。表内の小さな角丸数字は、対応する手順を示します。
配列を確認する
A2:B5A2:B5の8セルを元配列として使います。
行数を確認する
D2行数として2を使います。
指定した行・列を取り出す
F2:G3先頭側の2行を対象に、列はそのままとして、F2:G3へ結果をスピルします。
対応アプリ
- Excel
関数自体が対応するアプリです。教材例の数式や再計算が、両アプリで同じように動くことを保証するものではありません。
この例の注意点
- 行数が正なら配列の先頭から、負なら末尾から指定した数の行を返します。
- 第3引数の列数を指定すると、行と同じように先頭または末尾から列も取り出せます。
- 行数または列数に0を指定すると、空の配列になるため#CALC!になります。
- この教材では結果が入る範囲をあらかじめ表内に確保し、入力値に応じて実際にスピルする範囲を動的に表示します。
一般構文
対応:Excelのみ
=TAKE(array, rows, [columns])[] は省略できる引数です。
省略時
rows- 条件付き省略列数を指定して列だけを取り出す場合に省略でき、すべての行を保持します。
columns- 省略すると、指定した行をすべての列から取り出します。
公式資料・確認範囲
公式資料
実機確認
- Google スプレッドシート対応状況を確認済み
次に学ぶ関数
DROP
端から残す次は、端から除いて残りを返す方法を学びます。
次に学ぶ