【问题标题】:Microsoft Excel SUM sheets depending on dateMicrosoft Excel SUM 表,具体取决于日期
【发布时间】:2018-01-31 16:11:02
【问题描述】:

我对 excel 有点挣扎。我有一本包含 20 张纸的工作簿,它们都具有相同的格式和相同的结构。我有一个带有日期的单元格和一个带有股票及其总数的表格。如果工作表中单元格的日期是今天(或我想要的任何日期),我需要对所有总数求和。我已经尝试过 =SUMIF(Sheet1:Sheet!C2, D1(the date i set), Sheet1:Sheet3!B5) 和 SUMIF 的几个变体,但它一直返回给我#VALUE。

这是一个数据示例:

表 1:

|--|-----------|-----------|-----------|
|--|     A     |    B      |    C      |
|1 | Product   | Stock     |           |
|--|-----------|-----------|-----------|
|2 |    Shoes  |    34     |31-01-2018 |
|--|-----------|-----------|-----------|
|3 |    Hats   |    23     |           |
|--|-----------|-----------|-----------|
|4 |  Jackets  |    12     |           |
|--|-----------|-----------|-----------|
|5 |   Total   |    69     |           |
|--|-----------|-----------|-----------|

表 2:

|--|-----------|-----------|-----------|
|--|     A     |    B      |    C      |
|1 | Product   | Stock     |           |
|--|-----------|-----------|-----------|
|2 |    Shoes  |    38     |30-01-2018 |
|--|-----------|-----------|-----------|
|3 |    Hats   |    25     |           |
|--|-----------|-----------|-----------|
|4 |  Jackets  |    16     |           |
|--|-----------|-----------|-----------|
|5 |   Total   |    79     |           |
|--|-----------|-----------|-----------|

表 3:

|--|-----------|-----------|-----------|
|--|     A     |    B      |    C      |
|1 | Product   | Stock     |           |
|--|-----------|-----------|-----------|
|2 |    Shoes  |    30     |31-01-2018 |
|--|-----------|-----------|-----------|
|3 |    Hats   |    20     |           |
|--|-----------|-----------|-----------|
|4 |  Jackets  |    10     |           |
|--|-----------|-----------|-----------|
|5 |   Total   |    60     |           |
|--|-----------|-----------|-----------|

也许我应该提到 C2 是日期格式的。 如何根据日期 31-02-2018 对 Sheet1 和 Sheet3 的 total 求和? 我已经搜索了很多但没有成功。我不确定我是否没有正确使用 SUMIF,或者它不是正确的公式选择。如果有任何帮助,我将不胜感激。先感谢您!

【问题讨论】:

  • 您可能希望从 2 月 31 日 开始更改日期。 :) 除此之外,您希望它在第 31 次返回 34+30 的总和,在第 30 次返回 38 的总和?
  • 在您应用 IF 条件的每个工作表上添加一个额外的列,然后跨工作表对该列求和。
  • 只有当他们的表格中的日期与我提供的日期相同时,我才需要获得 34+30(总数)的总和。谢谢你,我会把它改成 1 月 31 日:D
  • 您将总结 20 个 sumif,例如 =Sumif(Sheet1!C2:C100, D1, Sheet1!B2:B100) + Sumif(Sheet2!C2:C100, D1, Sheet2!B2:B100) + ... 或者在使用一个日期的每一页上都有一个 sumif,然后在您的最终选项卡中总结它们。那样,否则你将不得不编写 sum VBA,但是.. 这样做比一组好的公式更难看。
  • 您可以使用能够轻松过滤/分组的数据透视表来合并您的工作表

标签: excel excel-formula sumifs vba


【解决方案1】:

正如@ExcelDevelopers 所指出的,您可以对每张工作表进行计算,然后使用 3D 公式将它们汇总到工作表中。

以您的示例工作表为起点,我将添加一个名为Results 之类的新工作表。 在B2 中,我在C2 中输入Shoes,我在31/01/2018 中输入。

在您的每日工作表之前,我会添加一张名为 Start 的空白表,在您最后一张每日工作表之后,我将添加一张名为 End 的空白表。

在每张每日工作表的 D2 单元格中,我输入公式:=SUMIFS($B$2:$B$5,$A$2:$A$5,Results!$B$2,$C$2:$C$5,Results!$C$2)
这将根据您的标准计算每天的总数。

Results 表格中,我将使用 3D 公式 =SUM(Start:End!$D$2) 将每日表格中的每个结果相加,得出最终数字。

编辑: 刚刚意识到您关注的是总数而不是特定项目。
使用此公式计算每个每日工作表的单元格 D2 中的总计:=SUMIF($C$2,Results!$C$2,$B$5)

【讨论】:

    猜你喜欢
    • 2020-03-20
    • 2023-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多