動的配列・スピル入門
WRAPROWS関数を見て理解する
1行または1列の配列を、指定した個数ごとに行方向へ折り返して返す関数です。
3つのポイント
- 折り返す元の配列を指定する
- 1行に入れる個数を指定する
- 複数行へスピルして並べる
1列のデータを3個ずつ行方向へ折り返す
サンプル数式
- 配列
- 1行の個数
- 埋め値
いまの結果:
先頭行:「A」 | 「B」 | 「C」
入力・条件:3項目
- 配列A2:A8(7セル)値の例:「A」、「B」、「C」
- 1行の個数C2:3
- 埋め値D2:「-」
指定した列数ごとに配列を折り返した結果です。
サンプルデータ
※ Excel と Google スプレッドシートで結果や挙動が異なる場合、Excel の仕様を基準にしています。
| A | B | C | D | E | F | G | H | I | J | K | L | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 元データ | 1行の個数 | 埋め値 | 結果 | ||||||||
| 2 | A | A | B | C | ||||||||
| 3 | B | D | E | F | ||||||||
| 4 | C | G | - | - | ||||||||
| 5 | D | |||||||||||
| 6 | E | |||||||||||
| 7 | F | |||||||||||
| 8 | G |
C2、D2に値を入力すると、結果と処理順が変わります。
3つの引数
色付きの丸数字は、サンプル数式と引数ガイドで同じ引数を示しています。表にも同じ番号があれば、その引数で指定しているセルを示します。
A2:A8表のセル: A2:A8折り返す元の1列配列です。この例ではA2:A8の7個の値を使います。
C2表のセル: C21行に何個ずつ並べるか指定します。この例では3個ずつ折り返します。
D2表のセル: D2最後の行で不足するセルを埋める値です。この例では「-」を使います。
この数式を日本語にすると
A2:A8の7個の値を、C2の3個ずつ行方向へ折り返します。最後に足りない2セルはD2の「-」で埋め、F2:H4へスピルします。
この説明は、最初に表示されているサンプルデータをもとにしています。入力値を変更しても説明文は変わりません。
処理の流れ
手順1〜4を順番に確認しましょう。表内の小さな角丸数字は、対応する手順を示します。
元の配列を確認する
A2A3A4A5A6A7A8A2:A8の7行×1列を折り返す元配列として使います。
1行に入れる個数を確認する
C23なので、1行に3個ずつ並べて折り返します。
不足セルの埋め値を確認する
D2不足するセルを「-」で埋めます。
行方向に折り返す
F2:H41行に3個ずつ折り返し、3行×3列の結果をF2:H4へスピルします。
対応アプリ
- Excel
- Google スプレッドシート
関数自体が対応するアプリです。教材例の数式や再計算が、両アプリで同じように動くことを保証するものではありません。
この例の注意点
- wrap_countには1行に入れる値の個数を指定します。
- この例では不足セルの埋め値を「-」に指定しています。
- WRAPROWSの元配列は1行または1列のベクトルとして扱います。
一般構文
対応:Excel / Google スプレッドシート ・ 構文:引数名に差あり
- wrap_countでは、Excelが受理する全角数値文字列などをGoogle スプレッドシートでは#VALUE!として扱うケースがあります。
- wrap_count・source shape・pad_withの評価が競合するケースで、ExcelとGoogle スプレッドシートのエラー結果が異なる場合があります。
Excel
=WRAPROWS(vector, wrap_count, [pad_with])[] は省略できる引数です。
省略時
pad_with- 省略すると、不足するセルを#N/Aエラーで埋めます。
Google スプレッドシート
=WRAPROWS(range, wrap_count, [pad_with])[] は省略できる引数です。
省略時
pad_with- 省略すると、余ったセルを#N/Aで埋めます。
公式資料・確認範囲
公式資料
- Microsoft Excel 公式構文
- Google スプレッドシート 公式対応状況・構文・省略時の扱い
実機確認
- Excel for the web / Google スプレッドシート計算結果・入力の扱い・エラーを確認済み
未確認
配列展開
次に学ぶ関数
WRAPCOLS
行方向へ折り返す次は、列方向へ折り返す方法を学びます。
次に学ぶ