- ベストアンサー
エクセルの日付の設定
エクセルで請求書を作っています。 たとえば、請求月の、入金日は翌月末払いと毎月決まっている場合、請求日を入力すれば自動的にお振込日(翌月末)を設定することはできるのでしょうか?詳しい方がいらしたらお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
再び#1です。 月末が土日の場合に前営業日(金曜日)に前倒しする場合について。 一度に式を入れることもできますが、長ったらしくなるので、未使用のセルを作業用のセルにしてワンクッションおくことにします。 作業用セルをA2として、A2に =IF(A1="","",DATE(YEAR(A1),MONTH(A1)+2,0)) 等で、とりあえず翌月末日を出します。 その上で、振込日のセルには =IF(ISERR(WEEKDAY(A2,1)),"",IF(WEEKDAY(A2,1)=1,A2-2,IF(WEEKDAY(A2,1)=7,A2-1,A2))) とすればいいでしょう。 もし、翌営業日になる場合は、上の式の"A2-2"を"A2+1"に、 "A2-1"を"A2+2"に変えてください。 WEEKDAYは曜日を調べる関数です。 ISERRは、A1が未入力のときエラーになるので、そのときに何も表示しないようにするために使いました。
その他の回答 (5)
- mshr1962
- ベストアンサー率39% (7417/18945)
#3のmshr1962です。 翌月15日払い =DATE(YEAR(A1),MONTH(A1)+1,15) 翌々10日払い =DATE(YEAR(A1),MONTH(A1)+2,10) 土日の場合は#5で#1さんが回答しているので省略します。 ひとつの式で行う場合はA2の所に上記の式を入れることになります。
- hinebot
- ベストアンサー率37% (1123/2963)
#1です。 >=IF(A1="","",DATE(YEAR(A1),MONTH(A1)+2,1)-1)) この式、最後の括弧が1つ多いです(^^; =IF(A1="","",DATE(YEAR(A1),MONTH(A1)+2,1)-1) でOK。 なお、IFを使ったのは請求日が入力されていないときに、何も表示しないようにするためです。
- mshr1962
- ベストアンサー率39% (7417/18945)
A1が請求日として =DATE(YEAR(A1),MONTH(A1)+2,0) で翌月末になります。 「ツール」「アドイン」で「分析ツール」にチェックがあるなら =EOMONTH(A1,1) として表示形式を日付にする方法もあります。 上記は土日に関して考慮していません。 土日の場合、前日ですか?それとも翌月の営業日?
- esprei
- ベストアンサー率56% (718/1271)
請求日を入力するセルをA1とした場合、 =EOMONTH(A1,1) 答えはシリアル値で出ます。 この式を入力したセルの表示形式を日付で、表示したい形式にして下さい。 これで請求日から翌月の月末日が表示されます。
- hinebot
- ベストアンサー率37% (1123/2963)
セルA1に請求日が入っているとします。(日付の形式で入っているとします) 振込日を入力するセルに =IF(A1="","",EOMONTH(A1,1)) とすればできます。 もし、38138のような数値が出てきたら、セルの書式設定で、分類を日付にしてください。 EOMONTH関数がない場合 =IF(A1="","",DATE(YEAR(A1),MONTH(A1)+2,1)-1)) でもできます。
補足
ありがとうございます。大変助かりました。もしよろしければ、翌月15日払い、翌々10日払いも教えていただければ嬉しいのですが・・・お手数おかけします。