• 締切済み

この関数はもっと簡単になりますか?(EXCEL)

次の条件で成績判定をします。自分で式を作ってみましたが自信がありません。他に考え方があれば教えていただきたく質問します。 3つの条件の順序は関係なく、組み合わせで決まるのみです。 AとAとA ならば 総合A AとAとB でも  総合A AとAとC でも  総合A AとBとB ならば 総合B AとBとC でも  総合B BとBとB でも  総合B BとBとC でも  総合B AとCとC ならば 総合C BとCとC でも  総合C CとCとC でも  総合C 私の立てた式は次のとおりです。 (*と*と*がCOUNTIFの範囲だとします。) =IF(COUNTIF(範囲のはじめのセル名:範囲の終わりのセル名,”A”)>=2,”総合A”,IF(COUNTIF(範囲のはじめのセル名:範囲の終わりのセル名,”C”)<=1,”総合B”,”総合C”)) よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

先日も似た他の質問があったように記憶します。よく読めば、ルールがあるのでしょうが、何かの事情で変るとABCの数や優先関係ルールで判別できなくなる恐れがあります。悉皆ケースのテストもやりやすいです。 私ならVLOOKUP関数を使います。 (1)3つの条件の入った列を空き列に結合します。 D1に=A1&B1&C1を入れる。 (2)テーブルをF1:G27に作ります (F列) (G列) AAA   A AAB   A AAC   A ABA ABB ABC ・・・ (3)E列に=VLOOKUP(D1,$F$1:$G$27,2,FALSE) と入れる。(1)(3)の式は下に複写する。 (4)D1はA1&B1&C1で置換えることが出来て、D列を 使わずに済ませられます。

noname#166310
質問者

お礼

はい。先日もこちらで教えていただき、考え方がわかるようになりました。 先日のは順序が関係あったのですが、今回の分は順不同なんですね。 確かに、ルールが変わると式もやり直しになりますね。 VOOKUPだと、その辺はあとの変更は楽ですね。

noname#148473
noname#148473
回答No.1

ご質問に書かれている式で問題ないと思います。 こちらでも試してみましたが、動作に問題は見当たりません。 ただし、正確に文字種を一致させる必要がありますね。 全角と半角、大文字と小文字の違いなどがあると 間違った結果になりますので、 その点に関して注意が必要かと思います。 ここから先は、本論からは全く外れた蛇足です。 軽く読み流してください。 AとAとCのばあい、AとCの平均はBであると考えるならば、 AとAとC=AとB×2 となり、つまり「総合B」となるのが妥当なのでは?という気もします。 (AとCとCも同様) もしそういう基準でしたら、CODE関数とAVERAGE関数を使って ="総合"&CHAR(ROUND(AVERAGE(CODE(A1),CODE(B1),CODE(C1)),0)) こんな感じの式を作ることも可能なのですが・・・。

noname#166310
質問者

お礼

回答ありがとうございます。 一応こちらでも動作確認をして質問したのですが、いろんな式の考え方があるのでもっとすっきりした式もないものなのかなと思った次第です。

関連するQ&A