• ベストアンサー

Excelで日付を入力したら締日を表示させる

Excelで経費の支払いの表を作ろうとしています。 A列のセルに日付を入力し、 A列に入力した日付が1日~15日までなら B列のセルにその月の最終日の日付を 16日~31日までなら B列に翌月の15日と自動で表示されるようにするには どうすればいいのでしょうか? 詳しい方、教えてください。 ちなみに使用しているExcel2010です。

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

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7991/21370)
回答No.2

ごめ。よく読んだら半月ずれてましたな。 =IF(DAY(A1)<15,DATE(YEAR(A1),MONTH(A1)+1,1)-1,DATE(YEAR(A1),MONTH(A1)+1,15)) MONTH(A1)+1で「13月」とか出てきちゃいそうですが、Excelはちゃんと「翌年1月」と計算しなおしてくれますから大丈夫です。

その他の回答 (7)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.8

B2=IF(A2="","",DATE(YEAR(A2),MONTH(A2)+1,(DAY(A2)>15)*15))

noname#204879
noname#204879
回答No.7

=DATE(YEAR(A1),MONTH(A1)+1,15*(DAY(A1)>15))

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.6

DATE関数で翌月の15日か0日を計算します。 B2: =IF(A2="","",DATE(YEAR(A2),MONTH(A2)+1,15*(DAY(A2)>15))) とかでいいです。 もちろん日付の書式をつけるのを忘れないように。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 B1セルの書式設定の表示形式を[日付]とした上で、B1セルに次の関数を入力してから、B1セルをコピーして、B2以下に貼り付けると良いと思います。 =IF(AND($A1<>"",ISNUMBER(DAY($A1))),IF(DAY($A1)<16,DATE(YEAR($A1),MONTH($A1)+1,1)-1,DATE(YEAR($A1),MONTH($A1)+1,15)),"")  或いは、 =IF(AND($A1<>"",ISNUMBER(DAY($A1))),DATE(YEAR($A1),MONTH($A1)+1,(DAY($A1)>=16)*16-1),"")

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

一例です。 =IF(A2<>"",IF(DAY(A2)>15,DATE(YEAR(A2),MONTH(A2)+1,15),DATE(YEAR(A2),MONTH(A2)+1,0)),"")

  • FEX2053
  • ベストアンサー率37% (7991/21370)
回答No.1

別にむずかしいことはないですよ。A1セルに「日付シリアル(2011/10/18とか入力する)」で入力されたとした場合。 =IF(DAY(A1)<15,DATE(YEAR(A1),MONTH(A1),15),DATE(YEAR(A1),MONTH(A1)+1,1)-1) キモはDATE関数の使い方と、「翌月1日の前日は当月の月末日」って発想だけです。

関連するQ&A

専門家に質問してみよう