【问题标题】:How to create a 'summary' cell, that aggregates unique values from a column?如何创建一个“汇总”单元格,聚合列中的唯一值?
【发布时间】:2020-03-30 19:58:25
【问题描述】:

我能得到的最接近的是这个文本加入:

 =TEXTJOIN(", ", TRUE, IF(MATCH(C5:C72, C5:C72, 0)=MATCH(ROW(C5:C72), ROW(C5:C72)), C5:C72, ""))

有什么方法可以将顶部的单元格限制为 C、R、E 或 D 的一个实例?

谢谢!

【问题讨论】:

  • 我怀疑你在使用 office365 时仍然需要 ctrl shift enter,现在唯一对你来说是真正的问题 =)

标签: excel aggregate summary


【解决方案1】:

如果有动态公式 UNIQUE():

=TEXTJOIN(",",,UNIQUE(MID(TEXTJOIN("",TRUE,C5:C72),SEQUENCE(LEN(TEXTJOIN("",TRUE,C5:C72))),1)))


如果没有:

=TEXTJOIN(",",TRUE,IF(MATCH(MID(TEXTJOIN("",TRUE,C5:C17),ROW($ZZ1:INDEX($ZZ:$ZZ,LEN(TEXTJOIN("",TRUE,C5:C17)))),1),MID(TEXTJOIN("",TRUE,C5:C17),ROW($ZZ1:INDEX($ZZ:$ZZ,LEN(TEXTJOIN("",TRUE,C5:C17)))),1),0)=ROW($ZZ1:INDEX($ZZ:$ZZ,LEN(TEXTJOIN("",TRUE,C5:C17)))),MID(TEXTJOIN("",TRUE,C5:C17),ROW($ZZ1:INDEX($ZZ:$ZZ,LEN(TEXTJOIN("",TRUE,C5:C17)))),1),""))

根据版本不同,退出编辑模式时可能需要使用 Ctrl-Shift-Enter 而不是 Enter 来确认。

使用此公式按您想要的顺序对其进行排序

动态数组:

=TEXTJOIN(",",TRUE,IF(ISNUMBER(SEARCH({"C","R","E","D"},TEXTJOIN("",,UNIQUE(MID(TEXTJOIN("",TRUE,C5:C72),SEQUENCE(LEN(TEXTJOIN("",TRUE,C5:C72))),1))))),{"C","R","E","D"},""))

旧版本:

=TEXTJOIN(",",TRUE,IF(ISNUMBER(SEARCH({"C","R","E","D"},TEXTJOIN("",TRUE,IF(MATCH(MID(TEXTJOIN("",TRUE,C5:C17),ROW($ZZ1:INDEX($ZZ:$ZZ,LEN(TEXTJOIN("",TRUE,C5:C17)))),1),MID(TEXTJOIN("",TRUE,C5:C17),ROW($ZZ1:INDEX($ZZ:$ZZ,LEN(TEXTJOIN("",TRUE,C5:C17)))),1),0)=ROW($ZZ1:INDEX($ZZ:$ZZ,LEN(TEXTJOIN("",TRUE,C5:C17)))),MID(TEXTJOIN("",TRUE,C5:C17),ROW($ZZ1:INDEX($ZZ:$ZZ,LEN(TEXTJOIN("",TRUE,C5:C17)))),1),"")))),{"C","R","E","D"},""))

同样取决于版本,退出编辑模式时需要使用 Ctrl-Shift-enter 而不是 Enter。

【讨论】:

  • 这太棒了!谢谢!如果我想创建默认/首选顺序,是否可以按 C>R>E>D 顺序标准化结果?此外,当前结果将 0 返回到列表中(这可能是因为我的表格区域比它需要的稍大)是否可以排除 0?真的很高兴得到您的帮助!
  • 您确定数据中的某处没有0 吗?应该跳过空格。
  • 如,如果你有SORT(),那么你可以对它进行排序A-Z,但不是特定的顺序。否则,带有公式的自定义排序将导致公式变得非常大。
猜你喜欢
  • 2016-01-08
  • 2017-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-05
  • 1970-01-01
  • 2012-01-30
  • 1970-01-01
相关资源
最近更新 更多