アプリ版:「スタンプのみでお礼する」機能のリリースについて

 エクセルで、提出期限と提出日を計算して、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

何かいい関数はあるでしょうか?
よろしくお願いいたします。

A 回答 (4件)

> 2/29  →  2/01 = X


> 4/30  →  4/01 = X

常識的にはどうみても1ヵ月以内ですが、×のココロを教えてください。

この回答への補足

ごめんなさい。間違えました。
一ヵ月以内 ではなく 一ヵ月以前 でした。
申し訳ありません。

補足日時:2008/01/24 21:10
    • good
    • 0

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ヵ月以前 でした。
一ヵ月以前に提出すると○にしたいのです。
これならどうなるんでしょうか?
申し訳ありません。また教えてください。

補足日時:2008/01/24 21:16
    • good
    • 0

A2に提出期限、B2に提出日として


A4に「=IF(DATEDIF(B2,A2,"MD"),"○ ","")」を入れる。
あとはA4をマウスで下まで引っ張ればよし。
    • good
    • 0
この回答へのお礼

ありがとうございました。
色んな方法があるんですね。
でも、2/29→1/30 と 4/30→3/31 がうまくXにならないんですよね・・
変則的なので、あきらめたほうがいいですかね・・

お礼日時:2008/01/25 20:24

#02です


>これならどうなるんでしょうか?
先の回答を本当に見ていただけましたか? 満月数を求める関数を書いたはずです。満月数が1以上なら「1ヵ月以前」になるだけのことだと思いますが…

IF関数の書き方が分からないなら、
 =IF(DATEDIF(B1,A1,"M")>=1,"○","×")
でよいでしょう。
    • good
    • 1
この回答へのお礼

ありがとうございました。
・・でも、
2/29→1/30 と 4/30→3/31 がきちんと満月が計算されていて、Xにならないんですよね・・
変則的なので、関数では無理なのかもしれないです。

お礼日時:2008/01/25 20:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています