dポイントプレゼントキャンペーン実施中!

使用している風向計では風向が0~359°の数字で
記録されていきます。0°が北、90°が東を表します。

得られたデータはエクセルに貼り付けて加工するつもりです。

A1のセルからA2、A3と縦方向に風向の数値を入れ、
隣のセル(B1~)には文字(N、E、S、W等)として変換したいのですが可能でしょうか。

具体的には
Aのセルが「0°~10°」の範囲にあるときは Bのセルに「N」と表示。
Aのセルが「11°~29°」の範囲にあるときは Bのセルに「NNE」と表示。
Aのセルが「30°~60°」の範囲にあるときは Bのセルに「NE」と表示。
Aのセルが「61°~79°」の範囲にあるときは Bのセルに「ENE」と表示。
Aのセルが「80°~100°」の範囲にあるときは Bのセルに「E」と表示。
Aのセルが「101°~119°」の範囲にあるときは Bのセルに「ESE」と表示。
Aのセルが「120°~150°」の範囲にあるときは Bのセルに「SE」と表示。
Aのセルが「151°~169°」の範囲にあるときは Bのセルに「SSE」と表示。
Aのセルが「170°~190°」の範囲にあるときは Bのセルに「S」と表示。
Aのセルが「191°~209°」の範囲にあるときは Bのセルに「SSW」と表示。
Aのセルが「210°~240°」の範囲にあるときは Bのセルに「SW」と表示。
Aのセルが「241°~259°」の範囲にあるときは Bのセルに「WSW」と表示。
Aのセルが「260°~280°」の範囲にあるときは Bのセルに「W」と表示。
Aのセルが「281°~299°」の範囲にあるときは Bのセルに「WNW」と表示。
Aのセルが「300°~330°」の範囲にあるときは Bのセルに「NW」と表示。
Aのセルが「331°~349°」の範囲にあるときは Bのセルに「NNW」と表示。
Aのセルが「350°~359°」の範囲にあるときは Bのセルに「N」と表示。

エクセルで簡単に出来ますでしょうか?
ご教授願います。

A 回答 (4件)

本題に入る前に,16方位が均等に分割されていないのは,何か理由があるのでしょうか?



以下では,とりあえず均等に分割する(0°~11.25°はN,11.25°~33.75°はNNE,など)ものとして説明します。

まず,D列とE列を利用して,角度と16方位との変換表を作ります。(もちろん,A,Bと重なっていなければ,別にDとEである必要はありません。)
セルD1に0と入力。
D2に11.25,D3に33.75と入力します。
次に,D2とD3の両セルを選択し,右下の+印にカーソルをあわせると,+印が細くなるので,そのまま下に向かってドラッグします。
数字が等間隔で(22.5ずつ)増えていくので,セルD17に348.75が入ったところで手を離します。
セルD18には360と入れます。
次に,E列には上から順に方位を入れます。E1がN,E2がNNE…となります。
E17(348.75の隣)は再びN。
E18はなくてもよいのですが,もしデータが360度以上になったらわかるように,「error(>360)」とでも入れておきましょうか。

もし,等間隔でなく,ご質問の文中に示された数値がどうしても必要であれば,D列に関しては,上で述べた操作を行う代わりに,各区間の下限の値を入れてください。
つまり,上から0,11,30,61,……,350,360となります。

以上で準備は終わりです。
さて,B列に方位を表示させるには,LOOKUP関数を使いましょう。
セルB1に,
=LOOKUP(A1,$D$1:$D$18,$E$1:$E$18)
と入れます。
あとは,このセルをB2から下にずーっとコピーしてやればできあがりです。
たとえば,A列に上から,30, 45, 22, 180, 270, 336, 365と入っていたとすると,
B列には上から,NNE, NE, NNE, S, W, NNW, error(>360)と表示されます。(均等に分割した場合)

もっとスマートな方法もあるかもしれませんが,参考としていただければ幸いです。
    • good
    • 1
この回答へのお礼

丁寧な回答感謝します。
早速活用します。
ありがとうございました。

お礼日時:2003/12/09 22:07

お晩でーす。

"Shiftさん"
質問:エクセルで・・・風向(方位)のデータ(0~359°)を文字(N、E、S、W等)に変換出来ますか?について参考までに回答します。

A列に検索する風向のデータを入力
B列に結果を表示する方法として
D列に"shietさん"が示した風向、E列に風向の文字列を入力
(例)D1からD17及びE1からE17は
D列 E列
1 0 N
2 11 NNE
3 30 NE
4 61 ENE
5 80 E
6 101 ESE
7 120 SE
8 151 SSE
9 170 S
10 191 SSW
11 210 WSW
12 241 WSW
13 260 W
14 281 WNN
15 300 NW
16 331 NNW
17 350 N
と、入力してください。
B1に
=VLOOKUP(A1,D$1:E$17,2,TRUE)
と入力してみてください。
VLOOKUP関数なのでテーブルは昇順に並び替えておく必要があります。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。勉強になりました。
参考にさせていただきます。

お礼日時:2003/12/09 22:06

難しく考えないで


角度の列と方位の列を作って
ブイルックアップ関数を使えばいいだけ では
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
参考にさせていただきます。

お礼日時:2003/12/09 22:10

こんばんは



適当な空きセルに以下の表を作成(仮にSheet2)

----Sheet2-----
  A B
1  0 N
2 11 NNE
3 30 NE
4 61 ENE
5 80 E
6 101 ESE
7 120 SE
8 151 SSE
9 170 S
10 191 SSW
11 210 SW
12 241 WSW
13 260 W
14 281 WNW
15 300 NW
16 331 NNW
17 350 N

----Sheet1----------
  A B
1 値 式
2 ↓ ↓

セルA1に式
 =IF(COUNT(A1),LOOKUP(A1,Sheet2!$A$1:$B$17)

もし360以上の値もあるなら
 =IF(COUNT(A1),LOOKUP(MOD(A1,360),Sheet2!$A$1:$B$17)

で試してみて下さい
    • good
    • 1
この回答へのお礼

回答ありがとうございました。
活用させていただきます。
ありがとうございました。

お礼日時:2003/12/09 22:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A