• ベストアンサー

エクセルの関数で「6ヶ月より長い場合」と条件設定したい!

期間管理などの際, 「6ヶ月よりも長く処理されていなければ“警告”と表示」したいということがあると思いますが,どうしたらよいでしょうか。 素人考えで,IF関数で,「6ヶ月より長い場合」と条件設定しようとしましたが,分かりません。 確定した数字で「10より大きい」とかなら「(セル)>10」だと思いますが・・・。 よろしくお願いします。 IF関数よりもよい方法があればそちらも御指導いただけたら有り難いです。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.7

No1-3-4です。 > この結果をもとに,その横の列に,「6ヶ月を超えている」ものに「警告」と表示を出したいというわけです。 > 無理に「○年○ヶ月○日経過」と表示させたのを使おうとするのが悪いみたいです・・。 「○年○ヶ月○日経過」と表示させたのを使わなくともA7とA1を参照するだけでいいのでは? =IF(DATEDIF(A7,A1,"M")>6,"警告","")

libra98
質問者

お礼

お礼が遅くなり申し訳ありません。 確かにそれもそうですね。 つい計算結果を利用する方に目が向いてしまっていました。 みなさまのアドバイスをもとに,何とかいいのが出来上がりました。 お世話になりました。

その他の回答 (6)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.6

No1-3です。 > 一つのセルでは難しそうですね。 できますよ。 =IF(DATEDIF(A1,TODAY(),"M")>6,"警告","")

libra98
質問者

補足

今の段階ですが, IF(B7="",DATEDIF(A7,$A$1,"y")&"年"&DATEDIF(A7,$A$1,"ym")&"ヶ月"&DATEDIF(A7,$A$1,"md")&"日経過","処理完了") まで作成しています。 作業開始日にA7というセルがあって, 作業終了日のB7セルが空白なら, 「○年○ヶ月○日経過」と表示されるようにしています。(作業終了日B7に日付が入っていたら「処理完了」と表示される。) ちなみに,$A&1は,TODAY関数で表示された今日の日付です。 この結果をもとに,その横の列に,「6ヶ月を超えている」ものに「警告」と表示を出したいというわけです。 無理に「○年○ヶ月○日経過」と表示させたのを使おうとするのが悪いみたいです・・。 いろいろアドバイスいただき,すいません。

回答No.5

目的がはっきり解りませんので間違っていたらごめんなさい。 「警告」を表示させたいセルに =IF(A1<A5-180,"警告","") と入力します。 A1は、問題が起こった日付 A5には =today()  と入力し、 A1と比較します。表示したくないなら、 「非表示」としてください。 180は30日の六ヶ月で計算しています。 その他、条件付き書式を使用しても もっと分かり易くなるかも?

libra98
質問者

お礼

みなさんのアドバイスで,だいぶ頭がすっきりしてきました。 ありがとうございました。

  • wonder99
  • ベストアンサー率28% (85/302)
回答No.4

開始日(前回処理日)がA1に入っているとして、 =IF(DATEDIF(A1,TODAY(),"m")>=6,"警告","") で、できませんか? 6ヶ月以上なら「警告」と出ると思います。 6ヶ月ジャストがOKで6ヶ月と1日はダメとなると もう少し複雑になりそうな感じですけど・・・。

libra98
質問者

お礼

みなさんのアドバイスで,だいぶ頭がすっきりしてきました。 ありがとうございました。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

No1です。 仮にC1に月数をだしてあるのであれば、 =IF(C1>6,"警告","") です。

libra98
質問者

お礼

ありがとうございました。 DATEDIF関数ですが,&でつなげて「○年○ヶ月○日経過」の表示にしているのですが, これから「6ヶ月より長い期間」を拾おうとしていました。 一つのセルでは難しそうですね。 参考になりました。

回答No.2

具体的な目的がはっきりしないので、外しているかもしれませんが、 期間を「6」と入力して、セルの表示形式で「0"ヶ月"」とすれば、いかがでしょうか? これなら、数字の6で判断できますので、普通にif関数が使えると思いますが。

libra98
質問者

お礼

ありがとうございました。 DATEDIF関数ですが,&でつなげて「○年○ヶ月○日経過」の表示にしているのですが, これから「6ヶ月より長い期間」を拾おうとしていました。 一つのセルでは難しそうですね。 参考になりました。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

日付と日付から経過した月数を求めたいということですか? 開始日をA1、今日をB1とすると、 =DATEDIF(A1,B1,"M") で、すでに経過した月数が求められます。 =DATEDIF(A1,B1,"MD") で、端日数が求められます。

libra98
質問者

補足

早速のお答えありがとうございます。 期間の計算はDATEDIF関数を使って計算するつもりです。 その結果から,さらに「6ヶ月を過ぎた場合」について, 条件設定し,「警告」と表示させたいわけです。 いかがでしょうか。

関連するQ&A