[[20210922115938]] 『2つの文字情報から1つの情報を指定する』(秋中) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『2つの文字情報から1つの情報を指定する』(秋中)

はじめまして。
初心者ですが質問させてください。

下記のように2つの地理的なデータが有り、
そこから方向を自動で算出させるような方法は有りますでしょうか。

例えば、左のセルから「東京」「大阪」と入力されていれば「西」が自動的に出力され、
「東京」「札幌」 であれば「北」と自動的に出力される、といったようなことが出来ますでしょうか。

「東京」「大阪」が「西」になる等、それぞれの組み合わせはこちらで予め指定する前提で、こういった処理を行う事は可能でしょうか。

< 使用 Excel:unknown、使用 OS:unknown >


VLOOKUP関数ではどうですか

(マナ) 2021/09/22(水) 12:20


 ちょっと確認だけ

 質問はセル番地がわかるようにしてください。
 どのセルに何を入力したらどのセルに何を表示させるのか?

 >2つの文字情報から1つの情報

	A	B	C
1	東京	大阪	西
2	東京	札幌	北

 やりたいことは、A1に「東京」、B1に「大阪」と入力したら
 C1に「西」と表示させたいということ?

 それとExcelのバージョンは?

 以上
(笑) 2021/09/22(水) 13:28

ちょっと複雑そうなのでアイデアだけ
 (1)2つの地理的なデータから方位角(正しい言葉でなければごめんなさい)を求めて
 (2)↑を90度で割った時の結果(端数は四捨五入)から、東西南北を求める

というのはどうでしょうか?

方位角の求め方は↓が参考になりそうです。
https://keisan.casio.jp/exec/system/1257670779

(もこな2 ) 2021/09/22(水) 13:37


 大真面目なのか、ふざけてるのか判然としないコメントがついてますが
 一応、先に言っておくと・・・

 条件指定がA2セルとB2セルだけのように、1行(1組)だけなら DGET 関数でできます。

 それとも2行目、3行目・・・と条件を2つ以上指定するんですか?

 以上
(笑) 2021/09/22(水) 14:03

皆様、コメントを有難う御座います。

Excel2016になります。

その後、A(東京),B(大阪),C(西)に当たる部分を D=A&Bとして新たに指定し、C=Dとなるようにした上で、
vlookup関数でも処理しようとしていますが、エラーが返ってくる状況です。
[検索値(対象データ), 範囲(A,B,C,Dに当たる部分を指定), 列番号(C), 検索の型(FALSE)]としています。

	A	B	C
1	東京	大阪	西
2	東京	札幌	北
3       東京    銚子  東
4       大阪  名古屋 東
5       大阪  福岡  西
…

というようなイメージで、組み合わせはそれぞれ1通りずつになります。

あくまで例えの為、2地点の東西南北を正確に算出したいという事では御座いません。

(秋中) 2021/09/22(水) 17:45


こちら解決致しましたので、御放念ください。

皆様色々と御教授頂き有難う御座いました。
(秋中) 2021/09/22(水) 18:51


>こちら解決致しました
無理にとは言いませんが、どのように解決したのか興味があるので提示してもらえませんか?
他に妙案のあるかたもいるようですが、研究成果発表ということで私が考えたアプローチを提示しておきます。

■1

 (1)"地理的なデータ"ということから、緯度・経度のような座標を持ったデータがリスト化されていると想定
 (2)"左のセルから"ということなので、A列に地点A、B列に地点Bを入力するものとする
 (3)"自動的に出力"についてはC列に表示するものとする

   __A__   __B__     ____C_____   _D_   ____E____   ____F_____   ____G____   ____H____   _I_   __J__   ____K____   ____L____
 1 地点A   地点B    Aからの方角           A緯度        A経度        B緯度       B経度          地点名     緯度        経度              
 2 東京    名古屋       西              35.681236   139.767125   35.181451   136.906557         東京   35.681236   139.767125
 3                                                                                              大阪   34.702485   135.495951
 4                                                                                              札幌   43.068661   141.350755
 5                                                                                              銚子   35.72965    140.827415
 6                                                                                             名古屋  35.181451   136.906557
 7                                                                                              福岡   33.589728   130.420727

 C2セル
