如何修剪单元格input结尾的字母/字符

我有这样的单元格中的条目:

75864543&m 2211842 1523674&mr 3452435tr 

单元格有不同数量的数字,有些在最后有字符/字母。 除了数字值之外,我想修剪所有的东西,但是由于数字值的长度不一致,我被卡住了。

有没有人有解决方法?

假设数据开始处的1和9位之间(根据需要进行调整),可以使用此公式

=LOOKUP(10^10,LEFT(A1,{1,2,3,4,5,6,7,8,9})+0)

尝试以下用户定义的function:

 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,SMALL((ROW($ 1:$ 300)-1)* ISNUMBER(-MID( “01” &A1,ROW($ 1:$ 300),1)),ROW( $ 1:$ 300))+ 1,1),10 ^(300-ROW($ 1:$ 300))),2300)

数组公式必须用CNTRL-SHFT-ENTERinput,而不仅仅是input键!

例如,如果A1包含:

a123wer98bg5

丑陋的数组公式将返回:

123985