• ベストアンサー

Excelで指定月の日数を表示できる機能(関数?)ってありますか?

タイトルのとおりなんですが、例えばどこかのセルに2003/1/1と入力します。 そして、別の表の中で日割り計算をしたいので、2003年1月なら「31」という数字を別のセルに持ってきたいんです。 こんなことってできますか?

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

  • ベストアンサー
  • moon00
  • ベストアンサー率44% (315/712)
回答No.1

関数を使えば出来ると思います。 月の日数=(翌月の初日)-1と考え、 A1に2003/1/1が入っているとします。 日数を表示したいセルに、 =DAY(DATE(YEAR(A1),MONTH(A1)+1,1)-1) で、できると思います。

keisukekun
質問者

お礼

ありがとうございますっ。 できましたっ!

その他の回答 (2)

  • lipton55
  • ベストアンサー率60% (32/53)
回答No.3

EOMONTH関数を使えば可能かと思います。 例えばセルA1に「2003/1/1」と入っているとして、セルB1に「31」と表示させたい場合は、セルB2に「=EOMONTH(A1,0)」と入力します。 ただしEOMONTH関数を使用するには、メニューバーのツール-アドインの「分析ツール」にチェックが入っていないと使用できません。

keisukekun
質問者

お礼

ありがとうございました。 これも参考になりました。

  • wildcard
  • ベストアンサー率54% (54/100)
回答No.2

もし、年月日として取得されたいのならば、 2003/1/1が入力されているセルをA1と仮定しますと、 =DATEVALUE(YEAR(A1)&"/"&MONTH(A1)+1&"/"&1)-1 と言う数式でokですよ。これで2003/1/31となります。 考え方としては、A1から年と月を算出して、月は1を足します。そして日を1で固定します。これらを"/"を間に挟んで連結すると次月の1日(この場合2003/2/1)を文字として取得できます。後はこれをシリアル値(Excelでは日付を数値として管理しています)に変換してから1(日)引けば、必ずA1に入力された日付の月末になります。

keisukekun
質問者

お礼

ありがとうございます。 No.1の人とは意味が違うんですがわかりました。 ありがとうございます。

関連するQ&A

専門家に質問してみよう