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

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

Excelでピボットテーブルをリストに変換するにはどうすればよいですか?

Author Sun Last modified

日常的なExcel作業では、大規模なデータを分析、要約、または視覚化するために包括的なピボットテーブルを作成することがよくあります。しかし、データをさらに処理したり、他の人と共有したり、別のアプリケーションにインポートしたりするために、構造化されたピボットテーブルを通常のリストや標準の表形式に戻す必要がある場合があります。このチュートリアルでは、小規模および大規模なデータセットの両方に適した、ピボットテーブルをリストに戻すためのいくつかの実用的な方法を探ります。

ピボットテーブルをリストに変換する

VBAコード: ピボットテーブルをリストに自動的に変換する


arrow blue right bubble ピボットテーブルをリストに変換する

ピボットテーブルを標準的なリストに変換する前に、ピボットテーブルのレイアウトが目的に応じて最終化されていることを確認してください。例えば、以下のピボットテーブルをフラットなリスト構造に戻したいと仮定します:

sample pivottable

1. ピボットテーブル内の任意のセルを選択します。リボンの「デザイン」タブに移動し、「集計」を選択してから「集計を表示しない」を選択します。この手順により、希望するフラットリスト形式を妨害する可能性のあるサブグループや集計行が削除されます。

click Do Not Show Subtotals from Subtotals

2. まだ「デザイン」タブの下にいる状態で、「総計」をクリックし、「行と列に対してオフ」を選択します。総計をオフにすることで、要約行や列が結果に出力されず、実際のデータのみが残ります。

click Off for Rows and Columns under the design tab

3. 「デザイン」タブの中で、「レポートレイアウト」をクリックし、「すべての項目ラベルを繰り返す」を選択します。このステップは、複数レベルの行ラベルをフラット化する際に重要であり、最終的なリストの各行が正しい文脈を示すようになります。

click Repeat All Item Labels under the design tab

4. 再び「レポートレイアウト」をクリックし、「表形式で表示」を選択します。表形式では、すべてのデータが真の列形式で表示されるため、標準的なリストやテーブルに近い形になります。

click Show in Tabular Form in the Report Layout tab

この時点で、ピボットテーブルは従来のテーブルのように見え、リストとしてエクスポートするのが非常に簡単になります:

pivottable is changed

5. 出力をさらに簡素化するため、「オプション」(または使用しているExcelのバージョンによっては「分析」)タブに移動します。「表示」グループで、「ボタン」と「フィールドヘッダー」のチェックを外します。これらの要素を削除することで、リスト変換のためにデータを整理し、出力をより整然としたものにします。

uncheck Buttons and Field Headers options

これで、ピボットテーブルは関連するデータフィールドのみを表示し、より明確になります:

pivottable is changed without buttons

6. 空白セルをゼロで表示したい場合は、ピボットテーブル内の任意のセルを右クリックし、「ピボットテーブルオプション」を選択します。ポップアップダイアログで、「レイアウトと書式設定」タブの「空白セルの場合」のチェックを外し、OKをクリックします。このステップにより、エクスポートされたリストに予期しない空白が含まれなくなるため、後続の処理や他のシステムへのインポート時に重要です。

uncheck For empty cells show option

7. 変換したいピボットテーブル範囲全体を選択します。Ctrl + Cを押してコピーし、リストを表示したいワークシート内の目的のセル位置にカーソルを移動します。右クリックして「形式を選択して貼り付け」を選択し、「値(V)」を選びます。このプロセスでは、ピボットテーブルの構造やインタラクティブ性なしに、結果のみが静的値として貼り付けられます。

copy and paste the pivottable as values

注意:Excel 2007以前のバージョンでは、このステップで[ホーム] > [貼り付け] > [値の貼り付け]を使用してください。

貼り付け後、データは標準的なリスト形式で表示され、さらなる分析、共有、またはエクスポートに備えています:

PivotTable is displayed as normal list

