文字列の中の桁の異なる数字のみを抜き出すExcelの関数

今日はExcelでの関数のことを書こうと思います。
先日遭遇した作業で使ったので忘れないように、と。

その関数は、何らかの文字列に含まれた桁の異なる数字のみを抽出するものです。
私が遭遇した文字列は下記のようなものでした。

●●●No.111/◆◆◆
●●●No.22/◆◆◆+++
●●●●No.34567/◆*****

上記のような文字列が、ある列に入力されており「111」などの数字の桁数が異なっていました。そして、それらの数値だけが必要だったので抜き出さないといけませんでした。10個、20個くらいなら、のんびりちまちま手作業でもするのですが、たくさんあったので楽をしたかった次第です。
その結果、下記の関数に落ち着きました。

=MID(A1,FIND(".",A1,1)+1,FIND("/",A1,1)-(FIND(".",A1,1)+1))

上記の関数で文字列内の桁数の異なる数字だけを抽出できます。

説明しますと、仮にA1セルに「●●●No.111/◆◆◆」が入力されており、「111」を抽出したい、とします。
まず、MID関数の中の最初のFIND関数で、A1セルの中から、"."を見つけ出し、その"."がA1セルの文字列の最初から何文字目かを明らかにします。
その明らかにした文字数に「1」を足します。この場合では「7」です。
次に、2つ目のFIND関数で同じく"/"が何文字目かを明らかにします。今回は「10」です。
3つ目のFIND関数は1つ目と同じです。2つ目で明らかにした「10」から、1つ目のFIND関数で明らかにした「7」を引く、引き算をしています。
つまり、MID関数の中で「10-7」という引き算をすることで、数字の桁数を求めています。
あとは、普通のMID関数で、A1セルの7文字目(1つ目のFIND関数の結果)から3文字(FIND関数同士の引き算の結果)を抜き出す、ということをしています。
引き算をすることで、数字の桁数が変わっても対応できる、というものです。

Excel_MID関数_FIND関数

一見すると、良さそうですが、使うには条件があります。
お気づきかと思いますが、数字の前後に規則性が無いと成立しません。規則性が成立していれば、今回の数字の部分は、数字以外の文字でも記号でもそれらが混じっていても何でも抜き出せます。

自分に考え出せるのはこの程度でしたが、もっと色々な状況に対応できる方法があると思います。
規則性が無くても抽出できるようなことを考えられればよかったのですけど、それはどこかのできる人を探した方が早そうです。