我堅持使用 counta 并使用 arrayformula 進行過濾。這是我的代碼。
=ARRAYFORMULA(IF($A$2:$A="", , COUNTA(FILTER(FLATTEN($W$2:$Z), FLATTEN($W$2:$Z) = A3:A))))
期望的輸出。我在 A 列上有一個名稱串列,我想知道他們的名字在 W:Z 列上出現了多少次,而不必向下拖動公式,因為 W:Z 上的串列會不斷更新。
這是
解釋
FLATTEN(W2:Z),FLATTEN(W2:Z)<>"")將所有列放在W2:Z一個陣列中,并將其“存盤”在Lambda()呼叫中并命名u(您可以將其命名為任何名稱),這樣我們就可以在公式中呼叫它,而無需像下面的選項 2 那樣重復參考。
查找范圍{1,2}
1
UNIQUE(u)這就是說UNIQUE(FILTER(FLATTEN(W2:Z),FLATTEN(W2:Z)<>""))2
COUNTIF(u,"="&UNIQUE(u))很簡單countifVLOOKUP(r,{UNIQUE(u),COUNTIF(u,"="&UNIQUE(u))},2,1)r是范圍的 lambda 名稱A3:A,這是正常的vlookup
就像說“不是公式!”
VLOOKUP(names in col A,{UNIQUE(names in col w,x,y,z),COUNTIF(names in col w,x,y,z,"="&UNIQUE(names in col w,x,y,z))},2,0)
選項 2
這解釋了前面的公式在不使用新Lambda()函式的情況下是相同的。
=ArrayFormula(IF(A3:A="",,VLOOKUP(A3:A, {UNIQUE(FILTER(FLATTEN(W2:Z),FLATTEN(W2:Z)<>"")),COUNTIF(FILTER(FLATTEN(W2:Z),FLATTEN(W2:Z)<>""),"="&UNIQUE(FILTER(FLATTEN(W2:Z),FLATTEN(W2:Z)<>""))&"")},2,0)))

使用的公式幫助
ARRAYFORMULA- LAMBDA- VLOOKUP- UNIQUE- COUNTIF- FILTER- FLATTEN-IF
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/529349.html
