【问题标题】:Summing Duplicates in Excel在 Excel 中求和重复项
【发布时间】:2009-10-06 19:41:40
【问题描述】:

我有一长串产品名称和这些产品的编号,我想合并所有重复的条目并添加它们的编号。因此,如果我有 2 个 Widget X 条目,并且每个条目有 3 个产品,那么我想将其合并为 Widget X 的一个条目和 6 个产品。

我已经对列表进行了排序并对每个产品进行了求和,但我只是使用了求和函数,我觉得必须有一个公式使用 IF 语句来检测彼此相等的条目,然后将它们各自的数量线相加但我想不通。

我想要得到的是 IF(列 A = 3792 中的任何字段,然后将列 C 中的所有相关数量字段相加)

有人有什么想法吗?

3792    Widget A    1
3792    Widget A    1
3792    Widget A    1
3792    Widget A    1
3792    Widget A    1
3792    Widget A    2
3792    Widget A    1
3805    Widget B    1
3805    Widget B    1
3806    Widget C    8
3823    Widget D    895
3823    Widget D    1
3823    Widget D    20
3892    Widget E    2
3892    Widget E    1
3892    Widget E    1

【问题讨论】:

  • @Stewbob:我认为它在正确的位置。它与公式有关,公式是某种编码。

标签: excel


【解决方案1】:

由于您已对列表进行了排序,因此我将使用内置的 SUBTOTAL 功能而不是公式。选择所有数据,然后转到数据 > 小计,然后根据产品的变化进行。

另一个选项是创建一个数据透视表来汇总项目。我非常喜欢将摘要和数据分开。

【讨论】:

    【解决方案2】:

    使用 sumif 函数。请参阅this blog 了解说明。

    假设从 A1 开始的值,将此函数粘贴到 D1 并复制到 D1-D16 以获取每个字段的总和(当然会有重复)

    =SUMIF(A$1:A$16,A1,C$1:C$16)
    

    【讨论】:

    • 谢谢 Rich,我刚刚看了第一个答案,如果可以的话,我也会接受你的答案。
    • 实际上我的第一个答案足足有 13 秒,但没关系
    • 哦,对了,第二个答案肯定已经被投票了,这只是我看到的第一个
    【解决方案3】:

    Excel 的SUMIF()-Formula 可能会帮助您完成此任务。

    如前所述,语法是

    SUMIF(range, criteria, sum_range)
    

    range 中搜索与criteria 匹配的字段,并对sum_range 中的值求和(分别在范围内找到条件的同一索引处)。

    您可能希望为每个数字/搜索条件创建一个矩阵来总结和比较...

    另一种方法

    对于某个列(让我们以 C 为例)创建一个临时列并为每一行添加一个 1 作为值。

    例如,在“Sum A:”列中输入公式:

    =IF($A2=D$1,1,0)
    

    而 D1 是包含数字 3792(顶部)的单元格,而 C2 中的 2 是公式所在的当前行。

    你可以把它拖到右边和底部。

    结果如下:

    A       B           C         D         E         F         G
                        3792      3805      3806      3823      3892
    3792    Widget A    1
    3792    Widget A    1
    3792    Widget A    1
    3792    Widget A    1
    3792    Widget A    1
    3792    Widget A    1
    3792    Widget A    1
    3805    Widget B              1
    3805    Widget B              1
    3806    Widget C                       1
    3823    Widget D                                  1
    3823    Widget D                                  1
    3823    Widget D                                  1
    3892    Widget E                                            1
    3892    Widget E                                            1
    3892    Widget E                                            1
    
    SUM:                7         2        1          3         3
    

    您只需在最后简单地总结一下,您就得到了结果。如果应该添加除1 之外的其他数字,只需添加包含适当值的另一列,然后在IF-公式中替换它。

    您可能希望使用HLOOKUP() 作为顶部的小部件编号来进一步自动化此操作。

    问候

    【讨论】:

    • 我得到了 =SUMIF(A:A,3792,C:C ) 在标准字段中输入的每个产品代码的总和。我将研究矩阵,看看是否可以制作一个完全自动化的列表。很好的答案,非常感谢。
    • np。我不是在谈论 Excel 矩阵。我已经编辑了我的回复以澄清
    【解决方案4】:

    最初的帖子是 7 年前的,但无论如何,这是我使用稍微暴力的方法。

    我将所有“A 列”复制粘贴到新工作表中(或在右侧或不碍事的地方)。突出显示复制的数据集并删除重复项,留下一个新列表,其中仅包含“A 列”中的单个值实例。让我们将此新数据集称为“D 列”。那么我们将总计列称为“列E”

    然后我在“E 列”中将 SUMPRODUCT 与 SUMIF 结合使用,得到如下公式:

    列 E 值=SUMPRODUCT(SUMIF(原始列 A 范围,从列 D 中查找有问题的值,原始C列范围))

    这将汇总所有实例并输出总计。

    与此相关的明显问题是结果不会自动更新以包含“A 列”的新实例,但如果您有要从中提取的现有数据集,作为快速解决方案可能会有所帮助。

    京东

    【讨论】:

      【解决方案5】:

      Excel 可以使用数据功能区选项卡的数据工具部分上的合并工具自动处理此问题。

      只需创建一个新工作表,然后使用计数引用您的单元格范围,点击左列复选框,它应该会给您一个唯一的合并计数。

      【讨论】:

        【解决方案6】:

        我对重复项求和的方式是:

        假设你有这样的东西

            A      B        D
            France Apples   15
            Spain  Potatoes 15
            France Apples   5
            Spain  Potatoes 1
        

        我会做(在 D 列):

            =A2&"-"&B2
        

        然后将 D 列复制到 E 列并删除重复项。

        在 F 列中:

            =SUMPRODUCT((D$2:D$5=E2)*C$2:C$5)
        

        这样你应该在 E 列有:

            D               E 
            France-Apples   20
            Spain-Potatoes  16
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-02-19
          • 2013-05-24
          • 1970-01-01
          • 1970-01-01
          • 2019-09-10
          • 2016-06-28
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多