5

私がやりたいのは、ランダムな日付のリストを取得することです。同じになることは決してないため、普遍的な式にする必要がありますが、任意の日付、年の任意の日付を取得し、毎週木曜日が開始日です新しい週。各日付について、前の木曜日よりも大きく、木曜日よりも小さい木曜日に等しい日付を設定します。

あいまいなので明確にする例として、2012 年 6 月 24 日とします。6 月 24 日は 2012 年 6 月 21 日 (前の木曜日) より大きく、次の木曜日である 2012 年 6 月 28 日より小さいです。これは、その隣の列に 2012 年 6 月 28 日の値を生成する必要があることを意味します。

それは意味がありますか?取得した日付値に基づいて、どの木曜日の日付を生成する必要があるかを計算しますか? これをExcelで行う方法はありますか?

4

4 に答える 4

14

この数式は、A1 の日付に続く木曜日を示します。

=A1+7-WEEKDAY(A1+2)

A1 が木曜日の場合はその日付を返します。A1 が木曜日の場合は A1+7 である必要がある場合は、このバージョンに変更します

=A1+8-WEEKDAY(A1+3)

于 2012-06-29T10:02:51.033 に答える
3
=IF(WEEKDAY(A1) < 5, A1+5-WEEKDAY(A1), A1+5+7-WEEKDAY(A1))

Excel のセル A1 に指定された日付から次の木曜日を返します。入力日が木曜日の場合は、次の木曜日になります。

次の木曜日を表示するのではなく、木曜日が指定されたときに入力木曜日を表示する場合は、条件文で <= を使用します。

于 2012-06-29T02:20:25.860 に答える
-1

新しい Java 8 Time API の場合、以下のコードを使用できます。DayOfWeek.THURSDAY以下のコードなどを変更する必要があります。

LocalDate date1=LocalDate.now();
// This will give you int value of Day(for eg. Friday) and the date you want to check for

int duration=DayOfWeek.WEDNESDAY.getValue()-date1.getDayOfWeek().getValue();
System.out.println("duration "+duration);
if(date1.getDayOfWeek().equals(DayOfWeek.WEDNESDAY)) {
    System.out.println("Wednesday");
} else {
    date1=date1.plusDays(7).minusDays(7-  duration); 
}
// it will first give next day of week then minus the duration from 7.

System.out.println("new date1 "+date1);
于 2020-04-21T13:33:17.993 に答える