PR
アフィリエイト広告を利用しています
アフィリエイト広告を利用しています

【コピペOK】エクセルで座標から距離を計算する方法|座標差・2点間距離・累計距離を3ステップで出す

エクセルで座標から距離を計算する3ステップのアイキャッチ。座標差ΔX・ΔYと斜辺の距離を示した直角三角形 EXCEL数式講座
スポンサーリンク

【この記事について】本記事は 2026年10月2日 時点で、Microsoft の公式サポート情報と国土地理院の公開情報(記事末尾に出典)を確認し、あわせて Windows 版 Microsoft 365 の Excel(バージョン 16.0・ビルド 20430)で、掲載した数式をすべて実際に入力して計算して書いています。記事中の計算結果は、本記事で用意した練習用の座標(4点)で計算した値です。対象環境:Windows 版の Microsoft 365 の Excel(デスクトップ版)。Mac 版・Web 版、またはお使いのバージョンによって、画面の表示や使える関数が異なる場合があります。本記事で扱うのは、渡された座標から図面上の距離を出すところまでです。測量成果として提出する計算や、座標系の変換は扱いません。社内や取引先に計算方法の決まりがある場合は、そちらを優先してください。本記事の内容の利用は、ご自身の判断と責任でお願いします。

座標から距離を出すのは、エクセルなら引き算と、ルート(SQRT)だけです。X座標がB列、Y座標がC列に入っているなら、距離は =ROUND(SQRT((B3-B2)^2+(C3-C2)^2),3) の1本で出ます。関数を覚える必要も、専用ソフトもいりません。この記事では、座標を並べる表の作り方から、座標差(ΔX・ΔY)・2点間の距離・測点をつないだ累計距離までを3ステップで作り、「計算できない」「答えが明らかに変」になる4つの原因と、その場で止める書き方までをまとめます。

エクセルで座標から距離・累計距離を出す流れの図。X列Y列に座標を並べ、座標差ΔX・ΔYを引き算で出し、ROUNDとSQRTで距離、SUMで累計距離を出す4ステップと、空欄・全角マイナス・文字列のつまずき
スポンサーリンク

まずはこれだけ|座標計算の数式早見表

測点名がA列、X座標がB列、Y座標がC列に入っていて、2行目が1点目、3行目が2点目という前提です。この配置にしておけば、下の数式をそのまま貼れます。

出したいもの 入れるセル 数式 練習データでの結果
ΔX(X座標の差) D3 =B3-B2 44.523
ΔY(Y座標の差) E3 =C3-C2 38.444
2点間の距離 F3 =ROUND(SQRT(D3^2+E3^2),3) 58.824
距離(座標差を作らず1本で) F3 =ROUND(SQRT((B3-B2)^2+(C3-C2)^2),3) 58.824
累計距離 G3 =ROUND(SUM($F$3:F3),3) 58.824
空欄・文字列で止める形 F3 =IF(COUNT(B2:C3)<4,”要確認”,ROUND(SQRT((B3-B2)^2+(C3-C2)^2),3)) 58.824

覚えるのは3行目だけです。あとは下へコピーすれば、測点が何点あっても同じ式で通ります。ここから、1つずつ意味と入れ方を見ていきます。


スポンサーリンク

手順1|座標を表に並べる

まず土台の表を作ります。次の配置にしておくと、この記事の数式がそのまま使えます。

セル 入れるもの 例
A1 / B1 / C1 見出し 測点 / X座標(m) / Y座標(m)
A2 から下 測点名 No.1、No.2 …
B2 から下 X座標(数値だけ) -8420.123
C2 から下 Y座標(数値だけ) 12050.456
D列 / E列 ΔX / ΔY 手順2で数式を入れる
F列 / G列 距離 / 累計距離 手順3以降で数式を入れる

ここでいちばん大事なのは、セルに数値だけを入れることです。「12050.456m」のように単位を付けたり、全角で打ったりすると、後の計算が止まります(理由は後半でまとめます)。

この記事では、次の4点を練習データとして使います。同じ結果になるか確かめたい方は、そのまま入れてみてください。

測点 X座標(m) Y座標(m)
No.1 -8420.123 12050.456
No.2 -8375.600 12088.900
No.3 -8310.250 12140.000
No.4 -8290.000 12205.750

X座標がマイナスなのは間違いではありません。日本の測量で使う平面直角座標系は、全国を19の系に分けて、それぞれの原点を X=0.000メートル・Y=0.000メートルと決めています(国土地理院)。原点より南側は X がマイナスになります。マイナスのまま計算して問題ありません。


スポンサーリンク

手順2|座標差(ΔX・ΔY)を出す

次に、1つ前の測点との差を出します。D3 と E3 に入れて、下へコピーするだけです。

