2016-10-19 76 views
0

我有5列包含電子郵件地址。每列的每個單元格包含1個電子郵件地址,每行的電子郵件域不重複。我只想找到包含「@ gmail.com」的電子郵件,並將該單元格的值複製到新列。跨多列查找文本並在不同列中返回值

使用這個只能檢查1列 = IF(ISNUMBER(SEARCH( 「@ gmail.com」,T1)),T1, 「」)

我需要它來檢查所有5列,並返回含電池的價值「@ gmail.com」

+0

你的意思是gmail域只有五列之一嗎?你打開VBA解決方案嗎? – Brian

+0

@Brian是的,gmail域每行只出現一次。我對VBA解決方案開放,謝謝! –

回答

0

這工作,但您需要將其調整到你的範圍:

Option Explicit 

Sub test() 

Dim myRow As Range 
Dim r As Range 

Set myRow = Range("A1:C1") 
Do While myRow.Resize(1, 1) <> "" 
    For Each r In myRow 
     If InStr(1, r, "@gmail.com") Then 
      myRow.Offset(0, 3).Resize(1, 1) = r.Value 
      Exit For 
     End If 
    Next r 
    Set myRow = myRow.Offset(1, 0) 
Loop 

End Sub 
+0

太棒了!我正在嘗試調整輸出單元格,但我會解決它,謝謝! –

0

如果你想要的所有電子郵件地址包含「@ gmail.com)返回:

=IF(ISNUMBER(SEARCH("@gmail.com",T1)),T1,"")& IF(ISNUMBER(SEARCH("@gmail.com",T2)),T2,"") & IF(ISNUMBER(SEARCH("@gmail.com",T3)),T3,"") & 
    IF(ISNUMBER(SEARCH("@gmail.com",T4)),T4,"") & 
    IF(ISNUMBER(SEARCH("@gmail.com",T1)),T1,"") 
+0

= IF(ISNUMBER(SEARCH(「@ gmail.com」,T1)),T1,「」)&IF(ISNUMBER(SEARCH(「@ gmail.com」,U1)),U1,「」)&IF( ISNUMBER(搜索(「@ gmail.com」,V1)),V1,「」)和IF(ISNUMBER(搜索(「@ gmail.com」,W1)),W1,「」)和IF(ISNUMBER(SEARCH 「@ gmail.com」,X1)),X1,「」) –

+0

這樣做可以完成工作,但事情是有超過5列,我正在尋找更優雅的方式來獲取價值。 –

相關問題