こんにちは。 エクセルの関数についての質問です。 【私が考えた式】
こんにちは。 エクセルの関数についての質問です。 【私が考えた式】 =OR(IF(AND(A7=6,C7>37),"○","☓"),IF(AND(A7=5,C7>30),"○","☓")) A7のセルの数字によって、C7のセルの数の条件を変えて反映させたいと思っています。 「Aに6が入っていれば、Cが38以上で○がつくが、Aに5が入っていれば、Cは30以上で○がつく」という式にしたいです。 このようにすると、エラーが返ってきます。 どのようにすると良いか教えて頂けますと幸いです。 どうぞよろしくお願い致します。
Excel・61閲覧
ベストアンサー
ID非公開さん
2022/6/30 16:34
=OR(IF(AND(A7=6,C7>37),"○","☓"),IF(AND(A7=5,C7>30),"○","☓")) ではなくて =IF(OR(AND(A7=6,C7>37),AND(A7=5,C7>30)),"○","☓")) AND関数と、OR関数は、それ自体で得られるのは「True(真)またはFalse(偽)」、値だと、「0か1」のどちらかです。 Trueでも1でも同じ事ですが =OR(A1,B1) =AND(A1,B1) 前者は、A1かB1のどちらか一方にでも、式の結果が””で無ければTrue(真)、数値で0でなければTrue(真)が結果として得られます。 後者は、ANDなので、A1とB1が共に上記の””でなければTrue(真) となります。 しかしながらあなたの式を修正するのであれば =OR(IF(AND(A7=6,C7>37),"○","☓")="○",IF(AND(A7=5,C7>30),"○","☓")="○") とそれぞれのIF関数の結果が「○」であるならと判断をさせるのであれば、どちらか一方がTrue(真)の時、「True」を結果として表示します。 結果的に ・A7の値が6の時C7が37を超えていれば「○」そうで無ければ「X」 ・A7の値が5の時C7が30を超えていれば「○」そうで無ければ「X」 を組み合わせるのでは無く 下記の条件のどちらかを満たしていれば「○」、それ以外は「X」 条件1)A7の値が6の時C7が37を超えている 条件2)A7の値が5の時C7が30を超えている という文章を式にする必要がありますので =IF(OR(条件1、条件2)、真の時、偽の時) で 条件1は AND(A7=6,C7>37) 条件2は AND(A7=5,C7>30) という式になり、具体的な式にすると =IF(OR(AND(A7=6,C7>37),AND(A7=5,C7>30)),"○","☓")) という式になるかと思います。
ID非公開さん
2022/6/30 16:43
式が間違ってました。 正しくは =IF(OR(AND(A7=6,C7>37),AND(A7=5,C7>30)),"○","☓") です。 それと、このようなことがあるので 条件が複数ある場合は箇条書きにして、同じ部分は、 AND(共に満たす)か OR(一方を満たす)か で、まとめると良いですよ。 上記の式も判別しにくいのでセルの中で改行を行い =IF(OR ( AND(A7=6,C7>37), AND(A7=5,C7>30) ) ,"○","☓") のようにすると、更にわかりやすくなるかと思います。
質問者からのお礼コメント
ありがとうございます!!!!! 大変助かりました!!!
お礼日時:6/30 16:58