セル 数式 意味
D3 =B3-B2 ΔX(X方向にどれだけ進んだか)
E3 =C3-C2 ΔY(Y方向にどれだけ進んだか)

D3:E3 を選んで、D5 まで(測点が4つなら5行目まで)コピーします。練習データなら、こうなります。

区間 ΔX ΔY
No.1 → No.2 44.523 38.444
No.2 → No.3 65.350 51.100
No.3 → No.4 20.250 65.750

ΔX・ΔYは、距離を出すための途中の数字ですが、これだけで「どっちへ何メートル動いたか」が読めます。符号がプラスならX(またはY)が増える向き、マイナスなら減る向きです。1行目(2行目のセル)は、比べる相手がいないので空のままにしておきます。


スポンサーリンク

手順3|2点間の距離を出す

座標差が出たら、距離は三平方の定理(ピタゴラスの定理)で出ます。ΔXとΔYをそれぞれ2乗して足し、ルートを取るだけです。

F3 に次の式を入れて、下へコピーします。

書き方 数式 向いている場面
座標差の列を使う =ROUND(SQRT(D3^2+E3^2),3) ΔX・ΔYも表に見せたいとき
1本にまとめる =ROUND(SQRT((B3-B2)^2+(C3-C2)^2),3) 列を増やしたくないとき
SUMXMY2 を使う =ROUND(SQRT(SUMXMY2(B2:C2,B3:C3)),3) 座標が横並び(1行に1点)のとき

3つとも同じ答えになります。練習データでは、どれも 58.824 になりました。SQRT はルートを返す関数で、「^2」は2乗を表します。2乗してから足すので中身がマイナスになることはなく、SQRT がマイナスの値で返す #NUM! エラーは、この使い方では出ません。

ROUND(…,3) は小数第3位(ミリ単位)で丸める指定です。センチ単位でよければ 2、ミリまで要るなら 3 に変えてください。練習データの結果は次のとおりです。

区間 ΔX ΔY 距離(m)
No.1 → No.2 44.523 38.444 58.824
No.2 → No.3 65.350 51.100 82.957
No.3 → No.4 20.250 65.750 68.798

ここまでで、「この2点、何メートル離れてる?」に答えられる表ができました。測点が100点あっても、やることは同じです。

測点をつないだ累計距離を出す

「No.1からNo.4まで歩いたら何メートルか」を出すには、距離の列を上から足していきます。G3 に次の式を入れて、下へコピーします。

=ROUND(SUM($F$3:F3),3)

ポイントは先頭の F3 だけを $F$3 で固定することです。こうすると、下にコピーしたとき範囲の始まりは動かず、終わりだけが伸びていきます。練習データでは次のようになります。

測点 区間距離(m) 累計距離(m)
No.2 58.824 58.824
No.3 82.957 141.781
No.4 68.798 210.579

累計が1ミリ違う、は丸めの順番のせい

ひとつだけ、知っておくと慌てずに済むことがあります。丸めてから足すか、足してから丸めるかで、合計が変わることがあります。

練習データで実際に計算すると、こうなりました。

やり方 数式 結果
丸めた距離を足す F列(丸めた値)を SUM 210.579
丸めずに足してから丸める 丸めない距離を SUM してから ROUND 210.578

差は0.001m、つまり1ミリです。どちらが間違いというわけではありません。区間距離の表と累計の数字を両方出すなら、見た目を合わせられる「丸めた距離を足す」ほうが説明しやすく、提出先から「丸めは最後に1回」と指定されているならもう一方を使います。社内や取引先に決まりがあるときは、そちらに合わせてください。

「計算できない」「答えが変」の原因4つと直し方

ここからが、実際にいちばん時間を取られるところです。4つとも、Excel で実際に入力して挙動を確かめました。

# 座標の入り方 何が起きるか
1 セルが空欄 エラーにならない。空欄は0として計算され、距離だけが数千〜数万という値になる
2 全角のマイナス「−」や長音「ー」で打った #VALUE! になる
3 「12050.456m」のように単位が付いている #VALUE! になる
4 見た目は数字だが文字列(全角数字・カンマ区切り・前後に空白) 引き算と距離は計算できてしまうのに、SUM・AVERAGE・COUNT だけが無視する

いちばん危ないのは1番(空欄)

練習データでY座標を1つだけ空欄にして計算したところ、その区間の距離は 12205.77 と出ました。エラーの赤い表示は出ません。「エラーが出ていない=合っている」ではないということです。測点が50もあると、この1行はまず見つかりません。

4番は「引き算は合うのに合計だけ合わない」

