【问题标题】:calculate sum of previous 30 days计算前 30 天的总和
【发布时间】:2014-03-11 12:36:07
【问题描述】:

我有三张工作表,工作表 1、工作表 2 和工作表 3。

表 1 的列如下:项目、员工姓名、工作时间、日期 表 2 的列如下:员工姓名、费率/小时

所以两张表之间的共同点是员工姓名。

工作表 1 每天都会更新,因此工作表没有定义范围。

$ 花费将在 = Sheet1 上计算!工作时间 * Sheet2 费率/小时(这两个表中常见的是员工姓名)

我实现的每个项目上花费的总美元,但我需要知道如何计算过去 30 天花费的美元。

【问题讨论】:

  • 第 3 页的用途是什么?这是你想要的总和吗?
  • 是的,我需要在该表中输出
  • 你是在计算 sheet3 上每个员工的 $ 然后加起来还是直接加起来?
  • 不,我正在计算每个项目 $ 然后我将计算表 3 中的总项目 $,这里我将在 sheet1 和 sheet2 中获取员工姓名,从 sheet1 我将获取项目名称、员工姓名和小时数,从 sheet2 我将获得员工姓名、费率/小时,因此 sheet2 中没有项目名称。
  • 所以您将在工作表 3 中预先填充“项目名称”?员工列表是否可以跨列构建一个可以填充的矩阵?

标签: excel formula


【解决方案1】:

您可以使用 IF 从总和中删除旧值。比如:

=IF(NOW()-Sheet1!Date <= 30, Sheet1!HoursWorked*Sheet2!Rate,0)

【讨论】:

  • 感谢您的回复,这将给出总小时数的输出,我需要根据两张表中的员工姓名将该小时数乘以 sheet2 费率。 =SUMPRODUCT(IFERROR(LOOKUP(IF(G21='数据'!$A$2:$A$412,'数据'!$C$2:$C$412),翻译!$C$2:$C$27,翻译!$E $2:$E$65536),0)*COUNTIF(G21,'Data '!$A$2:$A$412)*'Data '!$J$2:$J$412) 这将提供输出,但我需要最后 30 天数据。在我的示例中,数据表是 Sheet1,表 2 是翻译。
【解决方案2】:

在工作表 1 中创建一个名为“成本”的新列。将以下公式放入E2并复制下来。

=IF(D2-TODAY()>30,0,C2*INDEX(SHEET2RATECOLUMN,MATCH(b2,SHEET2NAMECOLUMN,0)))

使用工作表 1 作为输入,在工作表 3 上创建一个新的数据透视表。将员工放在行上,并在表格的数据部分中汇总“成本”。

假设工作表 1 D 列是日期,B 列是雇员,C 列是小时数。

【讨论】:

  • 感谢您的回复,问题是我无法在 Sheet1 中创建新列,Sheet1 中的列将被修复。
【解决方案3】:

表 1

Project   Employee   Hours   Date
AA        Ken        2.0     14-Feb
BB        Ken        1.0     01-Jan
AA        Rob        1.5     15-Feb
BB        Ken        7.0     01-Mar

表 2

Employee    Rate
Ken         50.00
Rob         20.00

表 3

Project    Ken    Rob    Total
AA         <B2>
BB
Total

在B2中输入以下公式 =SUMIFS(Sheet1!$C:$C,Sheet1!$B:$B,B$1,Sheet1!$A:$A,$A2,Sheet1!$D:$D,">"&TODAY()-30) *INDEX(Sheet2!$B:$B,MATCH(B$1,Sheet2!$A:$A,0))

将公式复制到所有项目行和员工列。将 Sum 方程放入“总计”列和行中。

【讨论】:

    猜你喜欢
    • 2013-02-05
    • 1970-01-01
    • 2021-08-25
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-01
    • 2012-12-14
    相关资源
    最近更新 更多