• ベストアンサー

Excel関数

Eccel2003を使用して以下のような入力作業を行っております。 A列~C列のセルに「1~10」いずれかの数字を入力して行きます。 入力パターンは (1)A列だけ入力 (2)A列とB列に入力 (3)A列~C列全てのセルに入力 の3パターンです。 複数の列に数字を入力する場合((2)及び(3))、同じ数字を入力することはありません。 【例】     A B C D  1  5  4  1  2  6  3   1 2  4   9 1 3  ・  ・  ・ このとき、A~C列に一つでも奇数が入力されていた場合に、 ある文言をD列に反映させたいのですが、何か良い関数等ありますでしょうか?    ※ 上記例の場合、1,3,4行目のD列に文言を反映 例の4行目のように全ての列に奇数を入力することもあります。 ご教示頂きたく何卒宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

ISEVEN関数は偶数を判定します。正し未入力を0として扱うため入力判定としてCOUNT関数が必要になり すべての条件が真(AND関数で判定)なら奇数がないことの証明になります。 =IF(AND(ISEVEN(A2),ISEVEN(B2),ISEVEN(C2),COUNT(A2:C2)),"","文言") または ISODD関数は奇数を判定します。どれか一つでも真(OR関数で判定)なら奇数があることの証明になります。 =IF(OR(ISODD(A2),ISODD(B2),ISODD(C2)),"文言","")

sakuichi
質問者

お礼

ご回答拝読致しました。大変参考になりました。 貴重なお時間を割いてのご回答、誠に感謝致しております。 また機会がありましたら宜しくお願い致します。

その他の回答 (3)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

ある文言とはどのような意味でしょう。A1セルにその文言があるとしたら次のような式をD1セルに入力して下方にオートフィルドラッグコピーします。 =IF(OR(MOD(A1,2)<>0,MOD(B1,2)<>0,MOD(C1,2)<>0),$A$1,"")

sakuichi
質問者

お礼

ご回答拝読致しました。大変参考になりました。 貴重なお時間を割いてのご回答、誠に感謝致しております。 また機会がありましたら宜しくお願い致します。

回答No.2

=if(sumproduct(A1:C1-even(A1:C1)),"どこかに奇数がいる","") =if(sum(index(mod(A2:C2,2),0)),"どこかに奇数がいる","") 要するにif関数の条件式のところで、奇数の数を数えちゃえばいいの です。

sakuichi
質問者

お礼

ご回答拝読致しました。大変参考になりました。 貴重なお時間を割いてのご回答、誠に感謝致しております。 また機会がありましたら宜しくお願い致します。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

D1セルに次の式を入力し、下方にオートフィルドラッグコピーします。 =IF(OR(MOD(A1,2)<>0,MOD(B1,2)<>0,MOD(C1,2)<>0),"奇数あり","")

sakuichi
質問者

お礼

ご回答拝読致しました。大変参考になりました。 貴重なお時間を割いてのご回答、誠に感謝致しております。 また機会がありましたら宜しくお願い致します。

関連するQ&A