4番は特に分かりにくい形です。全角で打った数字やカンマ入りの数字は、Excel が引き算のときだけ自動で数値として読み替えます。そのため距離は正しく出ます。ところが COUNT は「数値ではない」と判定するので、合計や平均の対象から外れます。実際に試すと、2つのセルのうち文字列のほうが無視され、COUNT は1、SUM は片方だけの値になりました。

止める:COUNT で先に気づく

対策はシンプルで、計算する前に「数値が4つそろっているか」を数えさせるだけです。距離の式をこの形にします。

=IF(COUNT(B2:C3)<4,”要確認”,ROUND(SQRT((B3-B2)^2+(C3-C2)^2),3))

COUNT は数値が入ったセルだけを数える関数です。2点ぶんのX・Yで4つ。空欄があっても、文字列が混じっていても4つに届かないので、距離の代わりに「要確認」と表示されて止まります。実際に、空欄の行も全角で打った行も「要確認」になることを確認しました。この1行があるかないかで、気づけるかどうかが変わります。

直す:文字列の座標を数値に戻す

「要確認」が出た座標は、空いている列で数値に直します。B列を直すなら、次の式です。

=VALUE(ASC(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B2,”,”,””),”m”,””),”−”,”-“),”ー”,”-“)))

長く見えますが、やっていることは4つだけです。

  • SUBSTITUTE でカンマ・単位の「m」を消し、全角のマイナス「−」と長音「ー」を半角の「-」に置き換える
  • ASC で全角の数字を半角にする
  • VALUE で文字列を数値に変える

この式で、全角の数字・カンマ区切り・前後の空白・単位つき・全角マイナス・長音で打ったマイナスのすべてが数値に直ることを確認しました。直した列をコピーして、元の座標の列に「値」で貼り付ければ、表はきれいになります。

なお、同じ「数字に見えるのに計算されない」問題は、座標に限らずエクセル全体で起こります。合計や検索がうまくいかないときの確認手順は、こちらにまとめています。

エクセルで検索できない原因8つと直し方|Ctrl+Fで見つからない・検索対象・完全一致・書式の設定を確認
エクセルで Ctrl + F を押しても見つからないときは、検索のオプションに前回の設定が残っていることがほとんどです。検索対象(数式・値)、完全一致、全角と半角、書式の条件、フィルターで隠れた行、ワイルドカード、検索場所の8つを、Excel で実際に試した結果つきで確認します。

この距離は、どこまで使っていいか

最後に、使いどころの線引きだけはっきりさせておきます。ここを曖昧にすると、あとで作り直しになります。

X が北、Y が東

一般的な数学のグラフでは横軸がX・縦軸がYですが、日本の測量で使う平面直角座標系は逆です。国土地理院の資料では、X軸は座標系原点で子午線に一致して真北に向かう値を正とし、Y軸はX軸と直交して真東に向かう値を正とする、と定められています。

ただし距離の計算では、XとYを取り違えても答えは変わりません。2乗して足すので、どちらが先でも同じだからです。取り違えが問題になるのは、方位や図面の向きを扱うときです。

出るのは「図面上の距離」

この計算で出るのは、平面直角座標系の上での直線距離です。平面直角座標系はX軸上の縮尺係数を0.9999と定めており、地上の実距離とは、わずかにずれます。社内の確認や、図面から長さの見当をつける用途には十分ですが、測量成果として提出する数値は、専用のソフトや有資格者の計算に従ってください。この記事はそこまでは扱いません。

高さ(標高)は入っていない

ここで出しているのは平面の距離です。高低差のある斜面に沿った長さが要るなら、Z(標高)の差も使って計算し直す必要があります。平面の距離だけを「現場の距離」として報告しないよう、どちらを求められているか先に確かめてください。

よくある質問

Q. 2点が離れた場所(別のセル)にあるときは?

セル番地を直接書けば大丈夫です。たとえば1点目が B2・C2、2点目が B10・C10 なら、=ROUND(SQRT((B10-B2)^2+(C10-C2)^2),3) になります。表の並び順に関係なく計算できます。

Q. 距離がマイナスになることはありますか?

ありません。ΔXやΔYはマイナスになりますが、2乗した時点でプラスになるためです。距離がマイナスで出たときは、式のカッコの位置が違っている可能性が高いので、「^2」が差の全体にかかっているか確かめてください。

Q. 座標がミリ単位(mm)で渡されました

先にメートルに直してから計算すると分かりやすくなります。=E2/1000 のように別の列で割っておき、その列で距離を出します。X と Y で単位が混ざっていないかは必ず確認してください。片方だけmmのまま計算すると、エラーは出ないのに結果が大きく狂います。

Q. 面積も出せますか?

