【问题标题】:Vacation day formula假期公式
【发布时间】:2017-02-16 19:10:03
【问题描述】:

我需要有关计算假期天数的复杂多重评估公式的帮助。它位于无法启用宏的工作簿中,因此必须采用公式形式。我需要它来做以下评估:

员工工作了多长时间:不到一年 = 0 小时,1-3 年 = 40 小时,3 年以上 = 80 小时

然后在基于今天日期与当前周日期比较的每周工资图表上显示 第 1 列 - 员工累积了多少小时 第 2 栏 - 本周服用了多少 第 3 列 - 还剩多少小时

更重要的是,当我打开 excel 时,我不希望它重新评估前几周的任何数字。

这是我拥有的当前代码。 J3 是雇用日期,A9 是周开始,C9 是周结束,E8 是开始假期余额。 I8 是使用小时数,M8 是最终余额。

=IF(TODAY()<C9,E9,IF(AND(DATE(,MONTH($A9),DAY($A9))<=DATE(,MONTH($J$3),DAY($J$3)),DATE(,MONTH($C9),DAY($C9))>=DATE(,MONTH($J$3),DAY($J$3))),IF(TODAY()>DATE(YEAR($J$3)+3,MONTH($J$3),DAY($J$3)),80,IF(TODAY()>DATE(YEAR($J$3)+1,MONTH($J$3),DAY($J$3)),40,0)),E8))

是否可以在不启用宏的情况下完成我需要的所有操作

【问题讨论】:

  • 显示记录和输出的可视化示例。还要解释一下你的“踢球者”。
  • 回答您的问题:是的,有可能。如果您需要帮助,我建议您提供数据输入、所需输出以及公式化方法问题的示例。帮助主题How to create a Minimal, Complete, and Verifiable example 可能有用。
  • 有办法附加工作簿还是必须是外部链接?关键是:大多数公式都使用 Today() 函数,因此每次打开工作簿时都会重新计算数据。我需要的是它不会删除以前的应计和余额并对其进行调整,而只在本周执行。
  • @Hareborn 外部链接。而且,如果没有 VBA,您将无法阻止 TODAY() 函数重新计算,除非您手动将函数替换为日期。很抱歉,当我第一次回复时,我错过了考虑该功能的含义。

标签: excel excel-formula excel-2010


【解决方案1】:

我看不出有任何理由需要TODAY 函数来计算累积休假时间。如果我理解正确的话,在

  • 第 1 年年底:应计 = 0 小时
  • 第 2 年年底:应计 = 40 小时
  • 第 3 年年底:应计 = 80 小时
  • 第 4 年年底:应计 = 160 小时
  • 第 5 年年底:应计 = 240 小时

我的建议:

如下设置表格; NAME if Vacation_Table 请注意 B5 中的公式,以防您必须更改第 1 列断点或任何其他参数:(我把它放在另一个工作表上,但你可以把它放在任何地方。

然后使用此公式计算从hire datestart of the week date 的累积假期时间(如果您希望累积到周末的小时数,请将 A9 更改为 C9)。

=VLOOKUP(DATEDIF($J$3,A9,"y"),Vacation_Table,2)+ (DATEDIF($J$3,A9,"y")-VLOOKUP(DATEDIF($J$3,A9,"y"),Vacation_Table,1))*VLOOKUP(DATEDIF($J$3,A9,"y"),Vacation_Table,3)

当然,要获得当前余额,您需要从中减去所用的假期时间,但这应该让您开始使用非易失性公式。

【讨论】:

  • 我一直在尝试使用 Today() 函数,以至于我没有看到解决方法,感谢您为我指明了不同的方向。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-03
  • 2020-03-18
相关资源
最近更新 更多