Quillfold

Wikipedia の表を Excel・CSV に取り込む(脚注・結合した見出し)

都道府県の人口や面積、選挙の結果、記録の一覧。Wikipedia には集計に使いたくなる表がたくさんあります。コピーして Excel に貼れば、たいていは入ります。ただ、次のようなことがよく起きます。

  • 脚注の記号が残る。 「- [注 1]」(「都道府県の人口一覧」の沖縄県・1945 年)のように記号がくっつき、名前で照合できない、数字として計算できない。
  • 2 段の見出しがずれる。 「総面積」の下に「面積」「人口密度」が並ぶような見出しが、データの 2 行として入ったり、列と合わなくなったりする。
  • 画面にない文字が混ざる。 「13東京都」「02青森県」のように、並べ替えのためだけに隠してある文字が入ることがある。

このページでは、Wikipedia の表がどう作られているかを確かめたうえで、方法ごとの扱いと、手での直し方を順に書きます。

まず表の作りを知る

以下は、2026年10月16日に取得した 3 つのページの HTML で確かめた内容です。日本語版の「都道府県の人口一覧」「都道府県の面積一覧」と、英語版の「List of countries and dependencies by population (United Nations)」です。

  • データの表には wikitable というクラスが付いています。 見出しをクリックして並べ替えられる表には sortable も付きます。ナビゲーションの枠やお知らせの枠も表(<table>)なので、ページの中の <table> は、見えているデータの表より多いのが普通です。
  • 脚注はセルの中の <sup class="mw-ref reference"> です。 文字は角かっこ付きで、日本語版では「[注 1]」のような形もあります。「都道府県の人口一覧」の最初の表では、沖縄県の 1945 年のセルが「- [注 1]」です。英語版の人口の表では、国名の後ろに [a] から [w] までの記号が付いています。
  • 結合した見出しは rowspan・colspan で書かれています。 「都道府県の面積一覧」の表は、「都道府県」が 2 段にまたがり(rowspan="2")、1 段目の「総面積」(2 列分)・「可住地面積」(3 列分)・「森林面積」(2 列分)の下に、「面積 (km2)」「人口密度」「比率」などの 2 段目があります。一方、「都道府県の人口一覧」の最初の表は見出しが 1 段で、結合セルはありません。Wikipedia の表がすべてこうなっているわけではありません。
  • 見えない並べ替え用の文字があります。 「都道府県の人口一覧」では、各都道府県名の前に display:none(非表示)の要素があり、「13」(東京都)のような都道府県コードが入っています。「都道府県の面積一覧」でも「01」「02」…が同じように隠れています。画面には出ませんが、HTML の中にはあります。
  • マイナスの記号が違うことがあります。 英語版の人口の表では、減少率が「−0.18%」のように半角ハイフンではないマイナス記号(U+2212)で書かれています(47 か所)。このままだと表計算ソフトが文字列として扱うことがあります。
  • 並べ替えると、ページの中の行の順番が変わります。 英語版の人口の表で見出しをクリックすると、ページの中の行そのものが並べ替わりました(2026年10月16日、Chrome で確認)。開いているページを読む道具は画面どおりの順で取り、アドレスからページを取り直す道具は元の順で取ります。

Google スプレッドシート:IMPORTHTML

Google スプレッドシートを使っているなら、いちばん手軽です。

=IMPORTHTML("https://ja.wikipedia.org/wiki/都道府県の人口一覧", "table", 1)

最後の数字は、Google のヘルプの言い方では「HTML ソースで定義されている」表の何番目か、です。お知らせやナビゲーションの枠も数に入るので、画面から想像する番号と違うことがよくあります。2026年10月16日に取得した HTML では、「都道府県の人口一覧」の人口の表は 1 番目の <table> でした。番号の数え方と、Google が説明しているエラーは「IMPORTHTML が動かない・違う表を取るとき」にまとめています。

気をつけること:

  • 脚注の記号・結合セル・非表示の要素を IMPORTHTML がどう扱うかは、Google のヘルプに書かれていません。結果に「[注 1]」のような記号、2 段目の見出し、画面になかった「13」「02」のような数字が入っていないか、ページと見比べてください。
  • 数式はシートを開いている間に更新されます。記事が編集されれば数字も変わります。ある時点の数字を残したいなら、セルをコピーして値だけ貼り付け直します。

Excel:「Web から」(Windows 版)

Windows 版の Excel は、「データ」→「Web から」でページを読み込み、表の一覧から選べます。手順、使える版、Microsoft が書いていることは「Excel の「Web から」で表が取れないとき」にあります。脚注の記号・結合した見出し・非表示の要素をどう扱うかは Microsoft のドキュメントに書かれていないので、読み込む前にプレビューをページと見比べてください。結合セルの下が空欄になったら、Power Query のフィル ダウンとヘッダーの昇格で直せます(「列名が「Column 1」になる・結合セルや見出しが崩れる」)。

コピー&ペーストして、あとで直す

表の左上の見出しから右下のセルまでを選んでコピーし、表計算ソフトに貼ります。そのあとで次の 3 つを直します。

