• ベストアンサー

EXCEL IF関数での日付の認識について

よろしくお願いいたします。    A         B 1 2006/07/30    OK 2 2006/8/8      A列の日付が2006/7/31以前だったらB列にOK表示、 2006/8/1以降であったらB列に空白””というIF関数を使った数式をお教えください。 MONTH を使ったりしたのですが、年度単位(4月から翌年3月)の対象のため「MONTH(A1)<=7」と指定すると、2007/3/31も対象になってしまいました。

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

  • ベストアンサー
  • namnam6838
  • ベストアンサー率36% (681/1861)
回答No.2

A1に日付が入っているとして、 B1に =IF(A1<38930,"OK","") でどうでしょうか。 Excelは日付はシリアル値という数字で管理しています。 1900年1月1日を1として(Windows版)、1日で1増えます。 (余談ですが時刻は小数点以下の数字で管理しています) 2006/8/1は、38930です。(7/31は38929です)(38929.5は、7/31 12:00になります) これより小さい値(2006/7/31以前)はOK、それより大きい値(2006/8/1以降)は空白になります。

abikopapa
質問者

お礼

早々にありがとうございます。シリアル値ですね。思い出しました。トライしてみます。

その他の回答 (3)

noname#204879
noname#204879
回答No.4

=IF(A1<"2006/8/1"*1,"OK","")

abikopapa
質問者

お礼

ありがとうございます。トライしてみます。”*1”については勉強します。

abikopapa
質問者

補足

再度、トライしてみましたら表示されました。申し訳ありませんでした。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

=IF(A1<DATE(2006,8,1),"OK","") または =IF(TEXT(A1,"yyyymm")*1<200608,"OK","")

abikopapa
質問者

お礼

ありがとうございました。トライしてみます。

回答No.1

こちらでいかがでしょうか? =IF(A1<DATE(2006,7,31),"OK","")

abikopapa
質問者

お礼

早々のご回答ありがとうございました。当方の入力が間違ったのか、表示できませんでした。もう一度トライしてみます。

abikopapa
質問者

補足

再度、トライしてみましたら表示されました。申し訳ありませんでした。

