你正在尋找的公式是(在D3):= IF($ C $ 2:$ C $ 999產品= $ A4; $ A $ 2:$ A $ 999; 「」)+ Ctrl + Shift + Enter
確保您輸入它作爲一個陣列
(注意:您可能還需要改變;到,取決於您區域設置)
這將返回A的內容如果C中的數據匹配當前的Ai。你現在只能看到一個結果,因爲結果是數組,但是如果你使用Transpose()並在同一行中選擇多個單元格,那麼使用F2然後按Ctrl + Shift + Enter,你會看到所有結果連續! 例如:選擇D3:K3,按F2,編寫公式:=移調(IF($ C $ 2:$ C $ 999 = $ A4; $ A $ 2:$ A $ 999;「」)),按ctrl + shift + enter。 ... (再次您可能需要寫:=移調(IF($ C $ 2:$ C $ 999 = $ A4,$ A $ 2:$ A $ 999,「」))...)
但是您必須有很多列向右,因爲空的結果仍然佔據列! 即使空字符串被處理爲不佔用列,仍然存在未知結果列的問題。所以我建議使用VBA函數(我剛纔寫了一個函數)將一個單元格中的有效結果(使用任何你喜歡的分隔符)連接起來。
D3:= MyConCat(「 - 」; IF($ C $ 2:$ C $ 999 = $ A2; $ A $ 2:$ A $ 999;「」)) + ctrl + shift +
和代碼MyConCat(在VBA代碼區域中的模塊中放置):
' MyConCat
'
' Very simple By Apostolos Goulandris
Function MyConCat(myDelimiter As String, Avar) As String
Dim b As Variant, Dum As String
If IsMissing(myDelimiter) Then myDelimiter = ""
For Each b In Avar
Dum = IIf(Len(b) > 0, Dum & myDelimiter & b, Dum)
Next
MyConCat = IIf(Len(myDelimiter) > 0, Mid(Dum, Len(myDelimiter) + 1, Len(Dum)), Dum)
End Function
簡單有效!好一個。想給你一些觀點,但我需要一些聲譽(好或壞)在這個網站上。更正夫婦: > D3中的最終建議公式: > = MyConCat(「 - 」; IF($ C $ 2:$ C $ 999 = $ A2; $ A $ 2:$ A $ 999;「」))+ ctrl + shift +輸入不知道爲什麼你有分號(;)應該是逗號:= MyConCat(「 - 」,IF($ C $ 2:$ C $ 999 = $ A2,$ A $ 2:$ A $ 999,「」))ctrl + shift + enter我在你的if語句中隨處可見這些分號。哎喲! 否則頂尖! 非常喜歡它Apostolos。 – St4n1ey
@ St4n1ey使用分號與逗號是區域設置。發佈的公式沒有任何問題。 –