- ベストアンサー
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行目のように全ての列に奇数を入力することもあります。 ご教示頂きたく何卒宜しくお願い致します。
- みんなの回答 (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)),"文言","")
その他の回答 (3)
- KURUMITO
- ベストアンサー率42% (1835/4283)
ある文言とはどのような意味でしょう。A1セルにその文言があるとしたら次のような式をD1セルに入力して下方にオートフィルドラッグコピーします。 =IF(OR(MOD(A1,2)<>0,MOD(B1,2)<>0,MOD(C1,2)<>0),$A$1,"")
お礼
ご回答拝読致しました。大変参考になりました。 貴重なお時間を割いてのご回答、誠に感謝致しております。 また機会がありましたら宜しくお願い致します。
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
=if(sumproduct(A1:C1-even(A1:C1)),"どこかに奇数がいる","") =if(sum(index(mod(A2:C2,2),0)),"どこかに奇数がいる","") 要するにif関数の条件式のところで、奇数の数を数えちゃえばいいの です。
お礼
ご回答拝読致しました。大変参考になりました。 貴重なお時間を割いてのご回答、誠に感謝致しております。 また機会がありましたら宜しくお願い致します。
- KURUMITO
- ベストアンサー率42% (1835/4283)
D1セルに次の式を入力し、下方にオートフィルドラッグコピーします。 =IF(OR(MOD(A1,2)<>0,MOD(B1,2)<>0,MOD(C1,2)<>0),"奇数あり","")
お礼
ご回答拝読致しました。大変参考になりました。 貴重なお時間を割いてのご回答、誠に感謝致しております。 また機会がありましたら宜しくお願い致します。
お礼
ご回答拝読致しました。大変参考になりました。 貴重なお時間を割いてのご回答、誠に感謝致しております。 また機会がありましたら宜しくお願い致します。