如何在 ArrayFormula 中使用 COUNTUNIQUE 函数并获得范围结果?
How to use COUNTUNIQUE function within ArrayFormula and get a range result?
我尝试在单元格 'A2' 中的 ArrayFormula
中使用 COUNTUNIQUE
函数来获得范围内的结果,例如我设置函数单元格的 B 列细胞。但它 returns 只有一个值。这是我在单元格 'A2':
中的公式
=ArrayFormula(COUNTUNIQUE(D2:D7,E2:E7,F2:F7,G2:G7,H2:H7))
任何帮助将不胜感激!
你可以这样做:
=ARRAYFORMULA(QUERY(UNIQUE(TRIM(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
IF(D2:K<>"", "♦"&ROW(A2:A)&"♥"&D2:K, )),,999^99)),,999^99), "♦")), "♥"))),
"select count(Col1) where Col1 is not null group by Col1 label count(Col1)''", 0))
或者像这样:
=ARRAYFORMULA({
COUNTUNIQUE(D2:H2);
COUNTUNIQUE(D3:H3);
COUNTUNIQUE(D4:H4);
COUNTUNIQUE(D5:H5);
COUNTUNIQUE(D6:H6);
COUNTUNIQUE(D7:H7)})
这个问题让我感兴趣了一段时间。基本上,@player0 的解决方案对我来说似乎很明显。但是读起来有难度。
也许使用组合数组和隐式结尾搜索更合适:
=INDEX(
COUNTIF(
UNIQUE(FLATTEN(
{"" & ROW(C2:Z), ROW(C2:Z) & "-" & C2:Z}
)),
ROW(C2:Z7) & "-*"
) - 1
)
我尝试在单元格 'A2' 中的 ArrayFormula
中使用 COUNTUNIQUE
函数来获得范围内的结果,例如我设置函数单元格的 B 列细胞。但它 returns 只有一个值。这是我在单元格 'A2':
=ArrayFormula(COUNTUNIQUE(D2:D7,E2:E7,F2:F7,G2:G7,H2:H7))
任何帮助将不胜感激!
你可以这样做:
=ARRAYFORMULA(QUERY(UNIQUE(TRIM(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
IF(D2:K<>"", "♦"&ROW(A2:A)&"♥"&D2:K, )),,999^99)),,999^99), "♦")), "♥"))),
"select count(Col1) where Col1 is not null group by Col1 label count(Col1)''", 0))
或者像这样:
=ARRAYFORMULA({
COUNTUNIQUE(D2:H2);
COUNTUNIQUE(D3:H3);
COUNTUNIQUE(D4:H4);
COUNTUNIQUE(D5:H5);
COUNTUNIQUE(D6:H6);
COUNTUNIQUE(D7:H7)})
这个问题让我感兴趣了一段时间。基本上,@player0 的解决方案对我来说似乎很明显。但是读起来有难度。
也许使用组合数组和隐式结尾搜索更合适:
=INDEX(
COUNTIF(
UNIQUE(FLATTEN(
{"" & ROW(C2:Z), ROW(C2:Z) & "-" & C2:Z}
)),
ROW(C2:Z7) & "-*"
) - 1
)