Excel 如何修剪单元格条目末尾的字母/字符

Excel 如何修剪单元格条目末尾的字母/字符,excel,spreadsheet,libreoffice,Excel,Spreadsheet,Libreoffice,我在单元格中有如下条目: 75864543&m 2211842 1523674&mr 3452435tr 这些单元格有不同数量的数值,有些单元格的末尾有字符/字母。我想删掉除数值以外的所有内容,但由于数值的长度不同,我被卡住了 有人有解决方法吗?尝试以下用户定义的功能: Public Function ReturnNumerals(rng As Range) As String Dim sStr As String, i As Long, sStr1 As String

我在单元格中有如下条目:

75864543&m
2211842
1523674&mr
3452435tr
这些单元格有不同数量的数值,有些单元格的末尾有字符/字母。我想删掉除数值以外的所有内容,但由于数值的长度不同,我被卡住了


有人有解决方法吗?

尝试以下用户定义的功能:

Public Function ReturnNumerals(rng As Range) As String
    Dim sStr As String, i As Long, sStr1 As String
    Dim sChar As String
      sStr = rng.Value
      For i = 1 To Len(sStr)
        sChar = Mid(sStr, i, 1)
        If sChar Like "[0-9]" Then
          sStr1 = sStr1 & sChar
        End If
      Next
    ReturnNumerals = sStr1
End Function
编辑#1

如果您是“macrophobic”或由于其他原因排除VBA,请尝试以下数组公式:

=MID(SUMPRODUCT(-MID(“01”)和A1,小型((行($1:$300)-1)*ISNUMBER(-MID(“01”)和A1,行($1:$300),1)),行($1:$300))+1,1),10^(300行($1:$300)),2300)

数组公式必须使用CNTRL-SHFT-ENTER输入,而不仅仅是ENTER

例如,如果A1包含:

a123wer98bg5

丑陋数组公式将返回:


123985

假设数据开头的数字介于1和9之间(根据需要进行调整),则可以使用此公式


查找(10^10,左(A1,{1,2,3,4,5,6,7,8,9})+0)

我有大约20000行数据。。。这仍然有效吗?我将使用其他列来完成这个过程,它似乎使我的文字处理器过载。是否有一个公式可以在非数字的第一个实例中修剪?如果可能的话,我想把它保存在我的电子表格中:)