電子書籍の厳選無料作品が豊富!

エクセルで家計簿を作っています。クレジットカードで買い物をした日を入力すると、支払い日のセルに日にちが入るような関数を設定したいのですが、できますか?たとえば、5月5日に買うと、支払日は「5日締め、翌15日払い。15日が土日祝日なら、前営業日」の条件にかなった日が表示されるように。

A 回答 (6件)

何でも(エクセル)関数のクセに陥らないこと。


本件は関数では難しいでしょう。
(1)カード会社により締切日と口座振替美が違うかもしれない。
http://www.cardservice.co.jp/cardpayment.html
(2)銀行休業日を割り出すのは難しい。年毎に変わる休日もある。
(3)カード会社により、引き落とし日は
   (A)銀行休日の場合翌営業日
   (B)質問者の言う、前営業日は少数派?
などの事情がある。
VBAでやっても難しい。
苦労する割りに、部分的な個人のニーズでは割りにあわない。人間が調べて書き込むほうが良い。
    • good
    • 0
この回答へのお礼

なるほど、その通りですね。imogassiさんのおっしゃるような理由もあるし、買い物をした日が締め日の前でも、お店での計上が遅れて、請求が翌月になることは、よくありますものね。
色々考えましたが、購入日と、支払い日のほかに、支払い予定日を設け、購入日を入力すると、支払い予定日に、ほかの方の教えてくださった関数で、大まかな引き落とし日が、自動で入力されるように設定し、実際に請求書が来たら、支払い日を手入力することにしました。こうすれば、とりあえず今月お金がいくら無くなるか、の目処は立ちます。
貴重なアドバイスをありがとうございました。

お礼日時:2008/02/11 22:30

補足:



ゴミ回答でしたのでキャンセルします。(月計算の件)
ただ、シート2に<決済日一覧表>を作成すれば表引きで簡単・確実に行えると思います。
    • good
    • 0
この回答へのお礼

Husky2007さん、丁寧なお返事をありがとうございました。
ただ、色々考えましたが、買い物をした日が締め日の前でも、お店での計上が遅れて、請求が翌月になることがよくあることに気付きました。そこで、Husky2007さんのおっしゃるようにシート2にカード別決済日一覧表を作ってほかの方の教えてくださった関数を記入し、データシートには購入日と、支払い日のほかに、支払い予定日を設けシート2の関数を引っ張ってくるよう設定し、、購入日を入力すると、支払い予定日に、大まかな引き落とし日が、自動で入力されるようにし、実際に請求書が来たら、支払い日を手入力することにしました。こうすれば、とりあえず今後お金がいくら無くなるか、の目処は立ちます。

お礼日時:2008/02/11 22:38

5月4日に購入→5月5日締め→5月15日支払い


5月6日に購入→6月5日締め→6月15日支払い
(支払日が土日祝日なら前営業日が支払い)
でよいですか?

A1に購入日が入力され、Sheet2!A1:A3に祝日(2008/2/11、2008/3/20など)が入力されているとき

=IF(DAY(A1)<6,WORKDAY(WORKDAY(DATE(YEAR(A1),MONTH(A1),15),1,Sheet2!A1:A3),-1,Sheet2!A1:A3),WORKDAY(WORKDAY(DATE(YEAR(A1),MONTH(A1)+1,15),1,Sheet2!A1:A3),-1,Sheet2!A1:A3))
で支払日が出せると思います。

WORKDAY関数は「営業日」を計算する関数です。翌月の15日の「次の営業日」をいったん求め、その前の営業日を求めることにより希望の営業日が算出できます。

Sheet2!A1:A3の範囲は実際に入力した「祝日」に合わせて変更してください
    • good
    • 0
この回答へのお礼

ZAP35さん、貴重なアドバイスをありがとうございました。
ただ、色々考えましたが、買い物をした日が締め日の前でも、お店での計上が遅れて、請求が翌月になることがよくあることに気付きました。そこで、データシートには購入日と、支払い日のほかに、支払い予定日を設け、zap35さんの教えてくださった関数を使い、購入日を入力すると、支払い予定日に、大まかな引き落とし日が、自動で入力されるようにし、実際に請求書が来たら、支払い日を手入力することにしました。こうすれば、とりあえず今後お金がいくら無くなるか、の目処は立ちます。貧乏です・・・

お礼日時:2008/02/11 22:45

単純に支払日の計算は日付関数で可能ですが、営業日換算となると「銀行カレンダー」が必要になります。


下記のURLを参考にしてみて下さい
カレンダーを作成する場合
 kt関数アドイン
 http://www.h3.dion.ne.jp/~sakatsu/ktfunc_main.htm
VBAで判定ロジックを作成する場合
 祝日判定用マクロ[関数]
 http://www.h3.dion.ne.jp/~sakatsu/holiday_logic. …
アドイン関数を使用する場合
 銀行カレンダー関数のExcelアドイン 
 http://www.loadsystem.net/excel/BankCalAddin.htm
    • good
    • 0
この回答へのお礼

営業日を知るのはとても複雑な条件を考慮しなければできないことだったんですね!!じっくり勉強させていただきます。ありがとうございました。

お礼日時:2008/02/11 22:41

大変、A1の曜日を調べても無駄でした。


計算結果を調べるように変更されて下さい。
    • good
    • 0

Q、できますか?


A、簡単にはできません。が、毎年作りかえるならば比較的簡単。

2008/2/2______2008/2/15
2008/2/10____2008/3/14

=DATE(YEAR(A1),MONTH(A1)+(DAY(A1)>4),15-(WEEKDAY(A1,3)=6)-(WEEKDAY(A1,3)=7)*2)

一見、成功しているようですが<祝日>が考慮されていません。
そこんとこをどうするかです。
この正答は、営業日カレンダーを設定するということでしょう。
しかし、よくよく考えれば、そういう月は9月だけです。
そういうことで、8月5日から9月4日であれば2008/09/12とするのが一番簡単でしょう。
    • good
    • 0

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