• 締切済み

Excel2003で、文字列を参照しての集計表

Excel2003で、文字列を参照しての集計表を作成中です。 |  A  |  B  |  C  |  D  |  E  |  F  |  【氏名】  【結果】  【1回目】 【2回目】 【3回目】 【4回目】 ・・・・・  鈴木一郎   承認     検討    承認                佐藤健二   拒否     検討    不在    拒否          山田花子   検討     不在    不在    不在    検討   上記のように、B列の【結果】のセルに、1回目から10回目までに入力した応対の集計結果を 自動的に表示するようにしたいのです。 表示のルールとしては、 1.全てが「不在」の場合は「不在」 2.「不在」と「検討」のみの場合は「検討」 3.「拒否」がある場合は「拒否」 4.「承認」がある場合は「承認」 となっています。 ちなみに、「承認」と「拒否」は同一人物の行内での併記はありません。 IF関数でなんとかできないかと、考えたのですが、 参照条件をどのように指定していいのかが分りません。(+_+) 他の関数でうまくいくものはありますでしょうか?

みんなの回答

noname#52504
noname#52504
回答No.2

4種類程度の判定であれば、 #1さんご提案のように、素朴にIF関数をネストしてもよいように思いますが、 一応ご参考までに…。 =CHOOSE(MATCH(TRUE,COUNTIF(C2:L2,{"承認","拒否","検討","不在"})>0,0),"承認","拒否","検討","不在") とか、 =INDEX({"承認","拒否","検討","不在"},MATCH(TRUE,COUNTIF(C2:L2,{"承認","拒否","検討","不在"})>0,0)) といった書き方もできます。 ※"承認","拒否","検討","不在"それぞれについて有無を判定した要素数4の配列を作り、  判定結果がTRUEのもののうち最も優先度が高いものについて、対応する値を返す。

tsubuzoroi
質問者

お礼

ご回答ありがとうございます! CHOOSE関数というのは今まで使ったことがなかったので とても参考になりました!

  • suo2k
  • ベストアンサー率44% (183/408)
回答No.1

スマートじゃないかもしれないんですが、IFとCOUNTIF関数でできますね。 承認と拒否は混在しないんですよね? =IF(COUNTIF(C2:L2,"承認") > 0, "結果が承認", IF(COUNTIF(C2:L2,"拒否") > 0, "結果が拒否",IF(COUNTIF(C2:L2,"検討") > 0, "結果が検討", "結果が不在"))) COUNTIFは指定した範囲に条件に合うセルがいくつあるかを返す関数です。 これで1以上が返ってきたら「ある」として結果のセルに記入する文字を決めます。 IFを使ってまず 承認 があるか調べます。 0個より多い場合は無条件で結果を「承認」としています。 無かった場合(結果が偽)はさらにIFを使って拒否の判定、 さらに偽の場合は検討…いずれも無かった場合「不在」と返します。 つまり 承認>拒否>検討>不在 の順番に、あるものを返してます。 問題がなければお試しください。 --蛇足-- 形としては IF(●,▲,■) ●=COUNTIF関数 ▲=返す文字 ■=さらにIF(●,▲,■) か 返す文字 です。

tsubuzoroi
質問者

お礼

ご回答ありがとうございます! とても参考になりました!