プロが教えるわが家の防犯対策術!

IF関数とCOUNTIF関数は組み合わせて使う事は出来ますか?
うまくいきません。

=IF(OR(AND(A1="■",A2="キュウリ",A3="キュウリ",A4="■"),AND(A1="■",A2="トマト",A3="トマト",A4="■")),COUNTIF(B10:B25,Q7)+2,COUNTIF(B10:B25,Q7))

Q7がキュウリの時、Q7がトマトの時は4が表示されるのでOKですが、それ以外の文字の時は2が表示されてしまいます。範囲に無い文字なのに何故2が表示されるのですか?
それ以外の文字の時は0を表示したいのです。

A 回答 (5件)

>範囲に無い文字なのに何故2が表示されるのですか?


とのお尋ねですが、ご質問者が投稿された数式はQ7の値に関係なく、A1~A4の値をチェックして条件が合致していれば、
COUNTIF(B10:B25,Q7)+2・・・①を表示し、
条件に合致していなければ、
COUNTIF(B10:B25,Q7))・・・➁を表示する数式です。
従って、B10~B25にQ7に合致するものがない場合でも、A1~A4が条件に合致していれば、
①のCOUNTIF(B10:B25,Q7)の部分が0となり、これに+2するわけですから、「2」が表示されます。
つまりQ7の値の「キュウリ」とか「トマト」とかではなく、A1~A4の条件を満たすかどうかで①か➁かが決まり、満たしていれば、仮にB10~B25に
「キュウリ」とか「トマト」がなくても「2」が表示される数式になっているということです。
B10~B25のセルに何が入力されているのか判りませんので何とも言えませんが、少なくともQ7の値と連動させたいのであれば、

IF(AND(A1="■",A2=Q7,A3=Q7,A4="■"),COUNTIF(B10:B25,Q7)+2,COUNTIF(B10:B25,Q7))

といった数式に修正するなど、IFの判定にQ7が影響する形でないと、まずいのではないでしょうか?
いずれにしても、B10~B25セルの内容が不明なため、ご質問者の意図を推測することが困難です。
残念ですか、この程度の回答しかできません。
    • good
    • 0
この回答へのお礼

解決しました

ありがとうございます。
目から鱗です。
やっと意味が理解できました。

COUNTIFだけに+2されるのじゃなくて、
IFの条件式にも+2されるということですね。

お礼日時:2021/07/24 05:17

No.3です。


No.4さんが回答された以下の数式
=IF(OR(AND(A1="■",A2=Q7,A3=Q7,A4="■"),AND(A1="■",A2=Q7,A3=Q7,A4="■")),COUNTIF(B10:B25,Q7)+2,COUNTIF(B10:B25,Q7))
について、ご質問者が、
>その数式通りで思うように出来ました。
とコメントされました。
ご質問者はEXCEL初心だとおっしゃっているので、者余計なお世話ではありますが、書いておきます。

ご質問者が質問時に投稿された数式は

IF(OR(数式1,数式2),数式3,数式4)

という形になっていて、「数式1という条件」または「数式2という条件」が満たされるときは数式3の結果を表示し、そうでなければ数式4の結果を表示する
というものでした。
No4さんが回答された数式は

IF(OR(数式5,数式5),数式3,数式4)

という形になっていてORで括られた括弧の中の二つの数式が同一です。従って、「数式5という条件」または「数式5という条件」が満たされるとき~という意味になり、またはの中で同じことを繰り返しているだけになっています。
つまり、この数式はORで括る意味がないことになり、

=IF(AND(A1="■",A2=Q7,A3=Q7,A4="■"),COUNTIF(B10:B25,Q7)+2,COUNTIF(B10:B25,Q7))

で同等の意味を実現可能だということになります。

"キュウリ"または"トマト"という部分にこだわりたいのであれば、

=IF((A1="■")*(A2=Q7)*(A3=Q7)*(A4="■")*((Q7="キュウリ")+(Q7="トマト")),COUNTIF(B10:B25,Q7)+2,COUNTIF(B10:B25,Q7))

といった数式を用いる方法もあります。
    • good
    • 0
この回答へのお礼

なるほど、ORは不要なんですね。
ありがとうございます。

お礼日時:2021/07/24 20:07

IF条件が成立したとき・,COUNTIF(B10:B25,Q7)+2,


IF条件が成立しないとき,COUNTIF(B10:B25,Q7) ですね。
Q7の値によりB10:B25のQ7と同じ値の数を数えて+2しています。
Q7がキュウリでもトマトでもない場合でも、IF条件はA2とA3がトマトかキュウリだったら+2します。
例えば、
=IF(OR(AND(A1="■",A2=Q7,A3=Q7,A4="■"),AND(A1="■",A2=Q7,A3=Q7,A4="■")),COUNTIF(B10:B25,Q7)+2,COUNTIF(B10:B25,Q7))
としてはいけないんですか。
    • good
    • 0
この回答へのお礼

助かりました

ありがとうございます。
その数式通りで思うように出来ました。

お礼日時:2021/07/24 05:21

こんにちは。



COUNTIF(B10:B25,Q7)+2 で、COUNTIFの結果が0だからとか?

回答とは直接関係はありませんが、下記の様な書き方もできるので。
OR(A1&A2&A3&A4=”■キュウリキュウリ■”,A1&A2&A3&A4=”■トマトトマト■”
    • good
    • 0
この回答へのお礼

ありがとう

ありがとうございます。
そのような書き方もあるんですね、勉強になります。

お礼日時:2021/07/24 04:58

B10からB25に何が入っているのかがわからないので、何とも…

    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2021/07/24 04:58

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