2017-09-13 91 views
0

表1: A欄:電子郵件 B欄:命名 柱C:動作VLOOKUP /索引2片材和多個值

表2 B欄:命名

*有dulpicate名在表1中,每個名稱可以有不同的操作和電子郵件。 **表2中有一些不在表格1中的名稱 ***有超過1000行。

如何返回sheet2中的值,以便我擁有電子郵件,常用名稱和操作tgt。 Horinzontally。

回答

0

首先,您需要Sheet1中的附加列來計算每個名稱的出現次數。其次,在Sheet2中,您需要匹配Sheet1中的名稱及其出現位置。

下面的圖片顯示(在一張紙上)您可能想要調整的安排。

enter image description here

在我的例子我已經允許高達每名5個電子郵件/動作對,雖然該解決方案可以明顯地適應數據的需求。

該解決方案使用「輸入」表中的COUNTIF()函數來生成每個名稱的出現編號。

在「輸出」表中,5個幫助列標識與第1個,第2個...名稱匹配的輸入表的行號,零表示不匹配。 SUMPRODUCT()函數生成此行號。剩餘的列只需從輸入表中挑選出適當的電子郵件/操作。

在「輸出」中可以避免使用幫助列,但這會以代替單個單元格引用(如=IF(G2>0,INDEX($B$2:$B$9,G2),"")中的G2)和相應的SUMPRODUCT()表達式爲代價。 IF()是必要的,因爲INDEX()函數在其第二個參數等於零時具有特殊行爲。

獲取用於在輸出表中的電子郵件/動作對第一行(範圍L2:U 2)正確的公式在我的圖片是有點乏味和有解決此方式(基於使用COLUMN()函數來計算適當的幫手列號)。然而,解決方案的目的是構建一些東西,所以我保持簡單。

該解決方案假定輸入中的每個電子郵件/操作對在輸出中保持不同。因此,如果輸入中的名稱具有兩個(或更多)具有共同電子郵件的電子郵件/操作對,則該解決方案不會將這兩個操作與該通用電子郵件組合在一起。可以這樣做,但需要將附加信息添加到「輸入」表中 - 即與特定名稱/電子郵件組合相關聯的操作的發生。