【问题标题】:Date range in Excel using WORKDAY.INTL to exclude holidaysExcel 中的日期范围使用 WORKDAY.INTL 排除节假日
【发布时间】:2015-09-04 16:35:50
【问题描述】:

我正在创建一个电子表格来显示两周的间隔,不包括周末和指定的假期。这将扩展到明年六月,所以我想一直复制和粘贴。

例如: 11/9/2015-11/20/2015

我正在使用:

=TEXT(WORKDAY.INTL("2015/11/9", 0,1, $W$3:$W$28)+(COLUMNS($A:A)-1)*14, "mm/dd/yy")&"-"&TEXT(WORKDAY.INTL("2015/11/9", 0,1, $W$3:$W$28)+(COLUMNS($A:A)-1)*14+11, "mm/dd/yy")

以假期为例:

11/23/2015 11/24/2015 11/25/2015 11/26/2015 11/27/2015

隐藏在 W 列中。

当我复制和粘贴时,日期范围会适当增加,但不排除我定义的示例假期。如果我从一组假期开始,它会按原样排除它们,但如果我添加更多假期进行测试,结果相同。我的公式有点拼凑,任何帮助或想法都会很棒。另一个问题是同事希望它出现在 Google 表格中。

【问题讨论】:

  • 只是好奇 - 我想知道这是否与假期的格式与您的开始日期有关?如果您将开始日期设置为11/9/2015 会怎样?
  • 我只是尝试交换日期格式,结果相同。

标签: excel date spreadsheet


【解决方案1】:

试试这个:

=TEXT(WORKDAY.INTL("2015/11/9", (COLUMNS($A:A)-1)*10,1, $E$13:$E$17), "mm/dd/yy")&"-"&TEXT(WORKDAY.INTL("2015/11/9",(COLUMNS($A:B)-1)*9+COLUMNS($A:A)-1,1, $E$13:$E$17), "mm/dd/yy")


使用 [holidays] 选项。

基本说明

Excel Workday 函数返回一个日期,该日期是提供的 给定开始前的工作日(不包括周末和节假日) 日期。

函数的语法为:WORKDAY(start_date, days, [holidays])

其中参数如下: start_date - 初始日期, 从中计算工作日数。天 - 的数量 添加到 start_date 的工作日。 [holidays] - 一个可选参数, 它指定了一个日期数组(除了周末),它们是 不计入工作日。

注意 start_date 和 [holidays] 参数应输入为 要么:

References to cells containing dates

Dates returned from formulas
  • 如果您尝试将这些日期参数作为文本输入,由于日期系统不同,Excel 可能会误解它们, 或日期解释设置。

SOURCE

【讨论】:

  • 我试过了,结果与 WORKDAY.INTL 相同。在前两周 11/9/2015-11/20/2015 之后,接下来的两周从 2015 年 11 月 23 日开始。如果我的解释是正确的,那一周应该被排除在外,因为它被定义为假期,下一个范围应该从 2015 年 11 月 30 日开始。
  • 我认为它应该排除日期,但如果你有它作为 start_date 它不能排除它。可以调查一下吗?不确定,我无法从这里访问谷歌表格,但我会在 excel 中使用它。
  • 据我所见,它的作用与此相反。如果您将开始日期设置为假期之一,则它显示的日期范围将排除该日期并相应地移动,但随着您的假期越来越多,它们只会显示出来。
  • +(COLUMNS($A:A)-1)*14+(COLUMNS($A:A)-1)*14+11 是问题所在。工作日功能正常工作,但是在它正确完成其部分之后,您正在获取该日期并为其添加价值。您实际上也没有计算工作日函数中的任何天数,因为您将其设置为 0。必须以不同的方式解决问题....仍在努力。
  • 好吧,我以为是这样的,我只是不知道如何措辞。对于工作日功能,我认为我拥有的数字 0 将是从该日期开始的天数,因为我希望它从该日期开始,所以我将其设置为 0。
猜你喜欢
  • 1970-01-01
  • 2013-04-14
  • 1970-01-01
  • 1970-01-01
  • 2015-08-02
  • 1970-01-01
  • 2019-05-08
  • 2016-07-23
  • 1970-01-01
相关资源
最近更新 更多