説明
この関数を使用して、複数の範囲または配列を 1 つの範囲に垂直方向にスタックします。
構文
VSTACK(array_1, [array_2], ..., [array_29])
入力
この関数は以下の引数を承認します:
| 名称 | 必須 | 説明 | 有効入力 |
|---|---|---|---|
| array_1 | はい | 縦方向にスタック(結合)する最初の範囲または配列。 | セル参照、セル範囲、またはこれらのいずれかになる数式。 |
[array_2], ..., [array_29]. |
いいえ | 垂直方向にスタックする追加の範囲または配列。最大29配列まで追加可能。 | セル参照、セル範囲、またはこれらのいずれかになる数式。 |
例
サンプルデータ
データセット1
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 名称 | 売上高 | 地域 | コミッション |
| 2 | Q1 | |||
| 3 | ジョン | 45000 | 北 | 4500 |
| 4 | アリス | 52000 | 南 | 5200 |
| 5 | ボブ | 49500 | 西 | 4500 |
| 6 | Q2 | |||
| 7 | ジョン | 48000 | 北 | 4800 |
| 8 | アリス | 55000 | 南 | 5500 |
| 9 | ボブ | 51250 | 西 | 5100 |
データ設定2
シート1(「Employees_Q1」という名前)
| 名称 | 年齢 | 市区町村 | 給与 |
|---|---|---|---|
| ジョン | 35 | ニューヨーク | 75000 |
| アリス | 28 | シカゴ | 65000 |
| ボブ | 42 | ロサンゼルス | 85000 |
シート 2(「Employees_Q2」という名前)
| 名称 | 年齢 | 市区町村 | 給与 |
|---|---|---|---|
| ジョージ | 22 | デンバー | 55000 |
| ヘレン | 30 | スコッツデール | 71000 |
数式のサンプル
| 使用例 | 数式 | 説明と結果 |
|---|---|---|
| 2つの水平配列を1つのテーブルに結合します。 | =vstack(a2:d4, a6:d8) |
この数式は、タブ上の2つの範囲を読み取り、Q1とQ2のデータを1つの範囲に結合します。データセット2を使用すると、次のようになります: ジョン | 45000 | 北 | 4500 |
| 2つの別々のシートのデータを1つのテーブルに結合します。 | =VSTACK(Employees_Q1!A2:D4, Employees_Q2!A2:D3) |
この数式は、シート1(Employees_Q1!A2:D4)から第1四半期(Q1)の従業員データを、シート2(Employees_Q2!A2:D3)から第2四半期(Q2)の従業員データを抽出し、VSTACK関数を使用して、抽出された2つの配列を縦方向に結合し、1つのリストにまとめます。縦方向の順序は、数式内の式の順序によって決まります。データセット2を使用すると、次のようになります: ジョン | 35歳 | ニューヨーク | 75000 |
| 1つのテーブルのデータを、2つ目のテーブルのフィルター設定と結合します。 1つのテーブルのデータと2つ目のテーブルのフィルター設定を結合するユースケースは、プライマリテーブルのデータに関連テーブルの特定の情報を追加したい場合です。 |
=vstack(a2:d4, filter(a6:d8, b6:b850000)) |
第1四半期のデータと、フィルタリングされた第2四半期のデータ(売上高が50,000を超えるもの)を組み合わせたものです。データセット1を使用すると、次のようになります: ジョン | 45000 | 北部 | 4500 |
| 2つの別々の範囲からデータを結合し、一意な行だけを抽出します。 | =unique(vstack(a2:d4, a6:d8)) |
第1四半期と第2四半期のデータを結合し、第1列の値が同一である行の値を自動的に合計します。データセット2を使用すると、次のようになります: ジョン | 93000 | 北部 | 9300 注:UNIQUE関数は、最初の列に重複するエントリが見つかった場合、数値を自動的に合計します。 |
メモ
- すべての配列関数と同様、VSTACKは、VSTACK関数を含むセルを起点として、隣接するセルに結果を動的に入力します。
- VSTACK:
- VSTACK: 複数のシートから垂直方向に複数の範囲を単一の垂直範囲に結合。配列の順序は、積み重ねの順序を決定します。関数内の最初の配列が常に先頭になります。
- 異なる幅を持つ範囲をスタックできます。
- 複数の期間またはソースのデータを結合するのに便利です。
- マニュアルで再フォーマットすることなく新規レコードを追加するのに便利です。
- データをダイナミックに保ちます (新規行が追加されると、出力が更新されます)。
ヒント
- ヘッダー行があり、ヘッダーを含めたくない場合は、配列の値を1つ下の行から開始します(例えば、上記のデータセットでは、A1ではなくA2から開始します)。
- VSTACKは以下を含む他の関数と結合できます:
配列数式関数
Workiva スプレッドシートで対応可能なその他の配列数式関数を示します。