使用 Excel,我想从电子表格中删除某些字符

使用 Excel,我想从电子表格中删除某些字符

我在 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, ""), "&nbsp;", " ")
        r.Value2 = Replace(.Replace(r.Value2, ""), "&quot;", "")
      Next r

    End With
End Sub

我将“ &nbsp;”和“ &quot;”替换为要替换的字符。在每个字符后面的引号中,输入要替换的内容。在我的示例中,第一行输入一个空格,第二行将字符替换为空(我认为这正是您想要的)。

您可以将“For Each R In Selection”部分复制/粘贴到“Next r”,并输入更多字符进行替换(如果需要)。

保存并关闭 Visual Basic。

要运行代码,您需要启用开发者模式。以下是链接快速了解一下如何操作。选择要替换字符的单元格,单击开发人员选项卡,然后单击“宏”按钮。选择“删除标签”宏并点击运行。

我知道 VBA 一开始可能令人生畏。但相信我,这段代码帮助我清除了数千行数据的 xml 格式。希望它能有所帮助!

相关内容