- 締切済み
エクセルのIF関数
a b c イ 1 2 3 ロ 4 5 6 ハ 7 8 9 テスト問題を二元にし、このような組み合わせ表で、1~9の番号をマークシートに記入させることにしました。 手持ちの解答早見表を、「1ならイa」「3ならイc」のようにエクセルで作りたいのですが、IF関数を作ってもエラーばかり出てしまいます。どなたかこのIF関数が分かる方、教えていただけますか。 1 3 6 ・・・・ イa イc ロc
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- DoragonFang
- ベストアンサー率41% (91/221)
IF関数ではありませんが(^_^;) こういう式でも取り出せます。 データが A B C D 1 a b c 2 イ 1 2 3 3 ロ 4 5 6 4 ハ 7 8 9 とマトリックスになっているとします。 F1に番号を入れ、F2に組み合わせを得るとすると、 F2に =IF((F1<1)+(F1>9),"",INDEX(A2:A4,INT((F1-1)/3)+1)&INDEX(B1:D1,3-MOD(9-F1,3))) と式を入れれば、出来ると思います。 IF関数を使っていますが、これはF1セルに入力された数字が 1~9以外ならヌル""文字を返すためです。 組み合わせは2つのINDEX関数で得ます。最初のイロハは、 A2:A4のイロハから、番号を3で割った商で行番号を求めます。 abcの方は番号を3で割った余りから列番号を求めていますが、 単純にMODだけだと、番号3の時に余り0でエラーになるため、 少々手を加えてあります。 これだとマトリックスが大きくなっても、応用が利くと思いますが。
- Wendy02
- ベストアンサー率57% (3570/6232)
a b c イ 1 2 3 ロ 4 5 6 ハ 7 8 9 表が、A1~D4 のマトリックス上にあるとして、 入力値を、A8 とした場合、 =IF(OR(A8>9,A8<1),"",OFFSET(A1,INT(A8/4)+1,0)&OFFSET(A1,0,MOD(A8+2,3)+1))
お礼
ありがとうございます。OFFSET,MODは、初めてです。
- Poer
- ベストアンサー率45% (72/157)
CHOOSE関数はいかがでしょうか? =IF(OR(A$1>=9,A$1<=0),"",CHOOSE(A$1,"イa","イb","イc","ロa","ロb","ロc","ハa","ハb","ハc"))
お礼
ありがとうございました。CHOOSE関数は、初めてです。
- kaisendon
- ベストアンサー率44% (114/257)
こんばんは =IF(A1="","",IF(A1<=5,IF(A1=1,"イa",IF(A1=2,"イb",IF(A1=3,"イc",IF(A1=4,"ロa","ロb")))),IF(A1=6,"ロc",IF(A1=7,"ハa",IF(A1=8,"ハb","ハc"))))) で一応出来ると思いますが。。。(・・;;) 個人的には 対応表を作ってINDEX関数とMATCH関数を組み合わせて 抽出させた方が、汎用性もあり、修正もしやすくて いいかと思うのですが。
お礼
ありがとうございます。このIF関数、やりましたが、自分では途中で間違えているようです。INDEX関数とMATCH関数は、初めてです。
お礼
ありがとうございます。 この関数を使わせていただきます。