Google sheets GoogleSheets:列出和计算多个单元格中的唯一值

Google sheets GoogleSheets:列出和计算多个单元格中的唯一值,google-sheets,formulas,Google Sheets,Formulas,我希望列出并计算多个单元格中的唯一值。实际应用是列出和计算电影中出现特定角色的场景 我使用以下数组公式列出数据表中的场景: =ArrayFormula(TEXTJOIN(", ",TRUE,IF($B$11:$B$64=E13,$A$11:$A$64,""))) 它将返回如下内容(这些是场景编号): 2,2,2,2,2,3,3,3,3,4,4,4,4,4,4 但我希望它能回来: 2,3,4 然后,为了计算唯一值,我使用了以下公式: COUNTUNIQUE(SPLIT(F13,", ",0))

我希望列出并计算多个单元格中的唯一值。实际应用是列出和计算电影中出现特定角色的场景

我使用以下数组公式列出数据表中的场景:

=ArrayFormula(TEXTJOIN(", ",TRUE,IF($B$11:$B$64=E13,$A$11:$A$64,"")))
它将返回如下内容(这些是场景编号): 2,2,2,2,2,3,3,3,3,4,4,4,4,4,4

但我希望它能回来: 2,3,4

然后,为了计算唯一值,我使用了以下公式:

COUNTUNIQUE(SPLIT(F13,", ",0))
但这里的问题是,即使数组公式正确地不返回任何值(即角色没有出现在任何场景中),它也会返回“1”

这是谷歌表单,您可以在上下文中查看内容:

任何帮助都将不胜感激

F11:

=ARRAYFORMULA(TEXTJOIN(",",1,UNIQUE(IF(E11=B$11:B,A$11:A,))))
=COUNT(SPLIT(F11,","))
  • 在加入唯一值之前,请使用
    UNIQUE()
    查找唯一值
  • 拆分参数1不能为空,这会产生一个#值错误,该错误被计数为1,并带有COUNTUNIQUE。请使用IFERROR将其屏蔽。(因为我们已经有了唯一的值,所以计数更简单)

Hm。。。。我尝试了=ArrayFormula(唯一(TEXTJOIN(“,”,TRUE,IF($B$11:$B$64=E15,$A$11:$A$64,”),但结果相同。我还在其他地方尝试了这个独特的函数,但它返回的结果无效。注意,我需要首先运行检查(这就是为什么有IF函数),然后返回场景列表。检查完成后,是否有方法应用唯一功能?如果没有,怎么办?@I'-'I好的,我有一些东西,但很难看。。。。。第一个公式:=iferror(textjoin(“,”,TRUE,unique(过滤器)(转置(拆分)(数组格式(“,”,TRUE,IF($B$11:$B$64=$E13,$A$11:$A$64,”)),“,”,0)),转置(拆分(数组格式($textjoin(“,”,TRUE,IF($B$11:$B$B$64=$E13,$A$11:$A$64,”)),“,”),“,”,”,“,0:”),“无”)……)。。。。。。对于找不到任何场景时的计数,我不理解您的建议,但使用了以下方法(也很难看):=if($F17=“None”,0,COUNTUNIQUE(SPLIT($F17,,”,0)),这取决于前面的公式。。。。。如果没有更干净的方法,我会发布我自己的答案。你觉得怎么样?@|“-”谢谢-我现在明白你的意思了:)我决定返回“无”,以防没有返回值。我正在研究,但还没弄明白。由于某些原因,即使单元格看起来为空,ISBLANK也不会返回TRUE。仍在努力…@|“-”是的,它确实有效。现在我只是想知道如何返回“无”而不是单元格看起来空白。@|“-”好的,我已经知道如何返回“无”而不是单元格看起来空白。我使用了EQ公式,并将value2留空。得到的公式是:=if(eq(ARRAYFORMULA)(TEXTJOIN(“,”,1,UNIQUE(if(E17=B$11:B,A$11:A,))),,“None”,ARRAYFORMULA(TEXTJOIN(“,”,1,UNIQUE)(if(E17=B$11:B,A$11:A,))))。。。。。。。。。也许有一种更优雅的方式,但看起来很管用!哈哈,明白了。