• 締切済み

EXELでA,B,Cなどの成績を4,3,2に自動変換

EXELで成績などをつけたいのですが A,B,Cとでた成績を人間があたまで4,3,2に換算するのではなくEXELにA,B,Cと打った時点で違うセルなどに4,3,2と出力させるにはどうしたらいいのでしょうか?

みんなの回答

  • april21
  • ベストアンサー率42% (91/216)
回答No.8

追加 >逆に数字があがっていくようにするにはどうしたらいいのでしょうか? =CODE(セルの場所)-96 で良いのでは?

  • april21
  • ベストアンサー率42% (91/216)
回答No.7

余計なお世話なのですが・・。 >CODEというのはアルファベットを数字に変える物なのでしょうか? ↓をご覧になれば良くわかるのでは? aとAは別の数字が割り振られてますので小文字入力だけでabc・・に対する 数字が規則的な場合はakino4様の方法がスマートだと思います。

参考URL:
http://homepage1.nifty.com/mfujimot/pcbook/charactercode.html
  • yuziro
  • ベストアンサー率41% (5/12)
回答No.6

セルA1に、A,B,Cを入力し、セルB1に、4,3,2と表示させる。 B1:=FIND(A1,"CBA")+1 セルA1に、A,B,C,Dを入力し、セルB1に、4,3,2,1と表示させる。 B1:=FIND(A1,"DCBA") まぁ、一つのやり方ということで。

  • akino4
  • ベストアンサー率18% (35/185)
回答No.5

>少し疑問があるのですがCODEというのはどういう関数なのでしょうか? ヘルプを見ればわかりますが codeという関数は文字コードを数値で返す関数です。 まぁ~一般の人が使うのはasciiコードのみでしょう。 asciiコード表で検索すればたぶんその対応表があるでしょう。 さがしてみてください。また近くにunix端末があるならば man asciiと打ってみて下さい。

  • april21
  • ベストアンサー率42% (91/216)
回答No.4

>Aとaも同じように考えてくれるのでしょうか? 仮にA1にA,B,Cと入力するセルがあるとしてB1に4,3,2と出力するなら B1に =MATCH(A1,{"c","b","a"},0)+1 列が同じならB1のセルをコピーして貼り付ければ数式のA1の部分を 自動的に修正します。  MATCH関数の場合、Aとaの区別をしないのでどちらでもOKです。 セルがabc以外になってると「#N/A」と表示されます。

  • akino4
  • ベストアンサー率18% (35/185)
回答No.3

将来段回数が増えることを考えると =CODE(セルの場所)-CODE("a") のほうがスマートですね a=4,b=3なら =code("a")-code(セルの場所)+4 とか

domomo
質問者

補足

ありがとうございました うまくいきました 少し疑問があるのですがCODEというのはどういう関数なのでしょうか? CodeAといれてCodeセルの場所をいれただけでどうしてこんなにうまくいくのでしょうか? CODEというのはアルファベットを数字に変える物なのでしょうか?アルファベットが下がっていくと数字が下がっていくと言う物なのでしょうか?もしそうなら逆に数字があがっていくようにするにはどうしたらいいのでしょうか?

noname#1098
noname#1098
回答No.2

別のシートに対応する表を作ってINDEXとかVLOOKUP関数を使ったらどうですか。 別のシートに対応表を作っておけば追加とか削除する時も便利ですよ。

  • paku_i
  • ベストアンサー率38% (19/49)
回答No.1

 こんにちはpaku_iです。  他にも良い関数があると思うのですが、とりあえず。  セルA1にA,B,Cなどが入力されるものとし、B1に4,3,2などが表示されるようにするものとします。  B1に”=IF(A1="A",4,IF(A1="B",3,IF(A1="C",2)))”と入力すればOKです。

domomo
質問者

補足

早速どうもありがとうございました 試してみます 今思ったのですがその関数は自分でタイプしないといけないのでしょうか?それとも簡素化できる機能があるのでしょうか? Aとaも同じように考えてくれるのでしょうか?