- ベストアンサー
Excelで日付を入力したら締日を表示させる
Excelで経費の支払いの表を作ろうとしています。 A列のセルに日付を入力し、 A列に入力した日付が1日~15日までなら B列のセルにその月の最終日の日付を 16日~31日までなら B列に翌月の15日と自動で表示されるようにするには どうすればいいのでしょうか? 詳しい方、教えてください。 ちなみに使用しているExcel2010です。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
ごめ。よく読んだら半月ずれてましたな。 =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)
B2=IF(A2="","",DATE(YEAR(A2),MONTH(A2)+1,(DAY(A2)>15)*15))
=DATE(YEAR(A1),MONTH(A1)+1,15*(DAY(A1)>15))
- keithin
- ベストアンサー率66% (5278/7941)
DATE関数で翌月の15日か0日を計算します。 B2: =IF(A2="","",DATE(YEAR(A2),MONTH(A2)+1,15*(DAY(A2)>15))) とかでいいです。 もちろん日付の書式をつけるのを忘れないように。
- kagakusuki
- ベストアンサー率51% (2610/5101)
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)
一例です。 =IF(A2<>"",IF(DAY(A2)>15,DATE(YEAR(A2),MONTH(A2)+1,15),DATE(YEAR(A2),MONTH(A2)+1,0)),"")
まず、「自動で」を実現するために「関数」が必要なことはわかりますよね?よね? どうせ誰かが事細かに教えにくるから、私はヒントだけ。 >A列に入力した日付が1日~15日までなら http://www.google.co.jp/search?num=100&hl=ja&safe=off&rls=com.microsoft%3Aen-US&rlz=1I7GGHP_ja&q=excel+if&oq=excel+if&aq=f&aqi=g-e2g8&aql=1&gs_sm=e&gs_upl=1438l2454l0l2704l4l4l1l0l0l0l187l453l1.2l3l0 >B列のセルにその月の最終日の日付を http://www.google.co.jp/search?q=excel++%E6%9C%AB%E6%97%A5&sourceid=ie7&rls=com.microsoft:en-US&ie=utf8&oe=utf8&rlz=1I7GGHP_ja&redir_esc=&ei=DSCdTquiNabkmAWi6eS4CQ >B列に翌月の15日 http://www.google.co.jp/search?q=excel++%E7%BF%8C%E6%9C%88&sourceid=ie7&rls=com.microsoft:en-US&ie=utf8&oe=utf8&rlz=1I7GGHP_ja&redir_esc=&ei=LCCdTszEIsidmQXAoZmnCQ ※日付関連の関数 http://www.google.co.jp/search?q=excel++%E9%96%A2%E6%95%B0%E3%80%80%E6%97%A5%E4%BB%98&sourceid=ie7&rls=com.microsoft:en-US&ie=utf8&oe=utf8&rlz=1I7GGHP_ja&redir_esc=&ei=nyCdTrrwBuPXmAWL3K2GCQ
- FEX2053
- ベストアンサー率37% (7991/21371)
別にむずかしいことはないですよ。A1セルに「日付シリアル(2011/10/18とか入力する)」で入力されたとした場合。 =IF(DAY(A1)<15,DATE(YEAR(A1),MONTH(A1),15),DATE(YEAR(A1),MONTH(A1)+1,1)-1) キモはDATE関数の使い方と、「翌月1日の前日は当月の月末日」って発想だけです。