脚注の記号を消す

  • Excel: Ctrl+H(置換)を開き、「検索する文字列」に [*]、「置換後の文字列」を空にして置換します。Microsoft のヘルプでは * は「任意の数の文字」なので、角かっことその中身がまとめて消えます。「A[1] と B[2]」のように記号の間に文字があるセルでは、その文字も消えることがあるので、確かめてください。
  • Google スプレッドシート: 「編集」→「検索と置換」で「正規表現を使用した検索」にチェックを入れ、検索に \[[^\]]*\]、置換後を空にします。Google スプレッドシートの正規表現は RE2 です。データとしての角かっこも消えるので、まず検索だけして、何が当たるかを見てください。

2 段の見出しを 1 行にする

「総面積 / 面積 (km2)」のように 2 段を手で 1 行にまとめ、余った行を消します。結合セルの下の空欄は、Power Query のフィル ダウンで埋められます。貼った範囲で使うときは、先に「データ」→「テーブルまたは範囲から」で Power Query に読み込みます(「列名が「Column 1」になる・結合セルや見出しが崩れる」)。

数字を数値にする

脚注を消したあと、−(U+2212)を半角の - に置換します。Excel で、まだ文字列のままの数字はセルの角に緑の三角が出ます。Microsoft のヘルプでは、そのセルを選んで「数値に変換」を選ぶか、別の列で =VALUE() を使う方法が説明されています。全角の数字や「▲」で負の数を表す表の直し方は、ここでは扱いません。

コピーで取れるのは、画面に出ているものです。並べ替えた順番のまま、表示されている行だけが入ります。

専用の道具

  • wikitable2csv(wikitable2csv.ggor.de):サイトの説明によると、表のある Wiki ページの URL を入れて Convert を押し、結果をコピーするか CSV ファイルとしてダウンロードする Web ツールです。2026年10月16日の時点で、サイトは表示でき、ソースのリポジトリ(github.com/gambolputty/wikitable2csv)もアーカイブされていませんでした。脚注や結合した見出しの扱いは試していません。
  • pandas の read_html(Python を書く人向け):ページの表をすべて DataFrame のリストで返し、pandas 3.0 のドキュメントには「colspan と rowspan を正しく扱うよう試みる」とあります。match 引数で、表に含まれる語を指定して選べます。

データを使い回すときのライセンス

Wikipedia の文章は、クリエイティブ・コモンズ 表示-継承(CC BY-SA 4.0)で利用でき、特記がなければ GNU Free Documentation License(GFDL)でも利用できます。Wikipedia から取った表や、それをもとに作ったものを公開するなら、日本語版の「ウィキペディアを二次利用する」には、おおむね次のことが書かれています。

  • 著作者を表示する(記事へのリンクや URL など)
  • ライセンスの写しを付けるか、ライセンスの URL を示す
  • 改変したなら、改変したことを示す
  • 改変して作ったものも、同じ条件のライセンスで公開する

ライセンスの表示が求められるのは、公開・配布するときです。また、Wikipedia の表の数字の多くは、別の出典から引かれています(「都道府県の人口一覧」は国勢調査や推計人口)。公開する資料では、元の統計を出典にしたほうが確かで、その統計に独自の利用条件があることもあります。

TablePick でできること

TablePick は私たちの拡張機能で、開いているタブの表を読みます。2026年10月6日の確認では、英語版の「List of countries and dependencies by population」(「List of countries by population」から転送される記事で、上で見た国連の一覧とは別の記事)で人口の表を一番上の候補として見つけ、240 行×6 列を % や – を崩さずに書き出しました。Wikipedia の表に似せたサンプル(見出しがグループになった表、非表示の行と脚注がある表)を使った自動テストでも、動作を確かめています。

  • 脚注の記号: 初期設定では、ページと同じく残します。整形オプションの「脚注記号 [1] などを除去」をオンにすると外れます。[a] のような英字や「[注 1]」のような形も対象です。
  • 結合セル: ブラウザの表示と同じマス目に展開し、結合された値はまたがるすべての行に入れます(切り替えできます)。
  • 2 段の見出し: 「総面積 / 面積 (km2)」のように「 / 」でつないだ 1 行の見出しにします。
  • 見えない文字: 初期設定では画面に見えている文字だけを読むので、上の「13」「02」のような並べ替え用の文字は入りません。
  • 並べ替えた順: 今の行の順番で読みます。ページで先に列を並べ替えておけば、その順で書き出されます。
  • 形式: XLSX・CSV・TSV・JSON・Markdown、またはクリップボードへのコピー。

ここまではすべて無料プランで使えます。知っておいてほしい制限が 2 つあります。XLSX では、「1425423212」「-0.5」のような飾りのない数字だけを数値のセルとして書きます。桁区切りのカンマ、%、− が付いた数字は文字列のまま入ります。数値に直す「数値を整形」は Pro の機能です(% は小数にします。「−0.18%」は -0.0018)。また、TablePick は自動で更新しません。書き出すたびに、その時点のページの写しになります。

これが要らない場合

  • 小さな表で、必要なセルに脚注がない:コピー&ペーストで足ります。
  • Google スプレッドシートを使っていて、記事の更新に合わせて数字を変えたい:IMPORTHTML が向いています。
  • Python を書けて、たくさんの記事から表を集めたい:pandas の read_html が向いています。

Web の表を表計算ソフトに入れるほかの方法は「Web の表を Excel に取り込むときにつまずく 4 つのこと」に、表計算ではなく Markdown や JSON にしたい場合は「Web の表を Markdown・JSON にする」にまとめています。

根拠

2026年10月16日に確認。

ガイドの一覧