我真的需要你们的帮助,因为我想过滤以.com
、.be
、.nl
、.net
或结尾的单词.org
。我知道有一个选项可以做到这一点,但使用该选项我只能过滤一个。请参阅:
但我想过滤多个。简单地说,我想过滤多个以.com
、.be
、.nl
、.net
或结尾的单词.org
。
我想过滤这个:
多谢你们
答案1
您必须将域名单独分到各自的列中。您可以使用以下公式执行此操作:(
=RIGHT(A1,LEN(A1)-FIND("@",SUBSTITUTE(A1,".","@",(LEN(A1)-LEN(SUBSTITUTE(A1,".","")))/LEN("."))))
假设您的原始字符串值在 A1 中)
进一步阅读我下面链接的主题,揭示了另一种更简单的方法来实现相同类型的分离=TRIM(RIGHT(SUBSTITUTE(A1,".",REPT(" ",LEN(A1))),LEN(A1)))
然后,您可以将其复制到所有行,并使用 Excel 中的过滤工具选择所需的特定域。
我还建议您使用列标题,这样您就不会使用数据行作为列标题进行过滤。
为了提供您的答案,我使用了有关该主题的答案中的一些信息: https://stackoverflow.com/questions/18617349/excel-last-character-string-match-in-a-string
答案2
使用此宏可以让你克服自动筛选:
Sub FilterByHand()
Dim N As Long, t As String
Dim r As Range, i As Long
Const domainList As String = "|com|net|org|be|nl|"
N = Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To N
Set r = Cells(i, "A")
t = "|" & Mid(r.Value, InStrRev(r.Value, ".") + 1) & "|"
If InStr(1, domainList, t) = 0 Then r.EntireRow.Hidden = True
Next i
End Sub