ここから本文です

エクセル 日付が指定の範囲内なら○、出なければ×としたい。

rx9********さん

2010/10/2222:58:13

エクセル 日付が指定の範囲内なら○、出なければ×としたい。

F2セルに購入年月日(例 2010/6/4)が入っています。約5万セルほど。
隣のJ2セルに「F3セルの日付が2010/9/30以内かつ2005/10/1以上なら○、出なければ×」
と関数で出したいのです。

自分で考えた式は
=IF(AND(F3>=2010/9/30,F3<=2005/10/1),"○","×")
全部が×で表示されます。

皆様のお知恵を拝借させて下さい。

閲覧数:
77,888
回答数:
2

違反報告

ベストアンサーに選ばれた回答

nis********さん

2010/10/2223:20:14

不等号が逆ですね。。。
=IF(F3="","",IF(AND(F3<="2010/9/30"*1,F3>="2005/10/1"*1),"○","×"))

あるいは空いているセルに基準の日付を入力しておきます。
仮にH1へ 2010/9/30、H2へ 2005/10/1
=IF(F3="","",IF(AND(F3<=H$1,F3>=H$2),"○","×"))

質問した人からのコメント

2010/10/22 23:30:51

ありがとうございます。前者の式を入れたら出来ました。
不等号がこんがらがっていました。きちんと理解しないとだめですね。

chiquilin_siteさん
シリアル値を教えていただいてありがとうございます。
日付を数値にしたときの謎の数字の意味が分かりました!

お二方とも迅速なお返事ありがとうございました!

ベストアンサー以外の回答

1〜1件/1件中

Chiquilinさん

2010/10/2223:05:53

シリアル値を理解しないとダメですね。

セルに「2010/9/30」と入力した後 表示形式を「標準」にしてみて下さい。
「40451」と表示されるはずです。これは「1900年1月1日から 40450日後」
であることを意味しています。

つまり Excelでは日付というのは 1日を「1」とし 1900年1月1日(Macの場合
また違ったルールですが)を最初の「1」として表現しているのです。

よって「F3>=2010/9/30」では「F3セルの値が 2010を9で割った後 30で割っ
た数値以上の時」という条件式にしかなりません。

「F3>=40451」とすれば 機能しますが これでは「2010/9/30」かどうか分から
なくなりますね? 幸い Excelは 文字列の日付でも演算を加えれば シリアル値
に変換される仕様になっています。

「F3>="2010/9/30"*1」とすれば 機能するはずです。
もしくは「F3>=DATE(2010,9,30)」。

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる