【问题标题】:Sum duplicate values in excel总结excel中的重复值
【发布时间】:2014-04-04 22:51:59
【问题描述】:

我有一个具有这种结构的数据集:

col A   
 11
 11
 9
 9 
 9
 7
 7
 2
 11
 11
 7
 7

我想总结 A 列中的所有组重复条目。换句话说,我想在不添加辅助列的情况下添加 11+9+7+2+11+7。我已经尝试过以下公式:

=SUM(IF(FREQUENCY(A1:A12,A1:A12),A1:A12))

此公式忽略所有重复值。我只想省略重复数据的组。我希望总和等于 47。

我也试过了:

=IF(NOT(A1=A2),SUM(A1:A12),0)

然后总结列,但我宁愿有一个简洁的公式,因为我无法在我的工作表中添加另一列。

有谁知道对组重复数字求和的方法? 谢谢。

【问题讨论】:

  • 不能添加辅助列?
  • GreenWeenie,不,对于这张表,我试图找到一种方法来计算总和而不添加助手。 pnuts,我正在尝试完全按照公式 2 的方式进行操作,但只是没有辅助列。
  • 我花了一些时间来解决我正在编写的数组公式。使用辅助列更容易,但我的公式应该适用于通用数字列。

标签: excel excel-formula


【解决方案1】:
=SUMPRODUCT((OFFSET(A2,0,0,COUNT(A:A),1)<>OFFSET(A2,-1,0,COUNT(A:A),1))*OFFSET(A2,0,0,COUNT(A:A),1))

如果您添加其他数据行,则涵盖。

编辑

根据@Jerry 关于 OFFSET 易变的评论,我修改了公式:

=SUMPRODUCT((A2:INDEX(A:A,1+COUNT(A:A))<>A1:INDEX(A:A,COUNT(A:A)))*A2:INDEX(A:A,1+COUNT(A:A)))

【讨论】:

  • 完美,你是excel天才!非常感谢!
  • @JohnAugust 对这个公式要非常小心。 OFFSET 可以处理额外的行,但是如果您的数据集增长,这可能是一个问题。 OFFSET 是一个 volatile 函数,将根据工作簿中的任何更改重新计算。
  • 好点@Jerry。我已经修改了公式以保持通用性,并允许扩展。
【解决方案2】:

您可以使用这样的数组公式:

=SUM(IF(A1:A12=A2:A13,0,A1:A12))

使用 Ctrl+Shift+Enter

输入

或者用SUMPRODUCT做条件:

=SUMPRODUCT((A1:A12<>A2:A13)*A1:A12)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-06
    • 2011-11-01
    • 1970-01-01
    • 2020-01-27
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 2023-02-16
    相关资源
    最近更新 更多