OnlineMapMaker logo

Excelを地図に:表計算データをインタラクティブな地図に表示

緯度と経度の列があるExcelブックをアップロードすると、各行が地図上の点になります。座標の列は自動で見つかり、別の列を選ぶこともできます。任意の列で点を色分けし、点をクリックして行の内容を読み、結果をGoogle Earth用のKMLまたはGeoJSONとしてダウンロードできます。 全画面で開く ↗

Rate this tool:
広告
広告
Loading map…
GISプロジェクトでお困りですか?サービスを見る

このツールでできること

場所の一覧の多くはExcelで管理されています。顧客の拠点、店舗網、採取地点、イベント、現場の設備などです。各行には緯度と経度がありますが、表計算ソフトでは行がどこにあるかを見ることはできません。52.52 や 13.405 のような数字を見て、地図を想像するしかありません。

このツールは、先にCSVで保存しなくても、ブックを直接読み込みます。すべてのシートを調べ、表の上にあるタイトル行を飛ばし、Lat/Long、Latitude/Longitude、Breitengrad/Längengrad のような名前から緯度と経度の列を見つけます。十進法の度、カンマ付きの数値、度分秒も読めます。有効な座標を持つ行は、インタラクティブな地図上の点になります。マウスを重ねると名前が、クリックすると行全体が表示され、凡例で点のグループを隠したり表示したりできます。

さらに、任意の列で点を色分けできます。店舗の種類のような文字列の列は値ごとに1色、売上のような数値の列は低い値から高い値まで5段階のクラスになります。色はダウンロードにも反映されます。KMLファイルはGoogle Earthで同じ色で開き、GeoJSONファイルは色を marker-color として持ちます。ブックはブラウザ内で読み込まれ、アップロードされることはありません。

広告
広告

表の準備のしかた

ほとんどのシートはそのままで使えます。サンプルブックの先頭は次のとおりです。1行目にタイトル、空の行、3行目に列名があり、その下に1行に1店舗が並びます。ツールは3行目を見出し行として自動で認識します。最後の行のオンラインショップには座標がないので、数えられますが地図には描かれません。

ABEGHI
1Sample data: fictional store network
2
3Store IDStoreTypeSales 2025 (EUR)LatLong
4S-001Berlin FlagshipFlagship2,100,00052.5213.405
5S-002Hamburg CentralStandard1,383,00053.55119.9937
…
35S-032Web ShopOnline4,200,000
1つの場所に1行
各行が1つの点になります。合計などの集計行は、表の外か、下の別の場所に置いてください。
見出し行
1つの行で各列に名前を付けます。その上のタイトル行や空の行は自動で飛ばします。判断が違っていたら、Workbookパネルで見出し行を選んでください。
緯度と経度の列
GPSやWeb地図が使うWGS84の十進法の度で書いた2つの列。緯度を先に置くのが一般的ですが、ここでは列の順序は関係ありません。
複数のシート
ツールは座標のある最初のシートを開きます。ほかのシートはすべてSheetメニューに表示されます。
まだ座標がない場合
住所しかない場合は、まずこのサイトの住所から座標を求めるツールで座標を取得し、2つの列として追加してください。

Excelは、保存している値より少ない桁数で数値を表示することがあります。たとえば 48.858412 と保存されていても 48.86 と表示されます。このツールは保存されている値を読むので、精度は失われません。一方、ExcelでシートをCSVとして保存すると、表示されている値が使われます。これも、.xlsxファイルを直接読み込む理由の一つです。

認識される列名

列名は整理してから比較します。大文字と小文字は区別せず、(WGS84) のような括弧内の文字は取り除き、スペースとピリオドはアンダースコアにします。一致するものがなければ、Coordinatesパネルで列を選んでください。

緯度
lat、latitude、lati、y、ycoord、point_y、decimalLatitude、gps_lat、lat_dd、さらに Breite/Breitengrad、latitud、latitudine、緯度。
経度
lng、lon、long、longitude、x、xcoord、point_x、decimalLongitude、gps_lon、lon_dd、さらに Länge/Längengrad、longitud、longitudine、経度。
両方を持つ1つの列
coordinates、latlng、position、location、gps、wkt、geometry などの名前で、セルに2つの数値("52.52, 13.40")またはWKTのポイント(POINT (13.40 52.52))がある場合。
候補の選び方
考えられる緯度と経度の組を最初の300行で試し、有効な値が最も多い組を選びます。同点のときは x/y より本来のlat/lonの名前が優先されるので、メートル単位の投影座標のx/y列が度として扱われることはありません。
ラベル列
name、title、label、store、site、station という名前の列が点の名前になります。ない場合は、主に文字列が入っている最初の列を使います。名前はマウスを重ねたとき、ポップアップのタイトル、KMLのプレースマーク名として表示されます。