この方法は簡単で、頻繁な更新が必要ない小規模から中規模のピボットテーブルに適しています。ただし、動的または頻繁に変化するピボットテーブルの場合は、この変換プロセスを自動化するか、組み込みのデータ変換ツールを使用することをお勧めします。計算フィールドやグループ化された項目を持つ複雑なピボットテーブルは、変換後に追加調整が必要になる場合があります。


arrow blue right bubble VBAコード: ピボットテーブルをリストに自動的に変換する

ピボットテーブルを標準的なリストに頻繁に変換する必要がある場合や、ピボットテーブルが特に大きい場合は、プロセスを自動化することで大幅な時間と労力を節約できます。VBA(Visual Basic for Applications)を使用すると、最小限の手動操作でピボットテーブルをリストにフラット化できます。このソリューションは、高度なユーザー向け、バッチ処理、または数十~数百のピボットテーブルを扱う場合に適しています。

利点:繰り返し作業に迅速に対応可能、大規模なデータセットに対応、手動エラーのリスクを軽減。
欠点:マクロの有効化とVBAに関するある程度の理解が必要。最初にコードを実行する前にバックアップを取ることをお勧めします。

1. [開発ツール] > [Visual Basic]をクリックしてVBAエディターを開きます。エディター内で、[挿入] > [モジュール]をクリックし、次のコードを新しいモジュールウィンドウに貼り付けます:

Sub ConvertPivotTableToList()
    Dim pt As PivotTable
    Dim wsPivot As Worksheet
    Dim rngTable As Range
    Dim wsNew As Worksheet
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set wsPivot = Application.ActiveSheet
    Set pt = wsPivot.PivotTables(1)
    
    If pt Is Nothing Then
        MsgBox "No PivotTable found on the current sheet.", vbExclamation, xTitleId
        Exit Sub
    End If
    
    Set rngTable = pt.TableRange2
    Set wsNew = Worksheets.Add
    
    rngTable.Copy
    wsNew.Range("A1").PasteSpecial Paste:=xlPasteValues
    
    Application.CutCopyMode = False
    
    MsgBox "Converted PivotTable to static list on new sheet: " & wsNew.Name, vbInformation, xTitleId
End Sub

2. ワークシートに戻り、リストに変換したいピボットテーブルを選択します。Alt + F8を押して、マクロリストからConvertPivotTableToListを選択し、[実行]をクリックします。これにより、ピボットテーブルが静的なリストとして新しいワークシートにコピーされます。

エラーメッセージが表示された場合、マクロを実行する前に正しいピボットテーブルが含まれているシートを選択しているか確認してください。また、Excelでマクロが有効になっていることも確認してください。アクティブなワークシートに複数のピボットテーブルが含まれている場合、このコードは最初に見つかったピボットテーブルを処理します。

ヒント: このコードを修正して、ワークブック内のすべてのピボットテーブルを処理したり、特定のピボットテーブルを変換するように指定したりすることもできます。


最高のオフィス業務効率化ツール

🤖 Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Executionコード生成カスタム数式の作成データの分析とグラフの生成Kutools Functionsの呼び出し……
人気の機能重複の検索・ハイライト・重複をマーキング空白行を削除データを失わずに列またはセルを統合丸める……
スーパーLOOKUP複数条件でのVLookup複数値でのVLookup複数シートの検索ファジーマッチ……
高度なドロップダウンリストドロップダウンリストを素早く作成連動ドロップダウンリスト複数選択ドロップダウンリスト……
列マネージャー指定した数の列を追加列の移動非表示列の表示/非表示の切替範囲&列の比較……
注目の機能グリッドフォーカスデザインビュー強化された数式バーワークブック&ワークシートの管理オートテキスト ライブラリ日付ピッカーデータの統合セルの暗号化/復号化リストで電子メールを送信スーパーフィルター特殊フィルタ(太字/斜体/取り消し線などをフィルター)……
トップ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%向上し、毎日のマウスクリック数を何百回も削減!

全てのKutoolsアドインを一つのインストーラーで

Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。

Excel Word Outlook Tabs PowerPoint
  • オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
  • 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
  • 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
  • 30日間フル機能お試し —— 登録やクレジットカード不要
  • コストパフォーマンス最適 —— 個別購入よりお得