2013-04-09 80 views
0

我試圖創建滿足特定條件的電子郵件列表。所以,我有三張牀單。在第一張表中我有一個電子郵件列表。在表2中,我有一個更大的電子郵件列表。現在,我需要確定工作表編號1中的電子郵件是否也在工作表編號2中。如果他們是我想創建工作表編號3中的那些電子郵件的列表。只有在滿足特定條件時才粘貼到單元格

嘗試。假設兩個電子郵件列表位於列A(小列表)和B(大列表)中的同一張表中。 首先,我確定較小列表中的電子郵件是否也位於較大的列表中。我用

= VLOOKUP(A1,$ B $ 1:$ B $ 100,1,FALSE)

現在,我對如何設置將粘貼郵件到細胞如果一個函數疑惑來自較小列表的電子郵件也在較大的列表中。我想過嘗試COUNTIF和IFERROR,但不能產生任何有用的東西。我得到的最接近是

= IF(VLOOKUP(A1,$ B $ 1:$ B $ 100,1,FALSE)= A1,1,0)

這給了我1當電子郵件從較小的名單是在更大的名單和#N/A時沒有因爲沒有什麼用於查找。現在,而不是1s和#N /因爲我需要粘貼電子郵件,IF功能不​​喜歡範圍。任何建議請。感謝您的幫助。

回答

1

爲了便於說明,我假定小列表位於Sheet1的範圍A1:A25中,大列表位於Sheet2的A1:A100範圍內。

下面的公式將插入到工作表3的單元格A1中,並向下複製到該工作表的單元格A25(即小列表的長度)。

=IFERROR(INDEX(Sheet2!$A$1:$A$100,SMALL(IFERROR(MATCH(Sheet1!$A$1:$A$25,Sheet2!$A$1:$A$100,0),""),ROWS(A$1:A1)),1),"-") 

這是陣列式和需要與控制到輸入 - - 輸入組合鍵。

+0

我會試試tmr。 – Koba 2013-04-10 02:36:34

+0

工程,但它花了我的電腦約一個小時才能完成該過程。我正在處理11k行,並且數組表格對於大數據很慢。不管怎樣,謝謝你。 – Koba 2013-04-10 14:28:20

1

請嘗試以下

在表1個單元格A1 -

=if(iserror(vlookup(A1,$B$1:$B$100,1,false))=TRUE,0,1) 

在表1單元格A2和向下的頁面的其餘部分 -

=if(iserror(vlookup(A1,$B$1:$B$100,1,false))=TRUE,A1,A1+1) 

確保您不使用A1的靜態引用,因爲我們希望它在表單的路徑中變爲A2等等。

在表3細胞A1 -

=if(iserror(vlookup(1, 'Sheet1'!A:B,2,false))=TRUE,"",vlookup(1, 'Sheet1'!A:B,2,false)) 

在表3單元格A2和向下的頁面的其餘部分 -

=if(iserror(vlookup(2, 'Sheet1'!A:B,2,false))=TRUE,"",vlookup(2, 'Sheet1'!A:B,2,false)) 
=if(iserror(vlookup(3, 'Sheet1'!A:B,2,false))=TRUE,"",vlookup(2, 'Sheet1'!A:B,3,false)) 

隱藏你在哪裏,如果測試在表1欄A中的列它在兩張紙上。這只是通過和測試它是否在兩個列表中,如果它不是你不增加計數器,因此他們不會顯示在工作表3上。

在工作表2中,您基本上只返回一個列表哪些電子郵件的順序符合兩個條件。這就是爲什麼你需要增加查找值。

+0

謝謝。看起來不錯,但你看到我不想找到這些電子郵件,#N/A或零。如果電子郵件不在更大的列表中,我不希望任何東西粘貼到單元格中,即使只是空白。這就是挑戰。 – Koba 2013-04-09 21:47:54

+0

如果條件不符合,我不希望該功能粘貼任何東西。非常像CountIf函數。 CountIf(數組,標準)。所以,我的標準是從較小的名單中的電子郵件也在更大的名單。我只想要將這些電子郵件計算在內。 P.S.無視我提到countif。我只是用它來解釋我想要的。 – Koba 2013-04-09 21:52:31

+0

謝謝你的努力。但請仔細閱讀我的文章和評論。我想創建一個列表(A)中的電子郵件列表,也列在大列表(B)中。面臨的挑戰是創建一個函數,該函數僅考慮兩個列表中的電子郵件,因此僅將這些電子郵件粘貼到新列表中。 – Koba 2013-04-09 22:08:58

相關問題