- 締切済み
エクセルで一ヵ月以内に○をつける方法
エクセルで、提出期限と提出日を計算して、1ヵ月以内だと○、一ヵ月以上だとXをつけたいです。 ただ、単純に日数(31日とか)を引くのではなく、月ごとにしたいのです。 例えば、 【提出期限】→【提出日】= 判定 2/29 → 1/29 = ○ 2/29 → 1/30 = ○ 2/29 → 2/01 = X 4/30 → 3/31 = ○ 4/30 → 4/01 = X 何かいい関数はあるでしょうか? よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- zap35
- ベストアンサー率44% (1383/3079)
#02です >これならどうなるんでしょうか? 先の回答を本当に見ていただけましたか? 満月数を求める関数を書いたはずです。満月数が1以上なら「1ヵ月以前」になるだけのことだと思いますが… IF関数の書き方が分からないなら、 =IF(DATEDIF(B1,A1,"M")>=1,"○","×") でよいでしょう。
- suz83238
- ベストアンサー率30% (197/656)
A2に提出期限、B2に提出日として A4に「=IF(DATEDIF(B2,A2,"MD"),"○ ","")」を入れる。 あとはA4をマウスで下まで引っ張ればよし。
お礼
ありがとうございました。 色んな方法があるんですね。 でも、2/29→1/30 と 4/30→3/31 がうまくXにならないんですよね・・ 変則的なので、あきらめたほうがいいですかね・・
- zap35
- ベストアンサー率44% (1383/3079)
1カ月以上経過しているかを判断するならDATEDIF関数がよいと思います。(「ツール」→「アドイン」→「分析ツール」にチェックが必要) A1に「2/29」、B1に「1/29」をエクセルの日付形式で入力して、C1に =DATEDIF(B1,A1,"M") を入力すれば満月数が表示されます。この場合は「1」が返されます。 従って結果が「0」なら一月以内、「1」以上なら一月以上と判定できます。 =IF(DATEDIF(B1,A1,"M")=0,"○","×") でよいでしょう でも質問に載っている凡例はワケがわかりません。 2/29 → 1/29 = ○ 2/29 → 2/01 = X 4/30 → 4/01 = X 判定は逆ではないでしょうか?
補足
ごめんなさい。間違えました。 1ヵ月以内 ではなく 1ヵ月以前 でした。 一ヵ月以前に提出すると○にしたいのです。 これならどうなるんでしょうか? 申し訳ありません。また教えてください。
- ryuujiok2205
- ベストアンサー率21% (233/1098)
> 2/29 → 2/01 = X > 4/30 → 4/01 = X 常識的にはどうみても1ヵ月以内ですが、×のココロを教えてください。
補足
ごめんなさい。間違えました。 一ヵ月以内 ではなく 一ヵ月以前 でした。 申し訳ありません。
お礼
ありがとうございました。 ・・でも、 2/29→1/30 と 4/30→3/31 がきちんと満月が計算されていて、Xにならないんですよね・・ 変則的なので、関数では無理なのかもしれないです。