=INDEX({"北","東","南","西","北"},ROUND(DEGREES(IF(ATAN2((G2-E2),(H2-F2))<0,ATAN2((G2-E2),(H2-F2))+2*PI(),ATAN2((G2-E2),(H2-F2))))/90,0)+1)

 E2セル
=VLOOKUP(A2,$J$1:$L$7,2,FALSE)

 F2セル
=VLOOKUP(A2,$J$1:$L$7,3,FALSE)

 G2セル
=VLOOKUP(B2,$J$1:$L$7,2,FALSE)

 H2セル
=VLOOKUP(B2,$J$1:$L$7,3,FALSE)

■2
>あくまで例えの為、2地点の東西南北を正確に算出したいという事では御座いません。
上記の方法でも誤差がありますし、地理的なデータというより単純に地点間の関係性が表になっているということであれば↓のようなアプローチもあるとおもいます。

   __A__   __B__    ____C_____   _D_   ____E____   ____F_____   ____G____   ____H____   _I_
 1 地点A   地点B    Aからの方角           −      東京   大阪   札幌   銚子   名古屋   福岡
 2 福岡    名古屋      東                東京      −     西      北    東      西      西
                                         大阪      東     −      北    東      東      西
                                         札幌      南     南      −    南      南      西
                                         銚子      西     西      北    −      西      西
                                        名古屋     東     西      北    東      −      西
                                         福岡      東     東      東    東      東      −

 C2セル
=INDEX(F2:K7,MATCH(A2,$F$1:$K$1,0),MATCH(B2,$E$2:$E$7,0))

ちなみに、地点間の関係性が↑のような形ではなく、提示のあったようにリストでずら〜っと並んでいるなら↓のようにすればよいですね。
ただ、A地点とB地点を入れ替えたものをちゃんと用意しておかないと、当然エラーになります。
(無論、そういったこと(大阪から東京の方角を調べたい)がなければ全く問題ありませんが)

   __A__    ___B__     _____C_____   _D_   __E__   __F__   __G__   
 1 地点A    地点B      Aからの方角         東京    大阪     西
 2 東京     札幌            北             東京    札幌     北
 3 東京     大阪            西             東京    銚子     東
 4 大阪     東京           #N/A            大阪    名古屋   東
 5                                         大阪    福岡     西

 C2セルに↓を設定して必要なだけ(フィル)コピー
=INDEX($G$1:$G$5,MATCH(A2&B2,$E$1:$E$5&$F$1:$F$5,0))

(もこな2 ) 2021/09/23(木) 13:59


 ↑ まだこんなことを言ってるのか・・・
 ということは、前のコメントは大真面目だったのか。

 >2つの地理的なデータが有り、そこから方向を自動で算出させるような方法
 例示を文字通りにしか解釈できず、ガチガチにこり固まって 1ミリたりとも動かないようだけど
 もう頭の硬度がダイヤモンド・レベル。

 それはあくまで例であって、やりたいことは
 >2つの文字情報から1つの情報を指定する

 2つの地域から方位を指定する、ではない。

 だから「ラーメン」「一蘭」という情報から「とんこつ」を表示という例でもいいということになる。

 そもそも ↓ をどう解釈したのか?
 >「東京」「大阪」が「西」になる等、それぞれの組み合わせはこちらで予め指定する前提 

 自分の解釈に都合の悪い情報は目に入らないようになってるんですかね?

 ■ついでに言っておくと・・・
 >=INDEX($G$1:$G$5,MATCH(A2&B2,$E$1:$E$5&$F$1:$F$5,0)) 
 この式は、2016なら #VALUE!エラーになる。
 肝心なことを言い忘れてるのでは?

 逆ギレお断り
(笑) 2021/09/23(木) 22:27

キレてんのお前じゃん。
私の感想では面白いと思う。
(草) 2021/09/23(木) 23:05

 >キレてんのお前じゃん。
 どこが?

 >私の感想では面白いと思う。
 何が?
(笑) 2021/09/23(木) 23:14

>研究成果発表ということで私が考えたアプローチを提示しておきます。
ふーん。
研究成果発表だったら他のサイトでやればいいのでは。
名無し
() 2021/09/24(金) 09:53

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.