在 Excel 中,如何在忽略重复条件的情况下汇总一系列数据?
Posted
技术标签:
【中文标题】在 Excel 中,如何在忽略重复条件的情况下汇总一系列数据?【英文标题】:In Excel, how do I sum a range of data while ignoring duplicate criteria? 【发布时间】:2021-09-18 05:03:22 【问题描述】:我正在制定一个(简化的)每周计划,如下所示。员工被分配有不同数量的笼子需要更换的不同房间。有些房间很大,需要几天才能完成,这就是为什么它们在时间表上被多次列出。
当然,每周的笼子总数将在计算时不考虑时间表上的重复房间;我在 G 列中手动执行此操作。如何使用公式实现此操作?
【问题讨论】:
欢迎来到 ***!请参加tour - 这似乎不是一个编程问题,因此不适合在这里。试试 superuser.com? 【参考方案1】:将房间放在一个数组中而不是每个人的列或行中有点棘手,但如果您有最新版本的 Excel,您可以通过首先将房间连接成一个字符串,然后断开将字符串转换为子字符串,例如:
=FILTERXML("<t><s>"&SUBSTITUTE(
TEXTJOIN(",",1,B2:E3),
",", "</s><s>")&"</s></t>", "//s")
从那里很容易。使用UNIQUE
获取唯一值,然后使用INDEX
和SUM
之类的结果提取笼子。
所以总的来说是这样的:
=SUM(INDEX($B$8:$C$14, MATCH(
UNIQUE(FILTERXML("<t><s>"&SUBSTITUTE(
TEXTJOIN(",",1,B2:E3),
",", "</s><s>")&"</s></t>", "//s")), $B$8:$B$14,0), 2))
例如:
【讨论】:
【参考方案2】:在F2
,公式复制下来:
=SUMPRODUCT(SUMIF(B$8:B$14,FILTERXML("<a><b>"&TEXTJOIN("</b><b>",,B2:E3)&"</b></a>","//b[preceding::*=.=0]"),C$8:C$14))
【讨论】:
以上是关于在 Excel 中,如何在忽略重复条件的情况下汇总一系列数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何把EXCEL表中的数据进行按多个条件进行分类汇总,并统计出个数,并求和?