• ベストアンサー

エクセルの簡単なプログラミング

81~100:A 71~79: B 40 ~69:C 0~39:D 無記入:F という形でデータの管理をエクセルで行いたく考えているのですが、 IF関数などを用いて数値をアルファベットに変えるには、どのように入力すれば 宜しいのでしょうか? また、Aと入力したら100 Bと入力したら70という風にも設定したく考えているのですが、 どのように入力すれば良いのでしょう? 宜しくお願い致します。

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

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

>簡単なプログラミング ということはVBAなのかな >IF関数などを用いて なので VBA上で数式を用いるのかな >数値をアルファベットに変えるには 入力したセルをアルファベットに変えるの?? >Bと入力したら70という風にも設定したく考えている 入力したセルを数値に変えるの?? >81~100:A >71~79: B >40 ~69:C 70、80 はどっちなんだろう VBAにするには条件が足りなさそうだし、当方、不得意なので数式で B1セル =IF(A1="","F",CHAR(69-MATCH(A1,{0,40,70,80}))) C1セル =INDEX({100,80,70,40,0,"未記入"},FIND(B1,"ABCDEF"))

anoter_pot
質問者

お礼

うまくいきました。 ありがとうございました!

anoter_pot
質問者

補足

>81~100:A >71~79: B >40 ~69:C は >81~100:A >71~80: B >41 ~70:C の誤植です。 明日、プログラミングを試す事に致します。 改めて、お礼の欄に結果、お礼を申し上げます。 ありがとうございました。

その他の回答 (3)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

>IF関数などを用いて数値をアルファベットに変えるには A1に値入力でA2に表示として A2=IF(A1="","F",LOOKUP(A1,{0,40,70,80,101},{"D","C","B","A",""})) >また、Aと入力したら100、Bと入力したら70という風にも設定したく考えているのですが、 A2=LOOKUP(A1,{0,"A","B","C","D","E"},{"",100,70,40,0}) 上記両方に対応だと A2=IF(A1="","F",LOOKUP(A1,{0,"A","B","C","D",40,70,80,101},{"D",100,70,40,0,"C","B","A",""}))

anoter_pot
質問者

お礼

誠に有り難うございました。 参考になりました。

  • okdeath
  • ベストアンサー率28% (13/46)
回答No.3

こんにちわ。 =IF(A1="","F",IF(OR(A1<0,A1>100,TYPE(A1)<>1),"不正な入力",IF(A1>80,"A",IF(A1>70,"B",IF(A1>39,"C",IF(A1>=0,"D","不思議なエラー")))))) ※適当なセルに式をコピペして、A1のセルに数字を入力 =IF(A1="A",100,IF(A1="B",70,"その他")) ※適当なセルにこの式をコピペして、A1のセルにAやBを入力してください。 こんなんですかねえ。

anoter_pot
質問者

お礼

うまくいきました。 本当にありがとうございます。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 参考になるかどうか判りませんが・・・ 質問では70と80の値が飛んでいますので 勝手に↓の画像のように表を作らせてもらいました。 F2に数値を入れるとG2にA~Dが表示されるようにしています。 G2の数式は =IF(OR(F2="",F2>100,F2<0),"",INDEX(D2:D5,MATCH(F2,C2:C5,-1))) 次にF5にA・Bを入れると100か70が表示されるように G5セルは =IF(F5="","",IF(F5="A",100,IF(F5="B ",70,""))) としています。 (それ以外の数値は考えなくてもいいのですかね?) 以上、参考になれば幸いですが、 的外れの回答なら読み流してくださいね。m(__)m

anoter_pot
質問者

お礼

参考になりました。 丁寧にして頂き、誠にありがとうございました。

関連するQ&A