我有5列包含電子郵件地址。每列的每個單元格包含1個電子郵件地址,每行的電子郵件域不重複。我只想找到包含「@ gmail.com」的電子郵件,並將該單元格的值複製到新列。跨多列查找文本並在不同列中返回值
使用這個只能檢查1列 = IF(ISNUMBER(SEARCH( 「@ gmail.com」,T1)),T1, 「」)
我需要它來檢查所有5列,並返回含電池的價值「@ gmail.com」
我有5列包含電子郵件地址。每列的每個單元格包含1個電子郵件地址,每行的電子郵件域不重複。我只想找到包含「@ gmail.com」的電子郵件,並將該單元格的值複製到新列。跨多列查找文本並在不同列中返回值
使用這個只能檢查1列 = IF(ISNUMBER(SEARCH( 「@ gmail.com」,T1)),T1, 「」)
我需要它來檢查所有5列,並返回含電池的價值「@ gmail.com」
這工作,但您需要將其調整到你的範圍:
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
太棒了!我正在嘗試調整輸出單元格,但我會解決它,謝謝! –
如果你想要的所有電子郵件地址包含「@ 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,"")
= 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,「」) –
這樣做可以完成工作,但事情是有超過5列,我正在尋找更優雅的方式來獲取價值。 –
你的意思是gmail域只有五列之一嗎?你打開VBA解決方案嗎? – Brian
@Brian是的,gmail域每行只出現一次。我對VBA解決方案開放,謝謝! –