関連するQ&A

  • IF関数について教えてください★

    A列に今年度の日付が入力されています。 例えば8/26~9/25は「9月度」とB列に表示したいです。 IF関数でできますでしょうか?? おわかりの方教えてくださーい!

  • If関数に2つ条件をつける

    If関数を使って日付の月と翌月を記載するという関数を作ったのですが、 これにプラス4日締めの条件をつけたいのです。 日付が4日以降の場合は翌月と翌々月にするという関数はどのように作るのでしょうか。 =(MONTH(A1)&","&IF(MONTH(A1)+1<13,MONTH(A1)+1,MONTH(A1)-11))

  • IF関数のネスト

    IF関数のネストについての質問です。 例えば、D1のセルに日付が入力してあり、 A4のセルの日付の月がD1の月と同じならば、 「今月」違うなら「エラー」と表示させたいのですが、 数式は解るのです。↓ =IF(MONTH($D$1)=MONTH(A4),"今月","エラー") ですが入力のしかたが解らないのです。 まず、fxの関数の挿入からIFを選択、論理式の部分に、 fxの左にある下矢印からMONTHを選択、 シリアル値はD1を絶対参照。 このあとがどうしていいのか解らないのです。 どなたか教えてください。 宜しくお願いします。

  • エクセルのIF関数について

    =IF(L2="","EDATE(J2,K2)","EDATE(L2,K2)") という数式で L2が空白の場合、J2の日付からK2の月分だけ経過した日付を表示。 空白でない場合、L2の日付からK2の月分だけ経過した日付を表示したいのですが、 セルには直接『EDATE(J2,K2)』という数式が表示されてしまいます。 空白にしたら『EDATE(J2,K2)』、日付を入れたら『EDATE(L2,K2)』になるので一応IF関数は生きてると思うのですが、中で計算をしてくれていません。 解決方法をぜひご教授くださいませんか。

  • エクセル IF関数 初心者です。。

    A    B   C  D Aさん 9:00  1  9:00 Bさん 10:00 2  9:30 Cさん 11:00 3  10:00 Dさん 12:00 4  10:30 Eさん 9:00  1  9:00 A列氏名 B列時間 C列 B列IF関数 9:00からは1、10時からは2、 11からは3・・・ D列はC列のVLOOKUP関数 1=9:00、2=9:30、3=10:00・・・ そこでお聞きしたいのですが・・ A    B   C  D Aさん 9:00  1  9:00 Bさん 10:00 3  10:00 Cさん 11:00 4  10:30 Dさん 12:00 5  11:00 Eさん 9:00  2  9:30 IF関数を用いて IF(B1>=0.375),1,if(B1>=0.416666666666667),2,IF(B1>=0.458333333333333),3・・・ Eさんが2になるような数式がわかりません。 よろしくお願いします。。

  • エクセルの日付について

    A1に年度、A2に月、B2に日を入れた表があり、A3、B3以降もそれぞれ違う月、日が入っています。この表から、C2に日付データに直したものを入れたいのですが、年度で考えているため1・2・3月がどうしても翌年に変換されません。    A     B      C 1   21 2   4    2    2009/4/2 3  1    20     2010/1/20 どのような関数をいれればよいでしょうか。 教えてください。

  • エクセルの関数について

    Sheet1  |**********| Sheet2       A       B 1|2005/01/20|ABC| 2|2005/03/15|DEF| 3|2005/04/20|XXX| わかりずらくてごめんなさい。エクセル初心者です。 関数のことで質問させてください。 Sheet2の「B」の列に「ABC」の語を含んでいた場合、Sheet1の「********」のセルに「A」の列の日付に半年をプラスした日付を表示させたいのです。 もし含んでいない場合は、表示しなくてもいいのですが、この場合どのように数式を作っていいのかわかりません。 ちなみに自分で作った数式は =if(sheet2!B1=”ABC”,date(year(sheet2!A1)+0,month(sheet2!A1)+6,day(sheet2!A1)+0),””)でした。 しかし、これでは「B2」や「B3」に「ABC」が入った場合には適用されません。 頭が痛くなってきたので質問させていただくことにしました。 よろしくお願いいたします。

  • エクセルIF関数

    A列に鉄板と和食の種別 B 売上 A1が鉄板だった時、B1の売上を C1に表示する このような条件の場合、IF関数を使うのでしょうか? IF関数をネットで検索しましてもちょっとこのような数式は当てはまらないのかな と思っております。 もしどのような関数を使えばいいのか教えて下るかたがいらっしゃいましたら よろしくお願いします。 レストランの売上をエクセルでおこないたいと考えておるものです。

  • 一つのセルでIF関数を二つ使いたい

    二つのセルの値を割って、%を表示させるために、三つ目のセルには 「=1-(B1/A1)」を入れていたのですが、そこに、二つのセルが空白の時にはエラー表示にならないようにIF関数を使い、三つ目のセルは 「=IF(ISBLANK(A1),"",(1-(B1/A1)))」 という数式にしました。 その数式にさらに、もし二つのセルの値が「0」の時には、結果を「0%」として表示させたくて、三つ目の数式の中にもうひとつのIF関数を同時に使いたいのですが、 一つのセル内に、IF関数を使って結果をうまく表示させるには、どのような数式にすれば良いでしょうか??

  • IF関数をひとつのセルに二つ使いたい。

    A列のセルには、 「空白」、「0.5」、「1」、「1,5」、「2」が入るのですが B列のセルには 隣接するA列が「0.5」~「1,5」までは500、 「2」以上だと1000、 A列が空白だとB列も空白にしたいです。 でも最初からB列には関数 「=IF(1<A1,1000,500)」を入れてオートフィルしているので 空白のセルも勝手に「500」に入力されてしまいます。 そもそも「=IF(1<A1,1000,500)」ではだめですよね? よろしくお願いします。

専門家に質問してみよう