• ベストアンサー

《エクセル2000》振り分け?

こんばんは。休日出勤中の者から質問です。 とある列に、1~7までの数字が入っています。 その隣の列に、入っている数字が 1→A 2→B  ・  ・  ・ のように、入っている数字が何かを判断させて(要するに7通りですね)アルファベットを表示させたいのですが、最適な関数はなんでしょうか。 IFを入れ子にして使うのも違うような気がしますし… とても古い例えで恐縮なのですが、COBOLのEVALUATE文のような機能はないでしょうか。 以上、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#29107
noname#29107
回答No.1

一番簡単なのはCHOOSE関数でしょう。 =CHOOSE(A1,"A","B","C","D","E","F","G")

bari_saku
質問者

お礼

なるほど! こんなシンプルな関数を知らなかったとはお恥ずかしい…(^^;) ありがとうございました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

あまりOKWEBの回答でも使われないようですが、LOOKUP関数(配列形式)でも出来ます。こちらは表をシート上に作りません。式の中に作ります。 A列に数値を入れるとして、B1に =LOOKUP(A1,{1,2,3,4,5,6,7;"A","B","C","D","E","F","G"}) といれて、B1の式をB2以下に複写します。

bari_saku
質問者

お礼

こんにちは。2つのご回答のお礼をこちらに書かせていただきます。 LOOKUPを使うのは、思いつきませんでした。とくに計算領域を使わないこちらのやり方はいいですね。 どうもありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

#1のCHOOSE関数が最適かと思いますが、VLOOKUP関数でも出来ます。 Sheet2のA1:B7に 1 A 2 B 3 C 4 D 5 E 6 F 7 G と入れて Sheet1のB1に =VLOOKUP(A1,Sheet2!$A$1:$B$7,2,FALSE) を入れてB2以下に式を複写します。 未入力セルに対応するB列にエラーが出ないようにするには =IF(A1="","",VLOOKUP(A1,Sheet2!$A$1:$B$7,2,FALSE))