- ベストアンサー
EXCELでアドバイスお願いします。
一番、簡単な方法を教えてください。 成績をAからEまでのアルファベットでつけていましたが それをアルファベットの隣の列に Aなら5、Bなら4・・・・Eなら1と表示させたいのです。 A1からA10までに AからEまでのアルファベットが並んでいるとします。 そこでB1からB10に A1がAならB1に5 A2がCならB2に3 というふうに表示させたいのですが どのようにすればよいかわかりません。 できるだけ簡単なやり方を教えてください。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
文字列をコードに置き換えることにより、簡単に出来ます。コンピュータは、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)
どこでもよいのですが、ある列に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 となります。 テーブルを変えると如何様にも点数化できます。
#6です。 失礼、小文字でテストしました。(笑) -96じゃなくて-64ですねぇ。(^-^;
=IF(A1<>"",CHOOSE(CODE(A1)-96,5,4,3,2,1),"") ってのはどうでしょう? これもA~E意外だとエラー(#VALUE!)が出ますが(^-^;
- taisuke555
- ベストアンサー率55% (132/236)
2度書き失礼します。 FINDの変わりに SEARCH(A1,"EDCBA") なら小文字のabcdeにも対応します。
- taisuke555
- ベストアンサー率55% (132/236)
ちょっと変わった所で =IF(A1<>"",FIND(A1,"EDCBA"),"") はどうでしょうか? A~E(半角)意外だと#Valueが表示されますが・・・
- moon00
- ベストアンサー率44% (315/712)
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)
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関数は非常に役に立つと思いますから、ぜひ試しにお使いください。問題あったら、また答えます。