メインコンテンツへスキップ

Excelで行列形式の表を3列に変換するにはどうすればよいですか?

Author: Xiaoyang Last Modified: 2025-08-06

列見出しと行見出しが含まれる行列形式の表があるとします。この形式の表を、以下スクリーンショットのように3列の表(リスト形式とも呼ばれます)に変換したい場合、Excelでこの問題を解決する良い方法はありますか?

PivotTableを使用して行列形式の表をリストに変換

VBAコードを使用して行列形式の表をリストに変換

Kutools for Excelを使用して行列形式の表をリストに変換

A screenshot showing a matrix-style table converted to a three-column list in Excel


PivotTableを使用して行列形式の表をリストに変換

Excelでは、行列形式の表を3列の表に直接変換する機能はありません。しかし、PivotTableに慣れている場合、それが役立つかもしれません。以下の手順で行ってください:

1. 使用したいワークシートをアクティブにして、 Alt + Dキーを押しながらキーボードでPを押すと、「ピボットテーブルとピボットチャートウィザード」ダイアログが表示されます。「データを分析したい場所」セクションで「複数の統合範囲」を選択し、「作成したいレポートの種類」セクションで「ピボットテーブル」を選択してください。スクリーンショットをご覧ください:

A screenshot of the PivotTable and PivotChart Wizard - Step 1 of 3 dialog

2. 次に「次へ」ボタンをクリックすると、「 ステップ 2a/3」ウィザードで「 ページフィールドを作成します」オプションを選択してください。スクリーンショットをご覧ください:

A screenshot of the PivotTable and PivotChart Wizard - Step 2a of 3 dialog

3続けてクリック 次へ ボタンを押すと、 ステップ 2b/3 ウィザードで 5 ボタンをクリックして変換したいデータ範囲を選択し、その後 追加 ボタンを押してデータ範囲を すべての範囲 リストボックスに追加します。スクリーンショットをご覧ください:

A screenshot of the PivotTable and PivotChart Wizard - Step 2b of 3 dialog

4. 「次へ」ボタンをクリックすると、「 ステップ 3/3」ウィザードでピボットテーブルの配置場所を選択します。

A screenshot of the PivotTable and PivotChart Wizard - Step 3 of 3 dialog

5. 次に「完了」ボタンをクリックすると、ピボットテーブルがすぐに作成されます。スクリーンショットをご覧ください:

A screenshot of the pivot table created in Excel from a matrix-style table

6. ピボットテーブルで、グランドトータルの交差セルをダブルクリックします。この場合、セルF22をダブルクリックすると、次のスクリーンショットのような3列の表が生成されます:

A screenshot of the table generated by double-clicking the Grand Total cell to convert the matrix into a three-column list

7. 最後に、表形式を通常の範囲に変換できます。表を選択してからコンテキストメニューの「 テーブル > 範囲に変換」を選択してください。スクリーンショットをご覧ください:

A screenshot showing the Convert to Range option for turning the pivot table into a standard list


VBAコードを使用して行列形式の表をリストに変換

最初の方法が気に入らない場合、次のVBAコードでもお手伝いできます。

1. Alt + F11を押してMicrosoft Visual Basic for Applicationsウィンドウを表示します。

2. ウィンドウで「挿入 > モジュール」をクリックして新しいモジュールウィンドウを開き、次のVBAコードをモジュールウィンドウにコピーして貼り付けます。

Sub ConvertTable()
'Update 20150512
Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
xTitleId = "KutoolsforExcel"
Set cRng = Application.InputBox("Select your Column labels", xTitleId, Type:=8)
Set rRng = Application.InputBox("Select Your Row Labels", xTitleId, Type:=8)
Set Rng = Application.InputBox("Select your data", xTitleId, Type:=8)
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
    For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
        outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
        outRng.Cells(k, 2) = xWs.Cells(xRow, j)
        outRng.Cells(k, 3) = xWs.Cells(i, j)
        k = k + 1
    Next j
Next i
End Sub

3. 次にF5キーを押してこのコードを実行すると、データの列ラベルを選択するためのプロンプトボックスが表示されます。スクリーンショットをご覧ください:

