我似乎無法找到正確的方程來從僅匹配幾個特定特征的行中找到一個單元格。在這個例子中,我試圖找到列 D 的方程,這將是 A 中的單元格,它具有與 B 和 C 相同的單元格。

希望這是有道理的!
uj5u.com熱心網友回復:
我將提供兩個選項。
如果您確定您的資料只會有零個或一個匹配項,您可以將以下公式放入 D2 否則為空范圍 D2:D...
=ArrayFormula(IF(A2:A="",,SUBSTITUTE(VLOOKUP(B2:B&C2:C,{B2:B&C2:C,A2:A},2,FALSE)&VLOOKUP(B2:B&C2:C,SORT({B2:B&C2:C,A2:A,ROW(A2:A)},3,0),2,FALSE),A2:A,"")))
但是,如果您認為可能會出現多個匹配項,并且希望在沒有匹配項時回傳“無”,則可以在 D2 中使用以下公式或使用其他空范圍 D2:D...
=ArrayFormula(IF(A2:A="",,REGEXREPLACE(REGEXEXTRACT(REGEXREPLACE(SUBSTITUTE(VLOOKUP(B2:B&C2:C,TRIM(SPLIT(FLATTEN(QUERY(QUERY({B2:B&C2:C&"~",A2:A&","}, "Select MAX(Col2) where Col2 IS NOT NULL GROUP BY Col2 PIVOT Col1"),, 9^9)),"~")),2,FALSE),A2:A,""),"^[,\s] $","None"),"([^,\s]. [^,\s])[,\s]*$"),"[,\s] ",", ")))
即使只有零個或一個匹配項,第二個公式也會起作用;只是沒有必要讓它那么長。第二個公式也很長,因為從您發布的示例中不清楚 A、B 和 C 列中的資料是否真的只有一個詞;因此,該公式假定這些列中不會總是有一個單詞的字串。
任一公式都將提供整個列的結果而無需拖動。
uj5u.com熱心網友回復:
這是一個選項,您可以在 D2 列中使用此公式:
=iferror(textjoin(", ",true,query($A$2:$C,"Select A where A is not null and A != '"&$A2&"' and B = '"&$B2&"' and C = '"&$C2&"'",0)),"None")
局限性:
- 您需要手動將公式拖到其后續行。Arrayformula() 不能用于回圈查詢字串值。
它能做什么?
- 使用
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/335166.html
