
我想獲取 A 列中的值,該值在 B 列上沒有特定值。例如,在這張圖片中,當使用 A 列中的值進行分組時,給定 B 列中的集合,我怎樣才能獲得確實的值每組沒有“4”?
所以我正在尋找的答案是 2000 和 3000,因為它們在 B 列中各自的集合中沒有“4”。
這是可以實作的嗎?如果 INDEX 和 MATCH 可以做到這一點,我無法繞開我的頭。
uj5u.com熱心網友回復:
好吧,我看到@JvdV 得到了和我一樣的答案,這總是讓人放心。我為空白單元格添加了一個測驗,所以:
=UNIQUE(FILTER(A1:A20,(COUNTIFS(A1:A20,A1:A20,B1:B20,4)=0)*(A1:A20<>"")))

如果你愿意,你可以顛倒邏輯,但它會更長一點:
=UNIQUE(FILTER(A1:A20,(COUNTIFS(A1:A20,A1:A20,B1:B20,"<>"&4)=COUNTIF(A1:A20,A1:A20))*(A1:A20<>"")))
uj5u.com熱心網友回復:
=LET(range,A1:B13,
ca,INDEX(range,,1),
cb,INDEX(range,,2),
ua,UNIQUE(ca),
ub,UNIQUE(cb),
all,DROP(REDUCE(0,ub,LAMBDA(x,u,VSTACK(x,ua&u))),1),
alla,DROP(REDUCE(0,ub,LAMBDA(x,u,VSTACK(x,ua))),1),
FILTER(alla,ISERROR(XMATCH(all,ca&cb))))
這不需要 4 作為公式的一部分,并且可以處理多個缺失的數字
它取范圍A1:B13并將其分為ca(A列)和cb(B列)。以及這兩個范圍的ua唯一值(唯一值列 A)和ub(唯一值列 B)。
all列出ua和的所有可能連接組合ub。
alla創建相同的串列,但不將ub值連接到結果。
如果我們然后過濾串列與連接和值alla的匹配引發錯誤(丟失)的位置,您將獲得所需的結果。allcacb
在下面的示例中,我擴展了范圍并且4000丟失了1:

如果缺少多個數字,它會重復相同的值。如果不需要,將 FILTER 包裹在 UNIQUE 中以避免這種情況。
您可能還想包含缺失值:
=LET(range,A1:B17,
ca,INDEX(range,,1),
cb,INDEX(range,,2),
ua,UNIQUE(ca),
ub,UNIQUE(cb),
all,DROP(REDUCE(0,ub,LAMBDA(x,u,VSTACK(x,ua&u))),1),
alla,DROP(REDUCE(0,ub,LAMBDA(x,u,VSTACK(x,HSTACK(ua,u)))),1),
a,
FILTER(all,ISERROR(XMATCH(all,ca&cb))),
DROP(REDUCE(0,a,LAMBDA(b,c,VSTACK(b,HSTACK(LEFT(c,4),RIGHT(c,LEN(c)-4))))),1))

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/528565.html
標籤:擅长excel公式
