Excel - 将每周的每日值相乘

Excel - 将每周的每日值相乘

以下是我的表格布局

我的数据:超过 200 行,每行有三个值,每个值代表一个不同的日期。只列出了工作日的值,因此有时可能会因为假期而缺少几天甚至整周的值。

我需要的是:对于每一个完成的本周每天至少排一行(因此该天出现在列表中)我需要将 DIF 列中的值相乘(公式如下 =(1-ValueDayOne)*(1-ValueDayTwo)-1),然后创建这些每周值的列表。

有人能帮我吗?如果我写的内容不是 100% 清楚,请随时提问,我尝试指定所有必需的信息,但我可能无意中遗漏了一些东西。

答案1

复制到“WEEKDIF”列的公式是:

=PRODUCT(IF(($A$2:$A$21>=A2-WEEKDAY(A2,3))*($A$2:$A$21<A2-WEEKDAY(A2,3)+7),(1+$B$2:$B$21),1))-1

这是一个数组公式,因此需要用CTRL+ SHIFT+来完成它ENTER

怎么运行的:

  • A2-WEEKDAY(A2,3)A2-WEEKDAY(A2,3)+7)计算星期一的实际日期(当前行的日期所在的周)和下周的日期。
  • ($A$2:$A$21>=A2-WEEKDAY(A2,3))*($A$2:$A$21<A2-WEEKDAY(A2,3)+7)- 检查某一行是否在实际周内。
  • =IF(...,(1+$B$2:$B$21),1))-1返回1+diff实际周数和1所有其他周数(如果我们不想改变结果,则需要乘以 1)。
  • =PRODUCT(IF(...)-1- 根据原始公式计算所有数字的乘积并减去 1。

注意:为了保持计算的一致性,我将1-dif其改为1+dif,如果我的假设不正确,您可以将其改回来。

在此处输入图片描述

相关内容