【问题标题】:TEXTJOIN of column with same values of other columns, Table references列的 TEXTJOIN 与其他列的值相同,表引用
【发布时间】:2021-09-26 12:28:25
【问题描述】:

在 D 列上,我想要 C 列的 TEXTJOIN。

  1. 分隔符是逗号,后面有一个空格:", "
  2. 必须满足的两个条件是:A列中的相同日期,B列中的相同值
  3. 这是一个表格,所以我更喜欢使用列名的引用(例如“日期”)

任何帮助将不胜感激

【问题讨论】:

    标签: excel excel-formula countif textjoin excel-tables


    【解决方案1】:

    =IF($B1<>$B2,IFERROR(TEXTJOIN(",",0,$C2:INDEX($C2:$C$12,MATCH(1,--($B2:$B$12<>$B2),0)-1)),TEXTJOIN(",",0,$C2:$C$12)),"")

    公式从当前行开始索引列 C,直到在 B 列中找到不同的值(减 1)。 IFERROR 用于范围内的最后一个发现,因为它不会在该值之后的范围内找到不再匹配该值的值。对于 Office 365 之前的 Excel 版本,使用 ctrl+shift+enter 输入

    【讨论】:

      【解决方案2】:

      您可以将TEXTJOINFILTER 结合使用。

      类似:=TEXTJOIN(",",1, FILTER($C$2:$C$12, ($B$2:$B$12=B2)*($A$2:$A$12=A2))

      请注意,您可以用命名范围替换范围,并且“*”在FILTER 函数中用作AND 的一种。

      编辑:为避免重复行,您可以使用检查重复项的IF 语句包装整个函数。比如:

      =IFERROR(IF(MATCH(
      TEXTJOIN(",",1,FILTER($C$2:$C$12,($B$2:$B$12=$B12)*($A$2:$A$12=$A12))),D$1:D11,0)>0,""),
      TEXTJOIN(",",1,FILTER($C$2:$C$12,($B$2:$B$12=$B12)*($A$2:$A$12=$A12))))
      

      【讨论】:

      • 谢谢 :) 很清楚,我写这个只是为了写一些行:=IF(COUNTIF(C$2:C2,C2)=1,TEXTJOIN(",",1 ,FILTER([filename],([Fruit]=[@Fruit])*([Date]=[@Date]))),"") 我想知道我是否可以更改 COUNTIF(C$2:C2,C2)也可以参考表格
      • 没问题,请参阅我的编辑以了解另一种避免重复的方法
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-24
      相关资源
      最近更新 更多