我有兩個工作表的Excel工作簿。第一個持有項目清單如下:索引/匹配僅可見單元格
Project ID Project Name
1 Project 1
2 Project 2
3 Project 3
;第二個保存有關項目註釋:
Project ID Comment
1 First Comment
1 Second Comment
2 Third Comment
3 Fourth Comment
3 Five Comment
我的目標是評論列表進行過濾,只顯示與項目相關的意見,即被顯示,因此,如果我濾除項目2和3中,註釋列表僅顯示如下:
Project ID Comment
1 First Comment
1 Second Comment
我能夠目前通過確定,如果他們的ID米過濾評論在該字段中添加一個ID,如果是這樣,我應用一個列過濾器來僅顯示匹配。這是爲了防止有人刪除了一個項目,但並未刪除與項目相關的評論。
=IF(ISERROR(MATCH([@[Project ID]],ProjectWorksheet[Project ID], 0)), "No Match", "Match")
我的問題是,如果我篩選出的項目,它顯示了所有的意見,因爲Excel正在對抗,即使它們通過過濾器,而不是匹配只顯示評論隱藏所有項目匹配「顯示」項目。
我只希望顯示的項目顯示的評論。
我在另一個工作簿中有一個宏,基於數據行是否隱藏而聯接字段,但是這種方法是我可以使用的,因此我只能看到顯示的項目的註釋(可見)。這裏是宏:
Function JoinAll(ByVal BaseValue, ByRef rng As Range, ByVal delim As String)
Application.Volatile
For Each a In rng
If a = BaseValue And a.EntireRow.Hidden = False Then
JoinAll = JoinAll & IIf(JoinAll = "", "", delim) & a(1, 7)
End If
Next a
End Function
如果可能,我很樂意使用一個公式。
基於項目ID,不應該顯示「第三條評論」? – Kode 2014-10-25 17:47:51
@Kode - 我第一次沒有完全理解OP的問題,並有了向後反饋意見的想法。我用一個更接近真實問題的數組公式來重寫提出的解決方案。 – Jeeped 2014-10-25 17:57:05
我們可能會越來越近。我只有兩張紙,一張用於項目,另一張用於評論。我只有評論表才能被項目表中的可見項目過濾。我相信你的例子有三張「牀單」。感謝所有幫助! – Kode 2014-10-26 00:30:02