Wikipedia の表を Excel・CSV に取り込む(脚注・結合した見出し)
このガイドは TablePick を作っている Quillfold が公開しています。
都道府県の人口や面積、選挙の結果、記録の一覧。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日に確認。
- Wikipedia「都道府県の人口一覧」(HTML の構造)
- Wikipedia「都道府県の面積一覧」(HTML の構造)
- Wikipedia (英語版)「List of countries and dependencies by population (United Nations)」(HTML の構造、Chrome での並べ替え)
- Wikipedia「Wikipedia:ウィキペディアを二次利用する」
- Google ドキュメント エディタ ヘルプ「IMPORTHTML」
- Google ドキュメント エディタ ヘルプ「検索と置換」(正規表現を使用した検索、RE2)
- Microsoft サポート「ワークシートの文字列と数値を検索または置換する」(ワイルドカード、Ctrl+H)
- Microsoft サポート「Excel で文字列として保存されている数値を数値に変換する」
- wikitable2csv、ソース(GitHub)
- pandas ドキュメント
pandas.read_html(3.0)