一年的第一个星期五

时间:2020-05-21 11:46:21

标签: excel-formula

我有一个公式来计算年度的第一个星期五,它可以正常工作。 我知道公式是如何得到答案的,但是,我似乎找不到公式背后的原因。公式是:

=DATE(YEAR(TODAY()),1,8)-WEEKDAY(DATE(YEAR(TODAY()),1,2))

这使我们得到2020/01/08-5 = 2020/01/03,这是年度的第一个星期五。但是,为什么公式选择8和2作为日期呢? 有人可以解释原因。

1 个答案:

答案 0 :(得分:1)

该公式的第一个显而易见的部分是C:\Users\Andrej>flutter doctor -v [√] Flutter (Channel stable, v1.17.1, on Microsoft Windows [Version 10.0.18363.836], locale mk-MK) • Flutter version 1.17.1 at C:\Flutter\flutter • Framework revision f7a6a7906b (8 days ago), 2020-05-12 18:39:00 -0700 • Engine revision 6bc433c6b6 • Dart version 2.8.2 [√] Android toolchain - develop for Android devices (Android SDK version 29.0.3) • Android SDK at C:\Users\Andrej\AppData\Local\Android\sdk • Platform android-29, build-tools 29.0.3 • Java binary at: C:\Users\Andrej\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\192.6392135\jre\bin\java • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04) • All Android licenses accepted. [√] Android Studio (version 3.6) • Android Studio at C:\Users\Andrej\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\192.6392135 • Flutter plugin version 45.1.1 • Dart plugin version 192.8052 • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04) [!] VS Code (version 1.45.1) • VS Code at C:\Users\Andrej\AppData\Local\Programs\Microsoft VS Code X Flutter extension not installed; install from https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter [√] Connected device (1 available) • Android SDK built for x86 • emulator-5554 • android-x86 • Android 10 (API 29) (emulator) ! Doctor found issues in 1 category. 会给您一个月的第八天,这不能是第一个星期五,因为前7天中的一个必须是星期五。

我的猜测是,第二部分有一些争执。 X <- read.csv(url("https://raw.githubusercontent.com/hkil/m/master/z.csv")) energy <- jsonlite::fromJSON(URL) # Plot sankeyNetwork(Links = energy$scid, Nodes = energy$group, Source = 'source', Target = 'target', Value = 'value', NodeID = 'name', units = 'TWh', fontSize = 12, nodeWidth = 30) # Colour links energy$links$energy_type <- sub(' .*', '', energy$nodes[energy$links$source + 1, 'name']) sankeyNetwork(Links = energy$links, Nodes = energy$nodes, Source = 'source', Target = 'target', Value = 'value', NodeID = 'name', LinkGroup = 'energy_type', NodeGroup = NULL) 会给您从一个月的第一天到上一个星期日的天数。但是,如果您要寻找上一个星期六,则需要DATE(YEAR(TODAY()),1,8)WEEKDAY(DATE(YEAR(TODAY()),1,1))

最后,每月{1}的星期几WEEKDAY(DATE(YEAR(TODAY()),1,1)) + 1是每月8号之前的星期几。