Excel でマトリックス形式の表を3 列形式に変換するには?
Excel でデータを扱う際、行と列の両方が見出しとして機能するグリッド形式(マトリックス形式)の表に頻繁に遭遇します。この形式は一部の分析では視覚的に有用ですが、データベースへのインポート、データの正規化、グラフ作成、高度な分析などのタスクを行うには、このマトリックスを「リスト」形式、つまり3 列形式の表に変換する必要があります。マトリックスを3 列形式(「アンピボット」されたデータとも呼ばれます)に変換することで、フィルタリング、集計、および他のデータツールとの連携が格段に容易になります。以下の例は、その変換を示しています:
➤ ピボットテーブルでマトリクス形式の表をリストに変換
➤ VBA コードでマトリクス形式の表をリストに変換
➤ Kutools for Excel でマトリクス形式の表をリストに変換
➤ Excel 数式でマトリクス形式の表をリストに変換
ピボットテーブルを使用してマトリックス形式の表をリストに変換する
Excel には、マトリックス形式の表を直接3 列形式(列)に変換する組み込みコマンドはありません。しかし、ピボットテーブルウィザードを使えば、クロス集計されたマトリックスをフラットな表形式のデータに効率よく変換し、さらに分析しやすい形に整えることができます。この方法は小規模~中規模のデータセットに最適で、特に複雑なレポート構造をフラット化したいときに非常に有効です。ただし、大規模なデータセットやピボットテーブル操作に不慣れなユーザーにはあまり向いていません。
1。Alt + Dを押した後、Pを押して、マトリックスを含むワークシートでピボットテーブルとピボットチャートウィザードを開きます。ウィザード内では:
- 分析したいデータの場所はどこですか?の下で、複数の統合範囲を選択してください。
- 作成したいレポートの種類は何ですか?の下で、ピボットテーブルを選択してください。

2。次へをクリックします。3 のステップ2aダイアログで、「ページフィールドを自分で作成する」を選択します:

3。次へをクリックします。ステップ3 の2bで、
ボタンをクリックし、行および列のヘッダーを含むマトリックス全体のデータ範囲を選択します。追加をクリックして、その範囲をすべての範囲リストに挿入してください。選択した範囲がマトリックス全体を確実にカバーしていることをご確認ください。

4。次へをクリックします。ステップ3で、ピボットテーブルを新しいワークシートに配置するか、特定のセルに配置するかを選択します:

5。完了をクリックすると、Excel がマトリックスを要約するピボットテーブルを自動的に生成します。デフォルトでは、交差ポイントに集計の合計が表示されます。このタスクではピボットテーブルの構造を調整する必要はありません。次の手順に進んでください:

6。行と列の合計が交差するセル(例:セル F22)をダブルクリックすると、Excel は新しいシートを作成し、各行が一意の行ヘッダーと列ヘッダーの組み合わせに対応する値を示す3 列形式のデータを表示します。

7。最後に、新しい表を選択して右クリックし、テーブル > 範囲に変換を選択してください。これでテーブルの書式が解除され、編集可能なシンプルなリストが残ります。

ヒント:マトリックスが頻繁に変更される場合は、この3 列形式(列)を更新するために手順を繰り返す必要があります。この方法は静的なデータに最適です。また、マトリックスに空白セルや結合されたセルが含まれている場合、この手法を使用する前に若干のクリーンアップが必要になることがあります。
VBA コードを使用してマトリックス形式の表をリストに変換する
自動化を好む方やこの変換を繰り返し行いたい場合は、VBA マクロを使って任意のマトリックス形式の表を構造化された3 列形式に素早く変換できます。この方法は、大規模なデータセットや多様なレイアウトに対して特に効果的で、手動での書式設定を省略することが可能です。VBA スクリプトの実行に慣れているユーザーに最適です。
1。Alt + F11を押して、Microsoft Visual Basic for Applicationsエディターを開きます。
2。エディターで、挿入 > モジュールをクリックして新しいモジュールを作成し、以下のコードをモジュールウィンドウに貼り付けてください。
📜 VBA コード:マトリックスをリストに変換
Sub ConvertTable()
' Updated by Extendoffice
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キーを押すか、実行をクリックしてマクロを実行してください。その後、必要な選択をガイドする一連のプロンプトが表示されます:
ステップ1:列ラベル(通常はマトリックスの最上行)を選択します:

ステップ2:行ラベル(通常はマトリックスの最初の列)を選択します:

ステップ3: 実際のマトリックスデータ範囲(行と列の見出しを除く)を選択します:

ステップ4: 変換後の3 列形式(列)を出力するセルを選択します。空白のセルまたは新しいワークシートの使用をおすすめします:

