Excelでテーブルをリストに変換する3つの簡単な方法【初心者向け完全ガイド】
Excelでクロス集計形式のデータテーブル(行見出し・列見出し付き)を扱っていると、それを縦持ちのリスト形式に変換したい場面がよくあります。本記事では、ピボットテーブルウィザード、Power Query、VBAの3つの方法を使って、テーブルを簡単かつ迅速にリストへ変換する手順を詳しく解説します。
練習用ファイルのダウンロード
無料のExcelテンプレートをダウンロードして、実際に手を動かしながら練習することができます。
Excelでテーブルをリストに変換する3つの方法
方法1:ピボットテーブルおよびピボットグラフウィザードを使って変換する
まずはサンプルデータをご紹介します。ここでは、3週間分の営業担当者ごとの売上データを使用します。2行目には週の見出し、B列には担当者名が入力されており、これらの見出しを1つの列にまとめ、売上金額を別の列に並べたリストを作成することを目標とします。この変換には「ピボットテーブル/ピボットグラフウィザード」を利用します。やや手順は長めですが、確実に変換できる方法です。

まず、このウィザードをリボン(上部メニュー)に追加しましょう。
ステップ1:
➥ 「ファイル」タブをクリックし、各種オプションを表示します。

ステップ2:
➥ 「オプション」を選択すると、「Excelのオプション」ダイアログボックスが開きます。

ステップ3:
➥ 左側メニューから「リボンのユーザー設定」→「コマンドの選択」で「リボンにないコマンド」を選び、「ピボットテーブル/ピボットグラフウィザード」を探して選択します。

ステップ4:
➥ 右側の一覧で「データ」タブを選択し、「新しいグループ」を追加したうえで、「追加」ボタンを押してウィザードを登録します。

これで、下の画像のように「ピボットテーブル/ピボットグラフウィザード」がグループ内に表示されます。
ステップ5:
➥ 「OK」を押すと、リボンの「データ」タブにウィザードが追加されます。

ステップ6:
➥ 「データ」タブ →「ピボットテーブル/ピボットグラフウィザード」の順にクリックすると、ダイアログボックスが表示されます。

ステップ7:
➥ 「複数の統合範囲」と「ピボットテーブル」にチェックを入れます。
➥ 「次へ」をクリックします。

ステップ8:
➥ 「ページフィールドを1つ作成する」を選択して「次へ」を押します。

ステップ9:
➥ データ範囲を選択し、再度「次へ」をクリックします。

ステップ10:
➥ 出力先のワークシートを選択します。ここでは「新規ワークシート」を選択しました。
➥ 「完了」をクリックします。
画面右側に「ピボットテーブルのフィールド」ペインが表示されます。

ステップ11:
➥ 「行」と「列」のチェックを外します。
➥ 最後に、「合計 / 値」のセルをダブルクリックします。

すると、新しいシートに目的のリスト形式のデータが表示されます。

関連記事: Excelへのピボットテーブルの挿入方法
あわせて読みたい:
- Excelのテーブルと範囲の違いとは?
- Excelテーブル参照の使い方(10の例)
- スライサーでExcel 2013のテーブルをフィルターする方法
- Excelテーブルで数式を効果的に使う方法(4つの例)
方法2:Power Queryを使ってテーブルをリストに変換する
Power Queryは、さまざまなソースからデータを収集し、扱いやすい形式に整形できる強力なツールです。ここでは、これを使ってテーブルをリストに変換します。
ステップ1:
➥ データ範囲を選択します。
➥ 「データ」タブ →「テーブルまたは範囲から」の順にクリックします。
「テーブルの作成」ダイアログボックスが開きます。

ステップ2:
➥ 「OK」を押すと、「Power Queryエディター」という新しいウィンドウが開きます。

ステップ3:
➥ Ctrlキーを押しながらマウスの左クリックで、週に関する3つの列を選択します。
➥ 次に「変換」タブ →「列のピボット解除」をクリックします。

すぐに下の画像のようなリスト形式に変換されます。
ステップ4:
➥ 「閉じて読み込む」をクリックするだけです。

すると、新しいワークシートに期待どおりのリストが出力されているのが確認できます。

関連記事: Excelで範囲をテーブルに変換する方法
方法3:Excel VBAを使ってテーブルをリストに変換する
コードに慣れている方なら、ExcelのVBAでも同じ処理を実現できます。具体的な手順を見ていきましょう。
ステップ1:
➥ シート見出し(シートタブ)上で右クリックします。
➥ コンテキストメニューから「コードの表示」を選択します。
VBAエディター画面が開きます。

ステップ2:
➥ 以下のコードを入力します。
Sub TransposeThis()
Set TheRange = Sheets("VBA").Range("B5:B11")
Set TheRange_output = Sheets("sheet4").Range("B2")
For i = 1 To TheRange.Cells.Count
Set range_values = Range(TheRange.Cells(i).Offset(0, 1), TheRange.Cells(i).End(xlToRight))
If range_values.Cells.Count < 15000 Then
For j = 1 To range_values.Cells.Count
TheRange_output.Value = TheRange.Cells(i).Value
TheRange_output.Offset(0, 1).Value = range_values.Cells(j).Value
Set TheRange_output = TheRange_output.Offset(1, 0)
Next j
End If
Next i
End Sub
➥ 「再生(▶)」アイコンを押してコードを実行します。

実行後、すぐに新しいシートに目的のリストが生成されます。

関連記事: VBAでExcelテーブルを操作する方法
まとめ
本記事では、ピボットテーブルウィザード、Power Query、VBAの3つの方法でテーブルをリストに変換する手順を解説しました。用途やスキルレベルに応じて最適な方法を選んでみてください。ご質問があればコメント欄でお気軽にお尋ねください。フィードバックもお待ちしています。
さらに学ぶ
- ExcelにTABLE関数は存在するのか?
- Excelでピボットテーブルを編集する5つの方法
- Excelでピボットテーブルを自動更新する2つの方法
- Excelのテーブルの種類:完全概説
-
ExcelでANOVA(分散分析)表を作成する3つの方法|結果の読み方も徹底解説
本記事では、ExcelでANOVA(分散分析)表を作成する方法をわかりやすく解説します。ANOVA表は、データセットに対して帰無仮説を採択すべきか棄却すべきかを判断する際に非常に役立つツールです。Excelに標準搭載されている「分析ツール」を活用すれば、難しい計算式を覚えなくても簡単にANOVA表を作成できます。ぜひ本記事を参考に、お手持ちのデータで分析を試してみてください。 ExcelにおけるANOVA(分散分析)とは? ANOVAは「Analysis of Variance(分散分析)」の略称です。Excelでは、帰無仮説を検定するために必要な数値を算出する手法として利用されます。Exce
-
ExcelでXMLを列に変換する4つの方法|初心者でもできる完全ガイド
このチュートリアルでは、ExcelでXMLデータを列に変換する4つの実用的な方法をご紹介します。いずれの方法も大規模なデータセットに対応しており、XMLデータから必要な値を効率よく抽出できます。さらに、本記事で解説するツールやテクニックは、その他のExcel作業全般にも役立つ内容となっています。 練習用ワークブックはこちらからダウンロードできます。 ExcelでXMLを列に変換する4つの方法 手順を分かりやすく説明するため、比較的シンプルなXMLデータセットを使用します。データセットは約7行×2列で構成され、すべてのセルは初期状態で「標準」形式に設定されています。列は「サイトURL」と「日付」