列名が「Column 1」になる・結合セルや見出しが崩れる
このガイドは TableHarvest を作っている Quillfold が公開しています。
行は全部取れたのに、列がおかしい。よくあるのは次の 4 つです。
- 列名が 「Column 1」「Column 2」「Column 3」 になる。または見出しがデータの 1 行目に入る。
- ページでは何行にもまたがっていた値(地方、日付、チーム名など)が 1 回だけ入り、その下が 空欄 になる。
- 2 段になっていた見出し(「2024年」の下に「上半期」「下半期」)が データの 2 行 になったり、列とずれたりする。
- ある行から、値が 1 列ずつ右にずれる。
どれも、見た目ではなく、ページの HTML の中で表がどう書かれているかから起きます。官公庁の統計表、Wikipedia の表、スポーツの順位表のように、結合セルや多段の見出しを使う表でよく問題になります。
Web の表の作り
HTML の表は「行」(<tr>)の並びで、各行は「セル」の並びです。見出しのセルは <th>、データのセルは <td> で書くことになっています。セルを複数のマスにまたがらせる属性が 2 つあります。
colspan="4":このセルは 4 列分を占める。rowspan="3":このセルは 3 行分を占める。下の 2 行は、そのぶんセルが 1 つ少なくなる。
ブラウザはセルをマス目に並べ直して表示するので、画面では正しく見えます。並べ直しをせずに行を 1 つずつ読む道具には、セルが足りない短い行に見え、後ろのセルが左に詰まります。あるいは、値を最初の行にだけ入れて、残りの行を空欄にします。
症状ごとの原因
列名が「Column 1」になる
道具が見出しを見つけられなかった状態です。よくある理由は次のとおりです。
- 見出しの行が
<th>ではなく<td>で書かれていて、見た目だけ見出し風になっている。 - そもそも
<table>ではなく、<div>を並べて表に見せている。見出しも「クラスが違うだけの行」になっている。 - 見出しがデータとは別の要素に分かれている(スクロールしても上に残る見出しは、そうなっていることがあります)。
確かめ方: 見出しを右クリックして「検証」を開きます。<th> なら見出しとして書かれています。<td> や <div> なら、道具は推測するしかありません。
結合セルの下が空欄になる
ページで rowspan が使われています。画面では「関東」が 7 都県にまたがって見えていても、HTML では最初の行にしか書かれていません。
2 段の見出しが崩れる
1 段目に colspan、その下に 2 段目の見出しがある表です。2 段を 1 つにまとめない限り、見出しが 2 行になるか、列とずれるかのどちらかになります。
値が 1 列ずれる
複数の行や列にまたがるセルが展開されず、その行の後ろのセルがすべて 1 マスずれた状態です。隠れたセルでも同じことが起きます。display:none のセルは画面では場所を取りませんが、HTML の中には残っています。
Windows 版 Excel での直し方
すでに Excel に取り込んだデータなら、Power Query でよくある 2 つは直せます。
- ヘッダーの昇格(Use First Row as Headers): 1 行目を列名にします。Microsoft Learn「列ヘッダーのレベル上げ/下げ」(英語版は 2024年8月29日更新)によると、Power Query はテキストファイルなどで 1 行目の様子がほかと違えば自動で列名にしようとし、手動でも変換タブから行えます。
- フィル ダウン(Fill Down): Microsoft Learn「列に値を入力する」は「フィルダウン操作は列を受け取り、その列の値を順に確認して、新しい値が見つかるまで以降の行の null 値を埋めます」と説明しています(英語版は 2024年6月13日更新)。
rowspanで空いたセルを埋められます。ただし、空欄が本当に空(null)で、スペースなどが入っていない場合に限ります。
2 段の見出しを一度に直す機能はありません。2 段を手で 1 行にまとめてから、ヘッダーに昇格させます。
ほかの方法での扱い(2026年10月時点)
- Excel の「Web から」と Google スプレッドシートの IMPORTHTML: Microsoft と Google のヘルプには、
rowspan・colspan・多段の見出しをどう扱うかの説明がありません。結果をページと見比べて確かめてください。 - Instant Data Scraper: 掲載情報に「Extracted data column renaming and filtering」(列の名前変更と絞り込み)とあります(2026年10月7日確認)。結合セルや多段の見出しへの対応は掲載情報に見当たりませんでした。
拡張機能どうしの違いと、相手のほうが向いている場合は「Instant Data Scraper と TableHarvest の違い・使い分け」にまとめています。
TableHarvest でできること
TableHarvest は私たちの拡張機能です。現在の動作は次のとおりで、自動テストで確認しています(見出しがグループになった Wikipedia 風の表、3 段の見出しを持つ官公庁の統計表、チーム名が結合されたスポーツの順位表などをサンプルにしています)。
- 結合セルをマス目に展開:
rowspan・colspanをブラウザと同じように展開するので、値は画面で見えている列に入ります。初期設定では、結合された値をまたがるすべての行に入れます。Excel で並べ替えや絞り込みをしても各行が意味を持つようにするためです。ページと同じく最初の行だけに入れたいときは、整形オプションで切り替えます。 - 多段の見出しを 1 行に: 上の段から順に「 / 」でつなぎます。例:「2024年 / 上半期 / 件数」。重複する部分と空の部分は省きます。
<td>で書かれた見出し:<th>がない表でも、短く重複のないラベルが並ぶ 1 行目が、下の行と見た目が違うか、数値の列の上にあるときは、見出しとして使います。- グリッドと
<div>の一覧: ARIA のグリッドは列番号に従ってセルを置くので、グループ化された見出しもそろいます。<div>で作られた一覧は、クラス名や太字などから見出しの行を見つけ、なければdata-labelなどの属性から列名を付けます。 - 隠れた内容:
display:noneの列は画面と同じく場所を取りません。隠れた行は、含める設定にしない限り外します。 - フッター: 見出しを繰り返すだけの
<tfoot>は外し、本当の合計行は残します。 - 自分で直す: 書き出す前に、パネルで列の名前変更・並べ替え・非表示ができます。設定はサイトごとに記憶します。
これらはすべて無料プランで使えます。
これが要らない場合
- 見出しが
<th>の 1 行だけで、結合セルもない表:コピー&ペーストや Excel の「Web から」で十分です。 - すでに Excel に入っていて、結合セルの下が空欄なだけ:Power Query のフィル ダウンで数クリックで直ります。
根拠
2026年10月7日に確認。