例えば以下のように文字数がバラバラの
60進法で表された緯度経度の情報があったとします。
N34'17'31.03E135'16'32.96
N34'17'44.06E135'31'18.5
N35'20'44.67E135'7'3.66
N34'57'25.71E135'57'41.48
N34'57'25.71E135'57'41.48
N35'4'59.77E135'3'2.91
N34'48'55.77E134'43'41.06
これを一括で変換し、10進法で表したいのです。
文字数がバラバラなので、条件としては区切り文字である
'を利用して変換するしかないと思っています。
(例)10進法にする計算~手動ならば~
N35'4'59.77E135'3'2.91
ならば、手動でするには
N35'4'59.77=35+(4/60)+(59.77/3600)
E135'3'2.91=135+(3/60)+(2.91/3600)
で導かれます。手動では文字数関係なく
'区切りで計算できるので、このような簡単なエクセル計算で
成り立ちます。が、大量にある場合はそれも時間がかかり
厳しい状況です。完全自動化のためには良い関数が浮かびません・・。
どうかご教授くださいませ。
'がPointである事はわかっているのですが。。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
順に処理していけば、さほど難しい部分はありませんが、
手順がやたらと多くなってしまうのが難点ですね。
まず作業列を用いた解決を示します。
●緯度と経度が同一のセルに入っている場合
※緯度と経度があらかじめ別のセルに分かれている場合は3から。
元のデータがA列に入っているものとすると、
0.緯度と経度の区切(" ")の位置を探す
B1セル:=FIND(" ",A1)
1.緯度を取り出す
C1セル:=LEFT(A1,B1-1)
2.経度を取り出す
D1セル:=RIGHT(A1,LEN(A1)-B1)
●緯度について
緯度のデータがC列に入っているものとすると、
3.最初の"'"の位置を探す
E1セル:=FIND("'",C1)
4.2番目の"'"の位置を探す
F1セル:=FIND("'",C1,E1+1)
5.度の値を取り出す
G1セル:=MID(C1,2,E1-2)
6.分の値を取り出す
H1セル:=MID(C1,E1+1,F1-E1-1)
7.秒の値を取り出す
I1セル:=MID(C1,F1+1,LEN(C1)-F1)
8.十進法に直す
J1セル:=G1+H1/60+I1/3600
※経度についても同様です。
●一発でやってみる
8の数式に7~3の数式を順に代入していけば、
一つの数式にまとめることもできます。
ただし、同じ計算を何度も繰り返すことになりますから、
データの量によっては処理速度に問題が出るかもしれませんし、
保守性も悪くなります。
緯度または経度のデータがC列に入っているものとすると、
=MID(C1,2,FIND("'",C1)-2)+MID(C1,FIND("'",C1)+1,FIND("'",C1,FIND("'",C1)+1)-FIND("'",C1)-1)/60+MID(C1,FIND("'",C1,FIND("'",C1)+1)+1,LEN(C1)-FIND("'",C1,FIND("'",C1)+1))/3600
(Excel2003で動作確認済)
No.3
- 回答日時:
>完全自動化のためには良い関数が浮かびません・・。
作るのが一番でしょうね。
下に例を書いておきます。(かなり手抜きですが)
使い方は『ツール』⇒『マクロ』⇒『Visual Basic Editer』
editerで『挿入』⇒『標準モジュール』
で出てきた画面に貼り付けてください。
後は普通に関数として呼び出せます。(分類はユーザー定義)
最初のidoには文字列を、次のnewsに0を入れると北緯を、1を入れると東経を返します。
Function 緯度経度(ido As String, news As Boolean) As Double
Dim ct As Integer
Dim ct1 As Integer
For ct = 1 To Len(ido)
If Mid(ido, ct, 1) = "E" Or Mid(ido, ct, 1) = "W" Then Exit For
Next
If news Then
ido = Right(ido, Len(ido) - ct + 1)
Else
ido = Left(ido, ct - 1)
End If
For ct = 2 To Len(ido)
If Asc(Mid(ido, ct, 1)) < 46 Or Asc(Mid(ido, ct, 1)) > 57 Then Exit For
Next
緯度経度 = Val(Mid(ido, 2, ct - 1))
For ct1 = ct + 1 To Len(ido)
If Asc(Mid(ido, ct1, 1)) < 46 Or Asc(Mid(ido, ct1, 1)) > 57 Then Exit For
Next
緯度経度 = 緯度経度 + Val(Mid(ido, ct + 1, ct1 - ct - 1)) / 60 + Val(Right(ido, Len(ido) - ct1)) / 3600
End Function
No.1
- 回答日時:
データを選んで、
メニュー「データ」→「区切り位置」で、区切り位置指定ウィザードが立ち上がります。
(1/3)元のデータの形式を「カンマやタブなどの区切り文字によって~」として、
(2/3)区切り文字で「その他」を選び、「'」としてみれば、いかがでしょうか?
とりあえず、一括で処理することができます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
時間の計算について 37時間23分...
-
10マイル とは、何㎞ 何メート...
-
60進法?について 最近、未経験...
-
nを2以上の偶数とする。このと...
-
高校数学についてです。 積分の...
-
すごく変な質問なのですが、分...
-
線ひいてあるところがよくわか...
-
cosphere特にcosphere bundleに...
-
中学数学 計算問題
-
三角比の拡張というのは、90度...
-
10のn乗-1でn=1から15,はなぜ17...
-
余弦定理
-
高校数学についてで、帰納法を...
-
したの写真の証明2はどういった...
-
3人で飲み屋に行って会計が1230...
-
高校数学Ⅲの問題です。よろしく...
-
積分について
-
(x^log(2)x)^log(2)x = 64x^6lo...
-
少数を分数に直す時に素早くで...
-
和の公式
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
多変数関数、合成関数
-
緯度経度をエクセルで一括自動変換
-
n進法について・・・(4)
-
緯度経度のだしかた
-
アメリカの電話番号から住所を...
-
USJは何区?何市??
-
写真右上にあるNのようなマーク...
-
通勤定期券について 乗り換え不...
-
Google Map Street View の黄色...
-
経路案内お願いしたいです。 30...
-
グーグルマップに文字を書込む...
-
車のナビですが、Googleマップ...
-
住所から自宅の電話番号は分か...
-
Google Mapに新しい住所を登録...
-
会社に通勤経路図の提出が必要...
-
グーグルマップで住所特定され...
-
グーグルマップで いつも 自...
-
解約した携帯番号から住所を割...
-
1つのテキストボックスで全フ...
-
大津ICから161号線に入り高島市...
おすすめ情報