• ベストアンサー

こんな関数ありますか?

A1のセルが 6月3日になっています。 B1には3ヶ月経った9月2日を表示、 C1には3ヶ月経った最初の水曜日9月6日を表示 したいです。 B1とC1に入る数式を教えて下さい。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

B1は  =A1+DATE(0,4,0) C1は  =IF(WEEKDAY(B1)=4,B1,IF(WEEKDAY(B1+1)=4,B1+1,IF(WEEKDAY(B1+2)=4,B1+2,IF(WEEKDAY(B1+3)=4,B1+3,IF(WEEKDAY(B1+4)=4,B1+4,IF(WEEKDAY(B1+5)=4,B1+5,B1+6)))))) 水曜日はWEEKDAY(日付)が4になります

その他の回答 (5)

  • S-Fuji
  • ベストアンサー率36% (592/1624)
回答No.6

数ヶ月たったというのはEDATE関数 =EDATA(A1,3)-1 その最初の水曜日 =IF(WEEKDAY(B11)>4,B11+11-WEEKDAY(B11),B11+4-WEEKDAY(B11)) 色々有りますね。

m--m5357
質問者

お礼

EDATE関数と言うものがなかったです。回答ありがとうございます。

noname#204879
noname#204879
回答No.5

B1: =EDATE(A1,3)-1 C1: =B1-MOD(A1,7)+4+7*(MOD(A1,7)>4)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんにちは。 3ヶ月経った「片端入れ方式」 =EDATE(A1-1,3) そうでなければ、既に出ているDATE関数で処理します。 註: EDATE は、アドイン:分析ツールが必要です。 「3ヶ月経った」という表現だけでは分かりませんが、EDATEは、一般的な「両端入れ」方式になっているから、-1 を引いています。 3ヶ月経った最初の水曜日 =DATE(YEAR(A1),MONTH(A1)+3,8)-WEEKDAY(DATE(YEAR(A1),MONTH(A1)+3,4))

noname#22222
noname#22222
回答No.3

Excel は操作したことのない門外漢ですがヘルプを手掛かりにチクッと頑張ってみました。 B1=DATE(YEAR(A1),MONTH(A1)+3,DAY(A1)-1) C1=DATE(YEAR(A1),MONTH(A1)+3,4+(D1>5)*7-D1+1) ただし、C1はややこしいのでD1に中間の計算をしています。 D1=WEEKDAY(DATE(YEAR(A1),MONTH(A1)+3,1)) 9/1の曜日を求めて 4又は11の差を加えると水曜日が求まるという考えです。

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

B1=DATE(YEAR(A1),MONTH(A1)+3,DAY(A1)-1) ※ただし月末(30,31)はずれる可能性があります。 C1=DATE(YEAR(A1),MONTH(A1)+3,DAY(A1)-1)+MOD(11-WEEKDAY(DATE(YEAR(A1),MONTH(A1)+3,DAY(A1)-1)),7)

関連するQ&A