【问题标题】:Sum with dynamic condition动态求和
【发布时间】:2017-04-05 18:02:14
【问题描述】:

我有一个Excel 文件,其中包含一些列。 Excel 是我的银行帐户。

D 列是date,不仅仅是一天,它是一周中的几天。 我想要一些具有相同日期的所有列,并将其插入新的 cell.ex :一周我应该有 7 个总和。

以下是工作表中的一些可能数据。

  date(Column D)     Money(Column K)        Sum of same date(Column N)
    1396/1/1                2300              
    1396/1/1                1000                      3300 // some of the same date
    1396/1/2                1200
    1396/1/2                 320                      1550 // some of the same date

可以使用 Excel 函数吗?我需要subroutin吗?

【问题讨论】:

  • Sumifs() 应该做你想做的事。
  • 我访问过一些使用 sumif 的页面。但它们都有静态状态。我想要它动态如果它可以动态做你能给一个样本吗?我的意思是我不想每次都输入日期。我想在打开 Excel 文件时看到一些单元格中的总和。
  • 您需要提供数据和预期结果。缺少您的详细信息。
  • 我希望将数据作为原始帖子中的文本,以便我们可以复制和粘贴。
  • @ScottCraner - 所以只会让我提出“我希望将数据作为原始帖子中的文本,以便我们可以复制和粘贴。”一次!

标签: excel excel-formula subroutine sumifs


【解决方案1】:

在 L2 尝试中,

=IF(ROW()=MATCH(D2, D:D), SUMIFS(K:K, D:D, D2), TEXT(,))

填写。

【讨论】:

  • 我花了一秒钟才弄清楚匹配部分。我在想它会找到第一个,我发现你犯了一个错误。但我应该认为是我错了。我错过了缺少第三个标准。我喜欢这种方法,我要偷走它。
  • 仅适用于按升序排序的数据。我通常不相信像 OP 提供的那样的小样本,但它是银行数据,通常应该按升序排列。
  • 感谢您的回复先生,但它给了我错误我在 liberoffice(Ubuntu !)甚至测试它!我有 windows xp 和 excel 2007。我在 N1 中输入了您的公式,将您的公式复制并粘贴到 N1 中。但它说:您输入的公式包含错误
  • 尝试使用分号而不是逗号。通常使用逗号,但某些区域列表分隔符是分号。 Tnis 是要求原创努力很重要的原因之一。它可以立即解决这种情况。
【解决方案2】:

使用这个公式:

=IF(D2<>D3,SUMIF(D:D,D2,K:K),"")

然后抄下来

【讨论】:

  • 它返回零先生。我只是复制每个数据的 4 列。它超过4列。我将公式复制到一个单元格中,然后它返回零。
  • 您的数据需要代表实际数据。正如您在示例中看到的那样,该公式有效。你需要给出一个完整的例子,而不是一个部分。
  • 这些是真实数据。但不是整个工作表,在工作表的另一列中,这些是描述和帐户名称等。
  • 感谢您的回复先生,但它给了我错误我在 liberoffice(Ubuntu !)甚至测试它!我有 windows xp 和 excel 2007。我在 N1 中输入了您的公式,将您的公式复制并粘贴到 N1 中。但它说:The formula you typed contains an error.
  • 您是否使用; 而不是, 作为标准之间的分隔符?尝试将, 更改为;
【解决方案3】:

您需要使用 Sumif 或 SUMIFS 并且您的公式应该喜欢,

SUMIFS(D2:D10, C2:C10,">="&TODAY()-7, C2:C10,"

或者应该是这样的,

=SUMIFS(D2:D10, C2:C10,">="&A2, C2:C10,"

或者

=SUMIF(D2:D10, C2:C10,">="&TODAY())

NB:Sum Range 是 D2:D10 & C2:C10 是 Criteria range。 在第二个示例中,A2 和 A3 单元格保存日期值。

【讨论】:

  • 感谢您的回复先生,我已经更新了我的问题。你能看看这个吗?我希望它是动态的,而不仅仅是一周。
  • 嘿,我的这个例子是如何使用动态数据范围 =SUMIFS(D2:D10, C2:C10,">="&A2, C2:C10,"
  • 感谢您的回复先生,但它给了我错误我在 liberoffice(Ubuntu !)甚至测试它!我有 windows xp 和 excel 2007。我在 N1 中输入了您的公式,将您的公式复制并粘贴到 N1 中。但它说:您输入的公式包含错误
【解决方案4】:

假设您的日期在 Col A 中,并且您想对 B 列中的值求和,因此您可以使用 Sumif 而不是 Sumif,

C2=SUMPRODUCT(--(MONTH(A$2:A$10)=ROW()-1),--(B$2:B$10))

注意:MONTH 函数将从 A2 中提取 Month 值并与 B 中的相应单元格值相加,拖动下面的公式。

【讨论】:

  • 你看到我的原始数据了吗?日期是 SHAMSI。
  • 是的,我已经看到您的日期在 D 列中,而要在 K 中求和的值,因此您相应地更改了单元格地址。
  • 感谢您的回复先生,但它给了我错误我在 liberoffice(Ubuntu !)甚至测试它!我有 windows xp 和 excel 2007。我在 N1 中输入了您的公式,将您的公式复制并粘贴到 N1 中。但它说:您输入的公式包含错误
  • 可能在 C 列和 A2 中,A3 日期格式不同,如果 C 列日期格式为年/月/日,那么 A2 和 A3 中的格式也相同。请检查。
猜你喜欢
  • 2012-12-20
  • 1970-01-01
  • 2020-08-23
  • 2016-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-06
相关资源
最近更新 更多