- ベストアンサー
Excel MONTH(A1+11)はなぜ翌月の月数になるか
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
上記の式に欠陥が無いわけではありませんが 式自体の意味としては 21日以降で翌月になるのは1カ月が最大31日にまでしかないので 21日以上では日数に11を足せば32日になるので 翌月になります。 ただし、厳密にいえば30日の月や28日の月もあるのでその場合には 20日でも翌月になってしまいまいます。 確実に21日から翌月にしたいのであれば =IF(DAY(A1)>20,MONTH(A1)+1,MONTH(A1) としたほうがいいと思います。
その他の回答 (2)
- j38
- ベストアンサー率22% (9/40)
2009/12/21 + 11 -> 2009/12/32は無いので -> 2010/01/01 の月を取りだすから、1という意味だと思います。 内部では、1900/01/01を1とした通算日で計算されています。 2009/12/21(40168)+11 -> 2010/01/01(40179)
お礼
早速の回答ありがとうございます。 齢70才弱の老爺(じじい)は、応用がきかなくていけません。 =MONTH(A1+11)の括弧内のA1+1の意味が、説明を見てやっと理解できました。 ありがとうございました。 今後ともご指導よろしくお願いします。
- KURUMITO
- ベストアンサー率42% (1835/4283)
21日以降は次の月を表示させるのでしたら =MONTH(A1+IF(DAY(A1)>20,11))の式でよいでしょう。この式の意味はA1セルの値、シリアル値に11日を足すのですから例えばA1が21日でしたら11日を足すことになり32日となって、それは1月1日ですから、月の表示は1となりますね。 逆に=MONTH(A1)+1ではA1が2009/12/21のときは表示形式が標準のときでは13となってしまいますね。 正確に次の月を表すのでしたら、 =MONTH(DATE(YEAR(A1),MONTH(A1)+1,DAY(A1)))となります。
お礼
早速の回答ありがとうございます。 齢70才弱の老爺(じじい)は、応用がきかなくていけません。 =MONTH(A1+11)の括弧内のA1+1の意味が、説明を見てやっと理解できました。 ありがとうございました。 今後ともご指導よろしくお願いします。
お礼
早速の回答ありがとうございます。 齢70才弱の老爺(じじい)は、応用がきかなくていけません。 =MONTH(A1+11)の括弧内のA1+1の意味が、説明を見てやっと理解できました。 ありがとうございました。 今後ともご指導よろしくお願いします。