No.3ベストアンサー
- 回答日時:
ご質問のタイトルに「指定の日付より2か月前、1か月半前に・・・」とありますが、この指定日というのは毎月決まった日(例えば毎月15日とか)なのでしょうか?それとも、1日だったり、10日だったり、25日だったりとバラバラなのでしょうか?
仮にバラバラだとすると、指定日、例えばB1セルが「2023/2/1」の場合、=EOMONTH(B1,-2)という数式を使うと「2022/12/31」が返ります。これだと指定日まで1月か月と1日しかありません。また、=EOMONTH(B1,-2)+DAY(EOMONTH(B1,-2))/2という数式を使うと「2023/1/15」が返ります。同様に指定日まで半月しかありません。
ご質問者のご希望は2か月および1か月半前だったはずです。この点を考えると最初のEOMONTH関数はEDATE関数の誤りなのではないかと思います。
従って、添付画像のように、
=EOMONTH(B1,-2)<TODAY()・・・(1)
=EDATE(B1,-2)<=TODAY()・・・①
(1)を①に修正し、
=EOMONTH(B1,-2)+DAY(EOMONTH(B1,-2))/2<TODAY()・・・(2)
=INT(EDATE(B1,-2)+DAY(EOMONTH(B1,-2))/2)<=TODAY()・・・②
(2)を②に修正するということになります。
こうすると①では指定日の2か月前の応当日からアラート表示(添付画像では淡青塗りつぶし)、②では指定日の2か月前の応当日から当該月の半月分日数を経過した日(つまり1か月半前)からアラート表示という意味の数式になります。
②の数式でINT関数を使用している理由を説明します。DAY(EOMONTH(B1,-2))/2は月の日数を2で割って半月の日数を求める数式ですが、月の日数は28、29、30、31の四種類あります。このうち奇数の日数である29、31の場合、2で割ると整数にならず、「.5」の小数点以下がでます。日付はシリアル値で整数ですから、TODAY()と一致させるには整数化する必要があります。
このため、INT関数を使って0.5は結果として切捨ています。
つまり、29日の月は2か月前から14日経過でアラート、31日の月は2か月前から15日経過でアラート表示になります。
なお、切捨てではなく、29日のときは15日、31日のときは16日経過したら「半月」としたいという場合は、②の数式を
=ROUNDUP(EDATE(B1,-2)+DAY(EOMONTH(B1,-2))/2,0)<=TODAY()・・・③
という数式にすることになります。
さらにいえば、上記数式は文字通り「指定の日付より2か月前、1か月半前に・・・」という考えを数式化したものですが、今日を基準にすると「④今日の2か月後が指定日以降ならアラート」「⑤今日の1か月半後が指定日以降ならアラート」と考えることもできます。この考えで数式を作ると
=EDATE(TODAY(),2)>=B1・・・④
=INT(EDATE(TODAY(),2)-DAY(EOMONTH(TODAY(),2))/2)>=B1・・・⑤
のようになります。
goomania 様
この度はご丁寧にご教授いただきましてありがとうございます。
大変わかりやすく、助かりました!
>ご質問のタイトルに「指定の日付より2か月前、1か月半前に・・・」とありま>すが、この指定日というのは毎月決まった日(例えば毎月15日とか)なのでし>ょうか?それとも、1日だったり、10日だったり、25日だったりとバラバラ>なのでしょうか?
→この日付の部分は契約終了日の日付となる為、各月の月末の日付が入っている部分になります。
確かに仰る通り、月によって日数が異なる為ズレていってしまいますね。。
ご教授いただきました数式にて無事解決いたしました!!
INT関数をなぜ使用するのか?指定日ではなく、今日を基準にする場合など、パターン別にもご教授いただき、大変勉強になりました。
本当にありがとうございました!
No.2
- 回答日時:
No.1の回答者です。
ちょっと気になる部分があることと、数式の修正を。
※B列が基準日が入っている列
=EOMONTH(B:B,-2)<TODAY()
これでアラートが出るのですか?
条件付き書式を使うなら、範囲をB:Bにして、
=EOMONTH(B1,-2)<TODAY()
で指定することで対応しますよね。
上記で対応するなら、
=EOMONTH(B1,-2)+DAY(EOMONTH(B1,-2))/2<TODAY()
で済むはずです。
No.1
- 回答日時:
EOMONTH関数を使いたいのですか?
1か月半前を1.5にしても、小数点以下は切り捨てられます。
https://support.google.com/docs/answer/3093044?h …
これはExcelでも同じです。
https://support.microsoft.com/ja-jp/office/eomon …
2か月前の月末の半分の日付を足せば、1か月半になるので、
=EOMONTH(B1,-2)+DAY(EOMONTH(B1,-2))/2
で日付を取り出せます。
=EOMONTH(B:B,-2)+DAY(EOMONTH(B;B,-2))/2<TODAY()
などで対応してみてはいかが。
ご教授いただきましてありがとうございます!
特段、EOMONTH関数を使いたいわけではなく、いろいろ調べていたところその数式にたどり着きました!
2か月前と1か月半前を分けて書式設定したい場合は、以下と認識いたしました!
・2か月前=EOMONTH(B:B,-2)<TODAY()
・1か月半前=EOMONTH(B:B,-2)+DAY(EOMONTH(B;B,-2))/2<TODAY()
ちなみにその際の書式ルールは、次より前の日付、正確な日付の設定で問題ないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
夏が終わったと感じる瞬間って、どんな時?
まだまだ暑い今日この頃。 しかしながら、もう夏は終わっている!……はず。 あなたが思う「夏が終わった!」エピソードを教えてください。
-
【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
2024年は「名探偵コナン30周年」「涼宮ハルヒ20周年」などを迎えますが、 あなたが「もうそんなに!?」と驚いた○○周年を教えてください。
-
CDの保有枚数を教えてください
ひとむかし前はCDを買ったり借りたりが主流でしたが、サブスクで簡単に音楽が聴ける今、CDを手に取ることも減ってきたかと思います。皆さんは2024年現在、何枚くらいCDをお持ちですか?
-
昨日見た夢を教えて下さい
たまにすごいドラマチックな夢見ること、ありませんか? 起きてからも妙に記憶に残っているような、そんな夢。
-
「お昼の放送」の思い出
小学校から中学校、ところによっては高校まで お昼休みに校内放送で、放送委員が音楽とかおしゃべりとか流してましたよね。 最近は自分でもラジオができるようになって、そのクオリティもすごいことになっていると聞きます。
-
<条件追加/スプレッドシート>指定の日付より2か月、1.5か月前に書式設定アラートを出したい
その他(Microsoft Office)
-
Excelに入力した個々の日付の数ヶ月前から自動で色をつける方法を教えてください。
Excel(エクセル)
-
日付が1年以内になると他のセルの色が変わる
Excel(エクセル)
-
-
4
指定した期限が近づくとセルの色が変わる
Excel(エクセル)
-
5
エクセル 期日の半年前になると、セルの色が変わる方法
Windows Vista・XP
-
6
Excelの条件付き書式にて空白セルを除外するには?
Excel(エクセル)
-
7
条件付書式【締切日10日前からセルの色をかえる】
その他(ビジネス・キャリア)
-
8
【スプレドシート】IMPORTRANGE関数とSUMIFSの組み合わせ
その他(Microsoft Office)
-
9
Excel 条件付書式 今日より3日前のセルに色をつけたい
Excel(エクセル)
-
10
E列のセルに数値が入れば(空白でなければ)B列の同じ行のセルに色がつく
その他(Microsoft Office)
-
11
あるセルに特定の文字列を打つと、他のセルに決められた文字が自動入力するように
Excel(エクセル)
-
12
DATEDIFでマイナス表示をさせたい
Excel(エクセル)
-
13
Excelについて あるセルに文字が入ったら違うセルに色が付き、 色がついたセルに文字を入力したら色
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SUMIFとCOUNTIFを合わせたよう...
-
【スプレッドシート】指定の日...
-
相関係数のExcelの求め方
-
Excel:月またぎを含む日数の差...
-
Excelでエラーのある行数をカウ...
-
エクセル マクロ 足し算
-
条件付き書式(ルールの管理な...
-
エクセル2003 MONTH関数で
-
エクセルで灯油の配送予定日を...
-
Excelで足し算
-
Excel 数字のなかで指定した桁...
-
エクセルで複数の行・列を同時...
-
ある一定時間を超えた場合の超...
-
エクセル くじ引きの口数が別々...
-
EXCELで2つの数値のうち大きい...
-
Excelで隣のセルと同じ内容に列...
-
PowerPointで表の1つの列だけ...
-
エクセル(勝手に太字になる)
-
エクセルで二つの数字の小さい...
-
えエクセルで○は1とし△は0.5で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUMIFとCOUNTIFを合わせたよう...
-
【スプレッドシート】指定の日...
-
ある一定時間を超えた場合の超...
-
エクセルでの複数条件下での標...
-
EXCEL 経過年数の平均を求めた...
-
エクセルで年月の合計の関数を...
-
エクセルで「ぶら下げ」書式を...
-
隣のセルに入力したら自動的に...
-
エクセルにて「週」から日付を...
-
エクセルで角度の計算できますか?
-
Excelの表以外が暗い?
-
エクセル シフト表 6連続勤...
-
複数連続した列幅や行高を一発...
-
Excel:月またぎを含む日数の差...
-
エクセルで、一つのセルに二つ...
-
EXCEL 年月表示をするVBAを教...
-
excelでの文字を隠す方法
-
Excelのセルにカレンダーの月日...
-
エクセル くじ引きの口数が別々...
-
vbaで「/」を削除したい
おすすめ情報