请问如何批量删除excel中的数字,如:yoeyworwo12376543yiueiu452df中,删12376543,留452(三位以下)

如题所述

  数组公式

  先输入 = 号

  粘贴下面公式

    SUM(INDEX(MID(A1,ROW($1:$30),1),N(IF({1},LARGE(IF(ISNUMBER(--MID(A1,ROW($1:$30),1)),ROW($1:$30),),ROW($1:$3)))))*10^(ROW($1:$3)-1))

    粘贴后不要按回车, 同时按 Ctrl+shift+回车 三键结束, 切记此步!!! 否则结果不正确

  如果下面还有数据, 下拉



  【如果保留其它字符, 而且又不确定数字会在哪个位置出现, 及出现个数是多少, 那公式几乎做不到了】

  写了一个自定义函数试一下效果:

    Public Function yy(txt) As String

    Dim i, s, m As Integer, aa As String

    aa = ""

    s = 0

    m = 0

    For i = 1 To Len(txt)

        If Asc(Mid(txt, i, 1)) >= Asc("0") And Asc(Mid(txt, i, 1)) <= Asc("9") Then

        s = s + 1

        End If

    Next

    For i = 1 To Len(txt)

             If Asc(Mid(txt, i, 1)) >= Asc("0") And Asc(Mid(txt, i, 1)) <= Asc("9") Then

             m = m + 1

             End If

        If m <= s - 3 Then

            If (Asc(Mid(txt, i, 1)) >= 65 And Asc(Mid(txt, i, 1)) <= 90) Or (Asc(Mid(txt, i, 1)) >= 97 And Asc(Mid(txt, i, 1)) <= 122) Then

            aa = aa & Mid(txt, i, 1)

            End If

        Else

            aa = aa & Mid(txt, i, 1)

        End If

    Next

    yy = aa

    End Function

  使用方法:

  按 ALT+F11, 打开VBA编辑器, 在菜单栏点选"插入>模块", 将上面代码粘贴到下面.



  回到EXCEL表格, 在B 输入

    =yy(a1)

  如下面还有数据, 可以下拉

  效果如图


温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-16

你好,复制以下公式,然后粘贴进B1单元格回车后,再下拉即可。

=IF(OR(A1="",COUNTA(FIND({0;1;2;3;4;5;6;7;8;9},A1))=0),"",IF(LOOKUP(99^9,--MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890)),ROW($1:$1024)))<1000,A1,SUBSTITUTE(A1,LOOKUP(99^9,--MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890)),ROW($1:$1024))),)))


第2个回答  2013-02-15
点击查找替换选择替换就可以 。复制12376543在查找栏 ,在替换栏换为452,我也不知道你批量有多少数据 选择好你要换的区域即可,如果整个工作簿都换 在查找替换工具卡的选项里选择工作簿。追问

不是这个意思
如A1中:yoeyworwo12376543yiueiu452df中,删12376543,留452(三位以下)
如A2中:dgffgsgorwo4354326543yiueiu787df中,删4354326543,留787(三位以下)
不是固定的数字,谢谢!

追答

如果你要删除的数字段无论多长只要数字两段 有固定的字符 可以用通配符去换为什么都没有,你举的两个例子我发现有这样的规律查找wo*yiu 在替换里什么都没有。如果没有任何规律 你只有一个个换。通配符就是小键盘的乘号键 ,是全角输入。最好用微软的拼音输入法,我所知道的在系统7与8下紫光拼音不行。

第3个回答  2013-02-16
与其弄那么多,都不普适和使用,还不如将表格复制后粘贴到Word中,再采用Word的功能极其强大的通配符替换功能查找替换后再将表格复制粘贴会Excel中,既简单又方便普适呢!
Word替换通配符表达式(记得要勾选通配符选项哟):
通配符查找表达式:(*)([0-9]@)(*)
替换为表达式:\1\3,
单击全部替换,然后将处理后的内容复制粘贴回Excel中即可。
此方法保证你准确和普适!!!

有关文件批量处理的功能需求,可参见 文件批量处理百宝箱V8.0中的相关功能模块。
相似回答