• ベストアンサー

EXCELでアドバイスお願いします。

一番、簡単な方法を教えてください。 成績をAからEまでのアルファベットでつけていましたが それをアルファベットの隣の列に Aなら5、Bなら4・・・・Eなら1と表示させたいのです。 A1からA10までに AからEまでのアルファベットが並んでいるとします。 そこでB1からB10に A1がAならB1に5 A2がCならB2に3 というふうに表示させたいのですが どのようにすればよいかわかりません。 できるだけ簡単なやり方を教えてください。

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

  • ベストアンサー
回答No.3

文字列をコードに置き換えることにより、簡単に出来ます。コンピュータは、0と1しかないので文字列も全て数字に置き換えられます。 文字列をコードに変換する関数CODE()を使用することにより、簡単な数式で解決します。 A1に半角のA~Eがある場合、B1に=70-CODE(A1)と数式を入力すれば、対応した5~1が表示されます。 A~Eが全角の場合は、数式の70を9030に置き換えれば、同じ結果になります。 No.1,2さんの回答のようにvlookup関数を使用すると対応表が必要になりますが、code関数を使用すれば、数式のみの入力で簡単に出来ます。

その他の回答 (7)

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

どこでもよいのですが、ある列にE,D,C,B,Aと入れます。ここの例ではC列にします (表)参照テーブル用に C1:C5に E D C B A と入れます。 (サンプルデータ) A列にA1:A8 A B C D E C B D (関数式) B列B1セルに =MATCH(A1,$C$1:$C$5,0) といれB8まで複写します。 (結果) B1:B8に 5 4 3 2 1 3 4 2 となります。 テーブルを変えると如何様にも点数化できます。

noname#11856
noname#11856
回答No.7

#6です。 失礼、小文字でテストしました。(笑) -96じゃなくて-64ですねぇ。(^-^;

noname#11856
noname#11856
回答No.6

=IF(A1<>"",CHOOSE(CODE(A1)-96,5,4,3,2,1),"") ってのはどうでしょう? これもA~E意外だとエラー(#VALUE!)が出ますが(^-^;

回答No.5

2度書き失礼します。 FINDの変わりに SEARCH(A1,"EDCBA") なら小文字のabcdeにも対応します。

回答No.4

ちょっと変わった所で =IF(A1<>"",FIND(A1,"EDCBA"),"") はどうでしょうか? A~E(半角)意外だと#Valueが表示されますが・・・

  • moon00
  • ベストアンサー率44% (315/712)
回答No.2

if文でもできますが、長くなるので今回はvlookup関数で 考えてみました。 どこかにA-Eと1-5の対応表を作って下さい。 (下記はI1~J5の範囲に作りました)   I  J 1 A  5 2 B  4 3 C  3 4 D  2 5 E  1 そしてA1には下記の式を  =VLOOKUP(A1,$I$1:$J$5,2,FALSE) 後は必要なところまでコピーして下さい。 表を作ったところに対応して「$I$1:$J$5」は変更して下さいね。

  • sky777
  • ベストアンサー率0% (0/1)
回答No.1

E1にAを入力、F1に5を入力; E2にBを入力、F2に4を入力; E3にCを入力、F3に3を入力; E4にDを入力、F4に4を入力; E5にEを入力、F5に1を入力。 これで辞書みたいな一対一関係を作っておきます。 これから本当にBの列に答えを入れます: B1に =vlookup(A1,$E$1:$F$5,2,false) を入力, B2からB10まではB1をコピーします。 一番簡単かどうかわかりませんが、vlookup関数は非常に役に立つと思いますから、ぜひ試しにお使いください。問題あったら、また答えます。

関連するQ&A