発生するシナリオSAPやOracleといったERPからエクスポートした1万行のデータを20分かけてクレンジングしたところだとしましょう。挿入 > ピボットテーブルをクリックし、きれいな集計結果を期待します。しかし、Excelは不親切で一般的なポップアップを表示して作業を中断させます。
PivotTable field name is not valid
このエラーは、トラブルの原因となっている具体的な列を教えてくれないため非常に厄介です。単に動作を拒否するだけなのです。最近、私も50列ある月次売上レポートの自動化中にこの壁にぶつかりました。ソースデータとして使用していたシートの末尾に、時々「ゴースト(空の)」列が残っていたことが原因でした。
エラーの原因Excelは意地悪をしているわけではありません。選択した範囲内のすべての列に、一意のテキストベースのヘッダーが必要なだけです。先頭行のセルが1つでも空白だと、Excelはそのデータをピボットテーブルのキャッシュにマッピングできません。通常、以下のようないくつかの特定の理由で発生します。
- 空白のヘッダー: データの列はあるが、名前を付け忘れている。- 非表示の列: 忘れていた列(B列とD列の間に隠れているC列など)にヘッダーテキストがない。- 結合されたセル: 「第1四半期合計」を3つのセルにわたって結合している。Excelは最初のセルをラベルと見なし、続く2つのセルを空の無効なフィールドとして認識します。- 範囲の過剰選択: 先頭行全体(1:1)やA:Zのような範囲を選択しているが、実際のデータはM列までしかない。## ソースデータのデバッグこのエラーが表示されたら、ヘッダー行を検査する必要があります。原因を見つけるための最も速いワークフローは以下の通りです。
1. 「ジャンプ」テスト最初のヘッダーセル(通常はA1)をクリックします。Ctrl + Shiftを押しながら右矢印キーを叩きます。もし選択範囲がG列で止まったのに、データがK列まで続いているなら、H列が空であることを意味します。その空のセルに名前を付けて、もう一度試してください。
2. すべて表示する非表示の列は、「目に見えない」エラーの最も頻繁な原因です。数ヶ月前に計算列を非表示にして、ヘッダーがないことを忘れているかもしれません。これを修正するには:
- 左上隅の小さな三角形をクリックして、シート全体を選択します。- 任意の列文字を右クリックし、再表示を選択します。- 新しく表示された列にラベルが欠けていないか確認します。### 3. セルの結合を解除する結合されたセルは見栄えは良いですが、データ分析にとっては悪夢です。もしA1とB1が結合されている場合、ExcelはA1をヘッダー、B1をnull値として扱います。これがエラーを即座に引き起こします。 ヘッダー行全体を選択し、「ホーム」タブにあるセルを結合して中央揃えボタンをクリックしてオフにします。結合によって空のセルが隠れていた場合は、「Region_2」や「Category_Backup」などの一意の名前を入力してください。
4. 範囲を絞り込むピボットテーブルが「ゴースト」データを読み込もうとしていないか確認してください。データがM列で終わっているのに、ソース範囲が$A:$Zに設定されている場合、Excelは13個の空のヘッダー(NからZ)を検出してパニックに陥ります。
- ピボットテーブル分析 > データソースの変更に移動します。- 実際のデータの範囲に合うように範囲を調整します。さらに良い方法は、Excelの「テーブル」機能を使用することです。## VBAショートカット(巨大なシート用)200もの列を眺めても空白が見つからない場合は、スクリプトに任せましょう。
Alt + F11を押し、挿入 > 標準モジュールに移動して、以下のコードを貼り付けます。
Sub FindEmptyHeaders()
Dim cell As Range
Dim headerRow As Range
' 使用済み範囲の最初の行をチェックします
Set headerRow = Intersect(ActiveSheet.UsedRange, ActiveSheet.Rows(1))
For Each cell In headerRow
If IsEmpty(cell) Then
MsgBox "空白のヘッダーが見つかりました: " & cell.Address
cell.Select
Exit Sub
End If
Next cell
MsgBox "使用済み範囲内のすべてのヘッダーに問題はありません!"
End Sub