座標から面積を出す計算もありますが、求め方が複数あり、提出先で指定されていることが多い部分です。この記事では扱いません。まずは距離の表を正確に作るところまでを確実にしてください。

Q. 測点が増えるたびに式を入れ直す必要がありますか?

ありません。D3:G3 を選んで下へコピーしておけば、測点を足したときにその行まで引っ張るだけで済みます。表をテーブルに変換しておくと、行を足したときに数式が自動で入ります。

この記事で出した距離は、図面の上の水平距離までです。高さを足すとなると三角関数に移りますが、Excel の SIN・COS・TAN が受け取るのはラジアンで、度のまま入れてもエラーは1つも出ません。動画では 斜距離 100メートル・鉛直角 45度 の1行で、正しい 70.711 が 85.090 と出た事故から始めて、壊れる場所が 括弧の中の RADIANS(入口)と 外側の DEGREES(出口)の2つしかないことを1枚のフローに切り分け、空いたセルに3つ打つだけの確かめ方まで渡しています。

まとめ

  • 距離は =ROUND(SQRT((B3-B2)^2+(C3-C2)^2),3) の1本。座標差を見せたいなら ΔX・ΔY の列を分ける。
  • 累計距離は =ROUND(SUM($F$3:F3),3)。先頭だけ $ で固定する。
  • いちばん危ないのは空欄。エラーが出ないまま距離が巨大になる。
  • 全角のマイナス・単位つきは #VALUE!。文字列の数字は、引き算は通るのに SUM だけ合わない。
  • 先に =IF(COUNT(B2:C3)<4,”要確認”,…) で止める。直すのは VALUE と ASC と SUBSTITUTE。
  • 出るのは図面上の距離。測量成果として出す数値は、指定された方法に従う。

「座標から距離を出しておいて」と急に言われると身構えてしまいますが、中身は引き算とルートだけです。この表を一度作っておけば、次からは座標を貼るだけで済みます。まずは練習データの4点で、58.824 が出るか試してみてください。それが出せたなら、あなたの現場の座標でも、もう同じように出せます。

次に読む

【コピペOK】工程能力指数(Cp・Cpk)をエクセルで計算する方法|平均と標準偏差から3ステップ・判定の目安1.33
工程能力指数(Cp・Cpk)をエクセルで計算する方法を、AVERAGEとSTDEV.Sから3ステップで解説。判定の目安1.33の出典、平均がずれるとCpkだけ下がる実例、#DIV/0!などのつまずきと直し方まで、練習データ付きでまとめました。
エクセルで連番を振る方法|行を削除しても崩れない・フィルターで1から振り直す・001と表示する
エクセルの連番は、あとで行を消すかどうかで振り方が変わります。ドラッグと[連続データの作成]、行を削除しても崩れない=ROW()-1、行を足すと自動で番号が付くテーブル、フィルターで1から振り直すSUBTOTAL、001と表示する表示形式まで、Excelで実際に動かした結果つきでまとめます。
エクセルで貼り付けできない原因7つと直し方|グレーアウト・結合セル・フィルター中のコピー
エクセルで貼り付けができないときは、貼ろうとした瞬間に何が起きたかで原因をしぼれます。グレーアウト・領域のサイズ違い・結合セル・フィルター・シートの保護・クリップボードなど7つを、症状別の早見表と公式情報にもとづく手順で確認します。

出典(2026年10月2日 確認)

わかりやすい平面直角座標系|国土地理院
https://vldb.gsi.go.jp/sokuchi/surveycalc/surveycalc/jpc/jpc.htm

平面直角座標系(平成十四年国土交通省告示第九号)|国土地理院
https://www.gsi.go.jp/LAW/heimencho.html

SQRT 関数|Microsoft サポート
https://support.microsoft.com/ja-jp/excel/functions/sqrt-function

SUMXMY2 関数|Microsoft サポート
https://support.microsoft.com/ja-jp/excel/functions/sumxmy2-function

ROUND 関数|Microsoft サポート
https://support.microsoft.com/ja-jp/excel/functions/round-function

COUNT 関数|Microsoft サポート
https://support.microsoft.com/ja-jp/excel/functions/count-function

ASC 関数|Microsoft サポート
https://support.microsoft.com/ja-jp/excel/functions/asc-function

VALUE 関数|Microsoft サポート
https://support.microsoft.com/ja-jp/excel/functions/value-function


当ブログは、Excel や VBA で手が止まった事務職のみなさんに、その場で直せる手順を届けたい思いで運営しています。
「記事が役に立った」「続きも読んでみたい」と感じていただけたら、下記リンクからのご利用・ご支援で応援してもらえると嬉しいです。

EXCEL数式講座
スポンサーリンク
シェアする
メリ爺をフォローする

コメント

タイトルとURLをコピーしました