プロが教える店舗&オフィスのセキュリティ対策術

Excel2003で、文字列を参照しての集計表を作成中です。

|  A  |  B  |  C  |  D  |  E  |  F  |
 【氏名】  【結果】  【1回目】 【2回目】 【3回目】 【4回目】 ・・・・・
 鈴木一郎   承認     検討    承認              
 佐藤健二   拒否     検討    不在    拒否        
 山田花子   検討     不在    不在    不在    検討  

上記のように、B列の【結果】のセルに、1回目から10回目までに入力した応対の集計結果を
自動的に表示するようにしたいのです。
表示のルールとしては、

1.全てが「不在」の場合は「不在」
2.「不在」と「検討」のみの場合は「検討」
3.「拒否」がある場合は「拒否」
4.「承認」がある場合は「承認」

となっています。
ちなみに、「承認」と「拒否」は同一人物の行内での併記はありません。

IF関数でなんとかできないかと、考えたのですが、
参照条件をどのように指定していいのかが分りません。(+_+)
他の関数でうまくいくものはありますでしょうか?

A 回答 (2件)

4種類程度の判定であれば、


#1さんご提案のように、素朴にIF関数をネストしてもよいように思いますが、
一応ご参考までに…。

=CHOOSE(MATCH(TRUE,COUNTIF(C2:L2,{"承認","拒否","検討","不在"})>0,0),"承認","拒否","検討","不在")

とか、

=INDEX({"承認","拒否","検討","不在"},MATCH(TRUE,COUNTIF(C2:L2,{"承認","拒否","検討","不在"})>0,0))

といった書き方もできます。

※"承認","拒否","検討","不在"それぞれについて有無を判定した要素数4の配列を作り、
 判定結果がTRUEのもののうち最も優先度が高いものについて、対応する値を返す。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/10/27 21:27

スマートじゃないかもしれないんですが、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(●,▲,■) か 返す文字
です。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/10/27 21:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!