查找重复项的最后一次出现,对所有重复值求和,并仅在最后一次重复出现的地址处插入结果

问题描述 投票:0回答:2

在其中一列中,我有重复值,我想找到该列中最后一次出现的重复值,然后将属于这些重复值的所有值求和,并仅在最后一次出现时插入求和结果重复的行/列地址。

在下面的示例图像中,A 列包含重复值,在示例中该列已排序,但实际上不会。 D 列包含需要对重复值求和的值。

A2 中最后一次出现的值出现在 A4 中,因此我需要将 D2 与 D4 相加并将结果放置在我将创建的新列 E4 中。因此 E4 中的结果将仅为 18:00:00,其他事件将保持空白。

我可以使用 VBA 轻松实现这一点,但不幸的是,我正在尝试使用适用于 Office 2016 的公式自动化工作表,其中由于安全策略也不允许打开/运行启用宏的文件。我的开发环境是 Excel 365 for Mac。如果还提供了基于 365 的建议,我可以寻找将它们转换为 2016 年的工作。

我已经尝试了多个 SUMPRODUCT、SUMIF、COUNTIF、LOOKUP 等来尝试和规避这个问题,但无法获得所需的结果或无法组合函数来实现所需的结果。

excel excel-formula duplicates
2个回答
1
投票

让我知道这是否有效,在我看来它确实有效,但我不是 100% 确定。如果这确实有效,那么 Excel 2010 就可以了。

名为“data”的表,必须从A列开始

姓名 val
a 1
b 1
c 1 1
a 1
a 1 3
d 1
d 1 2
b 1 2

“鳍”列的公式:

=IF(ISERROR(MATCH([@name],INDIRECT("A" & (ROW() + 1) & ":A" & (ROWS(data)+ROW(data))),0)),SUMIF([name],[@name],[val]),"")

截图:


0
投票
=IF(COUNTIF($A$2:$A$29, A2)>1, IF(ISNUMBER(XLOOKUP(A2, A3:$A$29, A3:$A$29)), "",TRUE), TRUE)

在 E2 中粘贴以上内容将在最后出现的值的每个实例处返回一个 TRUE 值,这可用于构建 SUMIF 函数。

我犹豫是否要更进一步,因为我对 Office 2016 没有太多经验(我相信 XLOOKUP 需要更换),但希望您可以调整我的答案以适应工作。

© www.soinside.com 2019 - 2024. All rights reserved.