列で点を色分けする

「Color by column」で任意の列を選ぶと、その値に応じて点に色が付きます。方法はデータから自動で選ばれ、数値の列なら切り替えることもできます。

値ごと(カテゴリー)
文字列の列や、値の種類が少ない数値の列に使います。値ごとに1色が割り当てられ、多い値から順に並びます。色が付くのは11種類までで、残りはグレーの「Other」クラスにまとめます。
段階(5クラス)
売上や人口のように値の種類が多い数値の列に使います。値を5つの分位クラスに分け、濃い紫(低い)から緑(高い)まで色を付けます。各クラスの点の数はほぼ同じになります。
空の値と文字列
段階で色分けした列では、数値のない行はグレーの「No number」クラスに入るので、見えなくなることはありません。
インタラクティブな凡例
凡例は地図とサイドバーの両方に表示されます。値やクラスをクリックするとその点が隠れ、もう一度クリックすると表示されます。件数で各グループの点の数がわかります。
ダウンロードにも色を反映
KMLには色ごとのスタイルが入るので、Google Earthでも同じ色になります。GeoJSONでは各点に marker-color プロパティが付き、geojson.ioや多くのWeb地図がこれを読みます。隠した点はどちらのファイルにも含まれません。

私の考え:「どんな種類か」を見るならカテゴリー、「どれくらいか」を見るなら段階クラスを使ってください。1〜5の評価のように数値の列でも値が数種類しかないなら、たいていは「Each value」のほうがわかりやすくなります。

技術的な詳細

ツールが受け付けるものと出力するものは次のとおりです。

