我在 Excel 数据表上有一长串条目,例如:
1235. "email address",
我怎样才能从中删除粗体字符 ie1235. "
和 the 。",
初始数字从 279 到 5000。
答案1
使用正确的函数并不难。MID 取字符串的一部分,从指定的起始位置开始,包含指定的字符数。FIND 在文本中查找字符并返回该位置。CHAR(34) 用于搜索“符号,否则您将需要很多“。LENGTH 用于查找字符串的长度。
=MID(B5,FIND(CHAR(34),B5)+1,LENGTH(B5)-(FIND(CHAR(34),B5)))
因此,我提取了从“长度为”符号之后开始到字符串末尾的一段文本。
答案2
您可以在 Excel 中使用嵌套的“SUBSTITUTE”函数。
例如,=SUBSTITUTE(B3," ","")
这会将单元格 B3 中的空格字符替换为空字符串。
您可以使用嵌套的一个:
=SUBSTITUTE( SUBSTITUTE(Cell, ",", ""), "12345.","")
结果您将得到引号内的电子邮件地址。
为了删除引号,您可以使用相同的方法替换引号字符。
""""
逃脱"
所以,
SUBSTITUTE( SUBSTITUTE(Cell, """", ""), """","")
这样您就会得到电子邮件地址。
您也可以一次嵌套所有内容,但您可能会迷失方向。更简单的方法是执行两次,然后删除您不想要的行或列
答案3
我实际上使用宏从 Excel 中删除不需要的字符。
(如果您知道如何创建宏,请跳至代码)
要创建宏,请打开工作簿并按 Alt+F11。这将打开 Visual Basic。左上角会有一个小按钮,如下所示: 点击向下箭头并选择“模块”
复制以下代码并将其粘贴到空白模块窗口中:
Sub RemoveTags()
Dim r As Range
Selection.NumberFormat = "General" 'set cells to text numberformat
With CreateObject("vbscript.regexp")
.Pattern = "\<.*?\>"
.Global = True
For Each r In Selection
r.Value = Replace(.Replace(r.Value, ""), " ", " ")
r.Value2 = Replace(.Replace(r.Value2, ""), """, "")
Next r
End With
End Sub
我将“
”和“ "
”替换为要替换的字符。在每个字符后面的引号中,输入要替换的内容。在我的示例中,第一行输入一个空格,第二行将字符替换为空(我认为这正是您想要的)。
您可以将“For Each R In Selection”部分复制/粘贴到“Next r”,并输入更多字符进行替换(如果需要)。
保存并关闭 Visual Basic。
要运行代码,您需要启用开发者模式。以下是链接快速了解一下如何操作。选择要替换字符的单元格,单击开发人员选项卡,然后单击“宏”按钮。选择“删除标签”宏并点击运行。
我知道 VBA 一开始可能令人生畏。但相信我,这段代码帮助我清除了数千行数据的 xml 格式。希望它能有所帮助!