dポイントプレゼントキャンペーン実施中!

現在、入出金の記録のブックの中に、クレジットカード引き落とし日を確認できる一覧表をExcelのシートで作っています。

月末締め、翌々月4日引き落としのカードの場合、A1に=TODAY()を入れて
=DATE(YEAR(A1), MONTH(A1)+2, 4)
とやればうまくいくと検索して発見しましたが、次の場合はどのようにしたらいいのでしょうか。

・毎月15日締めで、翌月10日引き落とし
・毎月10日締めで、翌月5日引き落とし

上の例え2点とも関数としてはあまり変わらないと思うのですが、サッパリわかりません。

どなたかお分かりになりましたら教えていただけると幸いです。

A 回答 (5件)

> 記載の式では12月分が正しく計算されない


いや、大丈夫。ちゃんと計算されますよ。

それと、No.1さんのご回答では〆日に翌月ではなく翌々月となってしまいます。
IF(DAY(A1)<15 の部分を IF(DAY(A1)<=15 に変えてください。

また、こんな式でもOKです。
15日締め/翌月10日引き落とし
=DATE(YEAR(A1),MONTH(A1)+1+(DAY(A1)>15)*1,10)

10日締め翌月5日引き落とし
=DATE(YEAR(A1),MONTH(A1)+1+(DAY(A1)>10)*1,5)
    • good
    • 1
この回答へのお礼

=DATE(YEAR(A1),MONTH(A1)+1+(DAY(A1)>15)*1,10)
でやってみました。IFやEDATEよりも簡潔でいいですね。最初私も<とか>を使ってどうにかできないかと試行錯誤していたので、具体例あげていただいて感謝です。ありがとうございました。

お礼日時:2006/10/28 23:11

・毎月15日締めで、翌月10日引き落とし


=DATE(YEAR(A1),MONTH(A1)+1+(DAY(A1)>15),10)
・毎月10日締めで、翌月5日引き落とし
=DATE(YEAR(A1),MONTH(A1)+1+(DAY(A1)>10),5)
    • good
    • 1
この回答へのお礼

#3さんのと似ていますね。ただ、DATE関数勉強中の身にとっては、途中の経過がどう違うのとか全くわかりませんが、簡潔な方法を示していただきましてありがとうございました。またよろしくお願いします。

お礼日時:2006/10/28 23:15

#2です。

さっきのはスマートじゃなかったので直します。
=EDATE(DATE(YEAR(A1),MONTH(A1),10),IF(DAY(A1)<=15,1,2))
    • good
    • 0
この回答へのお礼

#2では12月分がおかしくなると仰られておりましたが13月になってしまうから、と言うことでしょうか?

Excelは1つのことを実現するのにもたくさん方法があって奥が深いですね。回答いただきましてありがとうございました。

お礼日時:2006/10/28 23:13

記載の式では12月分が正しく計算されないと思います。


この手の計算には、分析ツール関数のEDATE()を使うのが一般的でしょう。EDATE()関数についてはExcelのヘルプを参照してください。
この関数を使うには、その前に「ツール」-「アドイン..」で表示されるダイアログボックスで「分析ツール」をチェックしておく必要があります。
15日締めの場合
=IF(DAY(A1)<=15,EDATE(DATE(YEAR(A1),MONTH(A1),10),1),EDATE(DATE(YEAR(A1),MONTH(A1),10),2))
って感じだと思います。
    • good
    • 0

最初のほうは


=IF(DAY(A1)<15,DATE(YEAR(A1),MONTH(A3)+1,10),DATE(YEAR(A1),MONTH(A1)+2,10))
ではどうでしょう。
次のは15と10,10を5に代えればOK
    • good
    • 0
この回答へのお礼

IFの中でDATE関数を使う方法なんですね。恥ずかしながら関数の中に関数を入れ子に出来るのをはじめて知りました…

ともかく、回答ありがとうございました。

お礼日時:2006/10/28 23:05

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