2

次のようなセルにエントリがあります。

75864543&m
2211842
1523674&mr
3452435tr

セルにはさまざまな数の数値が含まれており、末尾に文字/文字が付いているものもあります。数値以外のすべてを削除したいのですが、数値の長さが変化するために立ち往生しています。

誰にも回避策がありますか?

4

2 に答える 2

0

次のユーザー定義関数を試してください。

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

あなたが「マクロフォビア」であるか、他の理由で 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))),2,300)

配列数式は、 ENTERキーだけでなく、CNTRL-SHFT-ENTERで入力する必要があります。

たとえば、A1 に次のものが含まれているとします。

a123wer98bg5

醜い配列式は次を返します。

123985

于 2013-10-29T22:19:19.703 に答える