ステップ5:OKをクリックすると、マトリックスがフラットな3 列形式(列)に変換されます。
⚠️ 注意点とヒント:
• マトリックスのデータ範囲には、列見出しや行見出しを含めないでください。
• マトリックスに結合済みのセルが含まれている場合は、エラーを回避するため、マクロ実行前に結合を解除してください。
• エラーが発生した場合は、選択範囲を再度ご確認いただき、正しく対応していることをご確認ください。
Kutools for Excel でマトリクス形式の表をリストに変換
上記の方法は効果的ですが、Excel 初心者には煩雑で難しく感じられるかもしれません。より迅速で使いやすい解決策をお探しの方には、Kutools for Excelがこの目的のために特別に開発した専用ユーティリティ「テーブルの次元を変換」がおすすめです。
このツールは、マトリクス形式の表を頻繁に変換する必要がある方や、一括処理を効率化したい方に最適です。必要に応じて、フォントや塗りつぶし色、数式など、元の書式をそのまま保持することも可能です。ただし、Kutools はサードパーティ製アドインであり、インストールが必要な点が唯一の欠点かもしれません。それでも、Excel で日常的にデータ整形を行う方にとっては、非常に強力な選択肢となるでしょう。
手順:
1。Kutools をインストール後、Kutoolsタブに移動し、範囲をクリックして、テーブルの次元を変換を選択します。

2。テーブルの次元を変換ダイアログボックスで:
- (1)二次元テーブルを一次元テーブルに変換を、変換タイプセクションから選択します。
- (2)
ソース範囲の横にあるボタンをクリックし、マトリックステーブルを選択します。 - (3)
結果範囲の横にあるボタンをクリックして、出力先を指定してください。
部分的な変換や誤った結果を防ぐため、ヘッダーとデータの両方を含むマトリクス全体を選択してください。

3。OKをクリックすると、マトリクスは即座に3 列形式のリストに変換され、元のセルの書式が可能な限り保持されます。

ヒント:この機能は逆の操作、つまりフラットなリストを2 次元マトリックスに変換することもサポートしています。レポートの再構築やクロス集計分析用のデータ準備に最適です。詳しくは以下をご覧ください:リストを2 次元二次元テーブルに変換する方法。
⏬ 今すぐ Kutools for Excel を無料でダウンロードして、ぜひお試しください!
Excel 数式でマトリクス形式の表をリストに変換
マトリクスの変更に応じて3 列形式のリストを動的に更新したい場合、数式ベースのアプローチが特に有効です。INDEX 関数、ROW 関数、COLUMN 関数、およびCOUNTA 関数を組み合わせることで、データを手動でアンピボットできます。この方法では VBA やアドインは不要なため、マクロや外部ツールを使いたくないユーザーに最適です。ただし、通常は配列数式として入力するか、系統的に下方向または横方向にドラッグする必要があるため、数式の参照には細心の注意を払う必要があります。中規模のマトリクスや、リストを常にソースデータの変更にリアルタイムで反映させたい場面で、この方法は最も実用的です。
以下のデータ範囲があると仮定します。
- 行ラベルはセルA2:A10にあります。
- 列ラベルはセルB1:J1にあります。
- マトリックスの値はセルB2:J10にあります。
1。新しいワークシートを作成するか、既存のシートの空き領域から始めます。セルL2に、行ラベルを抽出する次の数式を入力してください。
=INDEX($A$2:$A$10,INT((ROW(A1)-1)/COUNTA($B$1:$J$1))+1) 2。セルM2に、対応する列ラベルを抽出する次の数式を入力してください。
=INDEX($B$1:$J$1,MOD(ROW(A1)-1,COUNTA($B$1:$J$1))+1) 3。セルN2に、マトリクスから値を抽出する次の数式を入力してください。
=INDEX($B$2:$J$10,INT((ROW(A1)-1)/COUNTA($B$1:$J$1))+1,MOD(ROW(A1)-1,COUNTA($B$1:$J$1))+1) 4。セルL2:N2を選択し、フィルハンドルを下方向にドラッグします。終了位置は行数×列数(この例では9 行×9 列=合計81 行)です。
✅ ヒント:
- すべての範囲を実際のデータ構造に合わせて調整してください。
IF関数とISBLANK関数を使えば、必要に応じて空白行をフィルターから簡単に除外できます。- 自動的に拡張される動作が必要な場合は、
OFFSET関数や動的名前付き範囲の利用をご検討ください。 - この方法は、マトリックスのサイズが固定されていて、データ量が中程度の場合に最も実用的です。
ℹ️ 追加の注意点:
- メリット:数式は常に有効な状態を保ち、マトリックスの変更を自動的に反映します。VBA やアドインは一切不要です。
- デメリット:大規模なマトリックスではワークブックのパフォーマンスが低下するおそれがあるため、慎重な設定が求められます。
Kutools for Excel でマトリクス形式の表をリストに変換するデモ
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得
