プロが教えるわが家の防犯対策術!

一番、簡単な方法を教えてください。
成績をAからEまでのアルファベットでつけていましたが
それをアルファベットの隣の列に
Aなら5、Bなら4・・・・Eなら1と表示させたいのです。

A1からA10までに
AからEまでのアルファベットが並んでいるとします。

そこでB1からB10に
A1がAならB1に5
A2がCならB2に3
というふうに表示させたいのですが
どのようにすればよいかわかりません。

できるだけ簡単なやり方を教えてください。

A 回答 (8件)

文字列をコードに置き換えることにより、簡単に出来ます。

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

どこでもよいのですが、ある列に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
となります。
テーブルを変えると如何様にも点数化できます。
    • good
    • 0

#6です。


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

=IF(A1<>"",CHOOSE(CODE(A1)-96,5,4,3,2,1),"")



ってのはどうでしょう?
これもA~E意外だとエラー(#VALUE!)が出ますが(^-^;
    • good
    • 0

2度書き失礼します。



FINDの変わりに
SEARCH(A1,"EDCBA")
なら小文字のabcdeにも対応します。
    • good
    • 0

ちょっと変わった所で



=IF(A1<>"",FIND(A1,"EDCBA"),"")

はどうでしょうか?

A~E(半角)意外だと#Valueが表示されますが・・・
    • good
    • 0

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」は変更して下さいね。
    • good
    • 0

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関数は非常に役に立つと思いますから、ぜひ試しにお使いください。問題あったら、また答えます。
    • good
    • 0

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