A screenshot of a prompt to select column labels

4. 次に「OK」ボタンをクリックすると、次のプロンプトボックスで行ラベルを選択します。スクリーンショットをご覧ください:

A screenshot showing the selection of row labels

5. 「OK」を続けてクリックし、次のプロンプトボックスで列および行見出しを除いたデータ範囲を選択します。スクリーンショットをご覧ください:

A screenshot of the prompt to select the matrix data range

6. 続けて「OK」をクリックすると、このダイアログボックスで結果を配置したいセルを選択します。スクリーンショットをご覧ください:

A screenshot showing the selection of the output cell for the converted three-column list

7. 最後に「 OK」をクリックすると、すぐに3列の表が得られます。


Kutools for Excelを使用して行列形式の表をリストに変換

上記のどちらの方法もやや面倒です。そこで、簡単な方法としてKutools for Excelをご紹介します。その「テーブルの次元を変換」機能を使用すると、セルの行列とリスト形式の間を簡単に変換できます。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

Kutools for Excelをインストール後、次の手順を行ってください:

1. 「Kutools > 範囲 > テーブルの次元を変換」をクリックします。スクリーンショットをご覧ください:

A screenshot of the Transpose Table Dimensions option on the Kutools tab on the ribbon

2. 「テーブルの次元を変換」ダイアログボックスで:

(1.) 「 変換タイプ」で「二次元テーブルを一次元テーブルに変換」オプションを選択します。

(2.) 次に Range selection icon ボタンをクリックします。 リンクソース 変換したいデータ範囲を選択します。

(3.) 次に Range selection icon ボタンをクリックします。 結果範囲 結果を配置したいセルを選択します。

A screenshot of the Transpose Table Dimensions dialog

3. 次に「 OK」ボタンをクリックすると、元のセル書式を含む次の結果が得られます:

A screenshot of the result after using Kutools for Excel to convert a matrix table to a three-column list

このユーティリティを使用すると、フラットリスト形式の表を2次元のクロステーブルに変換することもできます。

この「テーブルの次元を変換」機能についてさらに詳しく知るには。

今すぐKutools for Excelをダウンロードして無料でお試しください!


デモ: Kutools for Excelを使用して行列形式の表をリストに変換

Kutools for Excel: あなたの指先に 300 以上の便利なツールが集結!永久無料のAI機能をお楽しみください!今すぐダウンロード!

最高のオフィス生産性ツール

🤖 Kutools AI Aide:データ分析を革新:インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析してグラフを生成  |  Kutools Functions を呼び出す
人気機能重複の検索・ハイライト・マーキング   |  空白行を削除   |  データを失わず列やセルを統合   |   丸める ...
スーパーLOOKUP複数条件VLOOKUP   複数値VLOOKUP  |  複数シートの検索  |  ファジーマッチ ....
高度なドロップダウンリストすばやくドロップダウンリストを作成   |  依存型ドロップダウンリスト   |  複数選択ドロップダウンリスト ....
列の管理:特定数の列を追加  | 列を移動  | 非表示列の表示状態を切り替え |  範囲と列の比較 ...
注目機能グリッドフォーカス   |  デザインビュー  |  強化された数式バー   ワークブック&ワークシートの管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リスト送信で電子メールを送信   |  スーパーフィルター   |   特殊フィルタ(太字/斜体/取り消し線でフィルタ...)
トップ15ツールセット12 種類のテキストツールテキストの追加特定の文字を削除など)  |  50 種以上のグラフ タイプガントチャートなど)  |  40を超える実用的な 数式誕生日に基づいて年齢を計算する、など)  |  19種の 挿入ツールQRコードの挿入パスから画像の挿入など)  |  12種類の 変換ツール単語に変換する通貨変換など)  |  7つの 結合&分割ツール高度な行のマージセルの分割など)  |  ...さらに多数
お好きな言語でKutoolsを使用できます ― 英語、スペイン語、ドイツ語、フランス語、中国語など40以上に対応!

Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...


Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます

  • Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
  • 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
  • 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!