入力
.xlsx、.xlsm、.xlsb、古い .xls のブックと、OpenDocumentの .ods スプレッドシート(50 MBまで)。.csv や .tsv のファイルには、CSV to MapツールかTSVビューアーを使ってください。
セルの値
数値は表示形式ではなく、保存されている精度のまま読みます。日付はExcelでの表示どおりです。数式は、ファイルに保存されている最後の計算結果を使います。
座標の形式
十進法の度(48.8584、48,8584)、方位の文字付き(48.8584 N)、度分秒(48°51'30"N、48 51 30 N)。
有効な座標
緯度は−90〜90、経度は−180〜180(WGS84)。範囲外の行は数えられ、地図には表示されません。2つの値を入れ替えれば収まる行も数えられ、Swapボタンが表示されます。
インタラクティブな地図
点はcanvasに描くので、数万件でもなめらかに動きます。マウスを重ねるとラベル、クリックすると行全体が表示され、凡例でグループを隠したり表示したりできます。道路地図と衛星画像が使えます。
表ビュー
Tableボタンを押すと、並べ替え、絞り込み、1ページ100行の表でシートを表示します。行の ⌖ ボタンで、その点へ地図上で移動します。
GeoJSONの書き出し
各列をプロパティに持つポイントのFeatureCollection。数値は数値として書き出し、色分けしている場合は marker-color を付けます。
KMLの書き出し
KML 2.2。点ごとに1つのプレースマークを作り、ラベル列を名前に、すべての列をExtendedDataに入れ、色ごとにアイコンのスタイルを作ります。
プライバシー
ブックはブラウザ内で読み込まれます。インターネットから読み込むのはベースマップのタイルだけです。

Excelのシートを地図にする手順

組み込みのサンプルを使った流れ全体です。サンプルは、Lat と Long の列、店舗の種類、開店日、2025年の売上を持つ、ヨーロッパの架空の32店舗です。表はタイトルの下の3行目から始まり、オンラインショップには座標がありません。

世界地図の上にUpload ExcelとSample Dataのボタンがある空のExcelを地図にツール
1
ステップ1: ツールを開く

地図は道路のベースマップ付きで開きます。Upload Excelをクリックするか、ブックを地図にドラッグします。ここではSample Dataをクリックしました。

ヨーロッパの地図上の店舗の点と、シートStores、見出し行3、地図上31件を示すWorkbookパネル
2
ステップ2: ブックを確認する

Workbookパネルには、開いたシート(2枚のうち最初の「Stores」)と、見つかった見出し行(タイトルの下の3行目)が表示されます。32店舗のうち31店舗が地図上にあり、オンラインショップには座標がありません。

LatとLongが緯度と経度、Storeがラベル列に選ばれたCoordinatesパネル
3
ステップ3: 列を確認する

Coordinatesパネルには、検出された列 Lat と Long、ラベル列 Store が表示されます。ラベルは点にマウスを重ねたときと、ポップアップのタイトルに表示されます。

Standard、Flagship、Outlet、Pop-upの凡例付きで、種類ごとに色分けされた店舗の点
4
ステップ4: カテゴリーで色分けする

「Color by column」で Type を選びます。店舗の種類ごとに色が付き、件数付きの凡例が地図とサイドバーに表示されます。

売上で5段階に色分けされた店舗の点と、凡例で最も低いクラスを隠した状態
5
ステップ5: 数値で色分けする

Sales 2025 (EUR) を選ぶと、低い(紫)から高い(緑)までの5段階のクラスに切り替わります。ここでは凡例の最も低いクラスをクリックして、その店舗を隠しました。

GeoJSONとKMLのボタンがあるDownloadパネルを強調した、店舗シートの表ビュー
6
ステップ6: KMLまたはGeoJSONをダウンロードする

地図に表示されている点をダウンロードします。KMLはGoogle EarthやGoogle マイマップで同じ色で開き、GeoJSONはQGIS、ArcGIS、Web地図で使えます。Tableボタンを押すとシートそのものが見られます。

広告
広告

Excelのデータを地図にするほかの方法

このツールは、シートを地図で見て、KMLやGeoJSONのファイルを得るいちばん速い方法です。私が使うほかの方法と、それぞれが向いている場面を紹介します。

Google マイマップ

マイマップは.xlsxファイルをインポートし、緯度と経度の列や住所から行を配置できます。リンクで地図を共有するには便利ですが、1回のインポートは2,000行までで、列によるスタイル設定は簡単なものに限られます。

Excelの3Dマップ

Windows版のExcelには3Dマップ([挿入]>[3Dマップ])があり、Excelの中で行を地球儀の上に表示できます。プレゼンテーションには十分ですが、KMLやGeoJSONは書き出せず、すべてのExcelのバージョンにあるわけではありません。

QGIS

QGISは.xlsxファイルを表として開けます([レイヤ]>[レイヤを追加]>[ベクタレイヤを追加])。プロセシングツールの「テーブルからポイントレイヤを作成」で表を点に変え、スタイルを付けてKMLやGeoJSONとして保存できます。本格的なGIS作業ならこれが適しています。

pandasとGeoPandasを使ったPython

pandas.read_excel はシートを読み、header 引数でタイトル行を飛ばせます。GeoPandasは座標を点に変え、GeoJSONやKMLを書き出します。同じシートが毎週届くなら、この方法が向いています。

同じ作業をコードで

どちらの例も、上のサンプルブックを読みます。列名は3行目にあり、座標は Lat と Long にあります。

# Python: pandas reads the sheet, GeoPandas writes GeoJSON and KML
import pandas as pd
import geopandas as gpd

# header=2: the column names are in row 3, below a title row and an empty row
df = pd.read_excel("stores.xlsx", sheet_name="Stores", header=2)
df = df.dropna(subset=["Lat", "Long"])

gdf = gpd.GeoDataFrame(
    df, geometry=gpd.points_from_xy(df["Long"], df["Lat"]), crs="EPSG:4326"
)
gdf.to_file("stores.geojson", driver="GeoJSON")
gdf.to_file("stores.kml", driver="KML")
// JavaScript: SheetJS reads the workbook, Leaflet draws the points
import * as XLSX from "xlsx";

const wb = XLSX.read(await file.arrayBuffer());
const rows = XLSX.utils.sheet_to_json(wb.Sheets["Stores"], { range: 2 });
for (const r of rows) {
  if (r.Lat == null || r.Long == null) continue;
  L.circleMarker([r.Lat, r.Long]).bindPopup(r.Store).addTo(map); // Leaflet: [lat, lng]
}

私の考え:シートを確認して誰かに1分でKMLファイルを送るなら、このツールを使ってください。地図が大きな分析や繰り返しの作業の一部なら、QGISやPythonを使ってください。

ツールの仕組み

ブックをドロップしてから色分けされた点が表示されるまでに起こることです。どの処理もブラウザ内で行われます。

  1. ブックを読む. SheetJSがファイルを読みます。各シートの使用範囲をセルごとに読み、数値は完全な精度で、日付とエラーはExcelでの表示どおりに、文字列はそのまま取り込みます。空の行と空の列は取り除きます。
  2. 見出し行を見つける. 最初の10行のうち、表の幅の半分以上を埋め、主に文字列が入っている最初の行を見出しとします。その上のタイトルのような短い行は飛ばします。最初の幅の広い行が主に数値なら、シートに見出しはないとみなし、列名は Column 1、Column 2 のようになります。
  3. シートを選ぶ. すべてのシートで座標の列を探し、見つかった最初のシートを開きます。座標のないブックは、最初のシートを表として開きます。
  4. 座標とラベルを検出する. 列名を整理し、上の一覧と比べます。候補の組を最大300行で試し、有効な値が最も多い組を選びます。名前らしい列をラベルにします。
  5. 描画して色分けする. 各行を十進法の度または度分秒として読み、無効な行を数え、点をcanvasレイヤーに描きます。色分けの列はカテゴリーまたは分位クラスに分けられ、どのクラスを表示するかは凡例で決まります。
  6. 書き出す. 表示中の点を、色を marker-color に入れたGeoJSON、または色ごとのスタイルとすべての列をExtendedDataに持つKMLとして書き出します。

検出は最初の推測にすぎません。シート、見出し行、列、ラベル、色はすべてサイドバーで変えられ、地図はすぐに更新されます。

色と数値の裏側

3つの小さな計算が、地図の見た目とダウンロードの中身を決めています。

1. 分位クラス

段階の色分けでは、値を並べ替えて20 %、40 %、60 %、80 %の位置で区切ります。そのため、各クラスには点のおよそ5分の1が入ります。

sorted values:  v(1) ≤ v(2) ≤ … ≤ v(n)
break k = v(⌊k · n / 5⌋ + 1)     for k = 1, 2, 3, 4

31 stores  →  breaks at the 7th, 13th, 19th and 25th smallest value
classes    →  6, 6, 6, 6 and 7 stores

分位は、売上のように偏りのあるデータに向いています。等間隔で区切ると、少数の大きな値のせいでほとんどの点が最も低いクラスに入ってしまうからです。同じ値を持つ点が多いと2つの区切りが重なることがあり、その場合はクラスの数が少なくなります。

2. KMLは色を逆順に書く

Webの色は赤、緑、青の順に書きます。KMLは先にアルファ(不透明度)を書き、その後に青、緑、赤を書きます。この2つの順序を取り違えると、Google Earthで青い点がオレンジになるという、よくある不具合が起こります。

web hex   #2563eb   →  red 25, green 63, blue eb
KML       aabbggrr  →  ff  eb  63  25  →  ffeb6325
          (ff = fully opaque)

ツールは凡例のすべての色をこのように変換するので、KMLファイルはGoogle Earthでもここの地図と同じ見た目になります。

3. 表示される値と保存される値

セルの表示形式が変えるのはExcelでの表示だけで、保存されている値は変わりません。表示のために丸めた座標をそのまま使うと、点が数百メートルずれることがあります。

stored:   48.858412     (Eiffel Tower)
shown:    48.86         (number format 0.00)
error:    0.001588° × 111 320 m ≈ 177 m

worst case with 2 decimals:  0.005° × 111 320 m ≈ 557 m

このツールは常に保存されている値を読みます。ExcelからシートをCSVで書き出す場合は、CSVには表示されている値が入るので、先に表示形式を確認してください。

広告
広告

このツールが役立つ場面

私がExcelを地図にするツールを使うのは、次のような場面です。

  1. 店舗網と支店網. 店舗、支店、倉庫を地図に表示し、種類や売上で色分けして、カバーできていない地域を見つけます。
  2. 営業リストと顧客リスト. CRMから書き出した顧客の拠点を地図に置き、地域、担当者、売上の規模で色分けします。
  3. 現地調査とサンプリング. 測定地点、採取地点、点検結果はたいていExcelで管理されています。状態や結果ごとに色を分けて表示します。
  4. イベントとプロジェクト. 計画表にある会場、工事現場、作業場所を表示し、KMLファイルとして共有します。
  5. データをGoogle Earthに取り込む. XMLを手で書かなくても、シートを色付きのプレースマークと、全列を情報バルーンに持つKMLファイルに変えられます。
  6. GIS用にデータを準備する. QGIS、ArcGIS、Web地図で使える、数値が正しく数値になったきれいなGeoJSONファイルを作れます。
  7. 座標を確認する. データを報告書やアプリに使う前に、座標が欠けている行、範囲外の行、入れ替わった行を見つけます。
  8. 授業とプレゼンテーション. 表がどのように地図になるか、カテゴリーとクラスで地図の伝える内容がどう変わるかを、学生や同僚に見せられます。

よくある質問

1. Excelのデータを地図にするには?

Upload Excelをクリックするか、ブックを地図にドラッグします。ツールが座標のあるシート、見出し行、緯度と経度の列を見つけ、各行を点として描きます。何もインストールせず、何もアップロードしません。

2. シートにはどの列が必要ですか?

十進法の度(または度分秒)の緯度の列と経度の列です。ほかの列は任意で、ポップアップに表示され、点の色分けに使え、ダウンロードにも含まれます。

3. シートに住所しかありません。地図にできますか?

そのままではできません。このツールには座標が必要です。このサイトの住所から座標を求めるツールで住所の緯度と経度を取得し、2つの列として追加してから、シートをもう一度読み込んでください。

4. 違う列が選ばれました。どう変えますか?

Coordinatesパネルで緯度と経度の列を選ぶと、地図はすぐに更新されます。点が世界の違う場所に表示される場合は、Swapをクリックしてください。

5. ブックに複数のシートがあります。どれが使われますか?

座標の列がある最初のシートです。WorkbookパネルのSheetメニューで、ほかのシートに切り替えられます。

6. 表がタイトルの下から始まっています。使えますか?

はい。見出しの上にあるタイトル行や空の行は自動で飛ばします。違う行が見出しとして選ばれた場合は、Header rowメニューで正しい行を選んでください。

7. 列で点を色分けするには?

「Color by column」で列を選びます。文字列の列は値ごとに1色、数値の列は5段階のクラスになり、「Each value」に切り替えることもできます。凡例の項目をクリックすると、その点を隠したり表示したりできます。

8. Google Earthでも同じ色になりますか?

はい。KMLファイルには色ごとにアイコンのスタイルがあり、各プレースマークは自分のクラスのスタイルを使います。Google マイマップもプレースマークとそのデータを読み込めます。

9. GeoJSONファイルには何が入りますか?

表示中の行ごとに1つの点が入り、各列がプロパティになります。数値は数値として書き出され、色分けしている場合は各フィーチャーに marker-color プロパティが付きます。

10. 隠した点もダウンロードに含まれますか?

いいえ。どちらのダウンロードにも、地図に表示されている点だけが入ります。すべてを書き出すには、凡例のすべてのクラスを表示に戻してください。

11. どの種類のファイルを開けますか?

.xlsx、.xlsm、.xlsb、.xlsのブックと、LibreOfficeの.odsスプレッドシートを、50 MBまで開けます。CSVやTSVのファイルには、このサイトのCSV to MapツールかTSVビューアーを使ってください。

12. ブックはアップロードされますか?

いいえ。ファイルはブラウザ内で読み込まれ、ダウンロードもブラウザ内で作られます。インターネットから読み込むのはベースマップのタイルだけです。

ライブラリとクレジット

見出し行と座標の検出、色分け、KMLの書き出しはこのサイトのために書きました。ブックの読み込みと地図の描画にはオープンソースソフトウェアを使っています。

  • SheetJS Community Edition · Apache-2.0 · SheetJS LLC
    .xlsx、.xls、.xlsb、.odsのブックを、ブラウザ内でセルごとに読み込みます。
  • Leaflet 1.9 · BSD-2-Clause · Volodymyr Agafonkin and contributors
    インタラクティブな地図、canvasの点レイヤー、ツールチップ、ポップアップを描画します。
  • OpenStreetMap, Protomaps (hosted by KONAKTIVE), CARTO, Esri World Imagery · ODbLと提供元の利用規約 · OpenStreetMap contributors, Protomaps, KONAKTIVE, CARTO, Esri
    ベースマップのタイルと衛星画像。

関連ツール

ブックはブラウザ内で読み込まれ、サーバーにアップロードされることはありません。サンプルブックの店舗と売上は架空のものです。座標は小数4桁に丸めた都市の中心です。 地図タイル © OpenStreetMap の貢献者、Protomapsで描画(ホスティング:KONAKTIVE)、予備としてCARTO。 衛星画像:Esri。

Muhammad Gulraiz Khan、GIS専門家、KONAKTIVEおよびOnlineMapMaker.comの創業者

著者について

Muhammad Gulraiz Khan

GIS専門家・コンサルタント、KONAKTIVE創業者

Muhammad Gulraiz Khanは、エネルギー分野向けに地理空間ソリューションを提供してきた10年以上のプロフェッショナル経験を持つGIS専門家です。世界銀行、国際金融公社(IFC)、USAIDのプロジェクトにも携わってきました。彼はプロフェッショナル品質の地図作成ツールを誰もが無料で利用できるようにするため、OnlineMapMaker.comを立ち上げました。

広告
広告