我希望我清楚地理解你的問題,我想建議你一個解決方案,而不寫任何VBA代碼。
請注意,只有當您的第二個表中的數據集列包含唯一值(但如果沒有,則不應該很難找到解決方法)。
爲每個驅動器必須在量刑列後您的第一個表,您可以添加一列,因爲我的圖片在這裏做如下:
在每一行,你會比較第一組和第二用你的第二個表格設置值。如果它們的磁盤驅動器值等於單元格列中的磁盤驅動器值,則將標記爲TRUE,否則標記爲FALSE。
的單元格的公式是這樣的一個(讓我們在D4我的照片作爲參考和你的第二個表):
=IFERROR(IF(AND(INDEX('Second table'!$E$4:$G$8,MATCH(A4,'Second table'!$E$4:$E$8,0),3)=D$3, INDEX('Second table'!$E$4:$G$8,MATCH(B4,'Second table'!$E$4:$E$8,0),3)=D$3)=TRUE, TRUE, FALSE),FALSE)
您將有這個公式適應你的文檔中真正的引用。
一旦您的公式準備就緒,您可以將每個磁盤驅動器列的所有單元複製到表的末尾。
您現在可以非常方便地使用SUMIF來計算每個磁盤驅動器的懲罰總和。在我的桌子上面這裏我把這個公式單元格D16:
=SUMIF(D4:D14,"TRUE",C4:C14)
如果我沒有得到你的問題的意識,不要猶豫,評論我的帖子!
您能否提供Drive 2的計算例子?表2中只有1條記錄,所以不清楚如何計算 – Mixaz 2014-11-23 17:23:18
與Mixaz的問題類似:如果磁盤有三個數據集關聯,會發生什麼? – 2014-11-23 17:26:15
@Mixaz對於驅動器2的計算將是相同的。由於有10個數據集並且只有3個驅動器可以放入,所以每個驅動器都有多個數據集,並且根據表1的數據計算懲罰值。這有幫助嗎? – Vivekananda 2014-11-23 17:34:27