Wendyさん、Chiquilinさんの回答は データが 文字+数字+文字、文字+数字、数字+文字、数字のみ、と 数字が連続して1箇所だけ出現する場合の方法ですね
>数字の数や、入力されている場所は必ずしも同じではありません との事なので・・・ 一般機能ではEXCELのワークシート関数での文字連結機能が弱いので、 少々面倒で、且つ処理負荷が大きくなります。 (VBAの方が簡潔な処理になります:VBAで再質問されては如何でしょうか)
参考までに・・・・・ 【前提】 A1に値が入力されていてB1に数字を取り出すとして A1の総文字数が1024以内で、且つ、数字の総数が15文字以内 【設定】 1)B1を選択後、以下の数式を名前定義 a)名 前:数字数 参照範囲:=SUM(IF(ISERROR(VALUE(MID($A1,ROW($A$1:$A$1024),1))),"",1)) b)名 前:数字位置 参照範囲:=IF(ISERROR(VALUE(MID($A1,ROW($A$1:$A$1024),1))),"",ROW($A$1:$A$1024))
2)B1に以下の数式を配列数式として入力 (CtrlキーとShiftキーを押しながらEnterキーで入力) =SUM(MID(A1,SMALL(数字位置,ROW(INDIRECT("A1:A"&数字数))),1)*10^(数字数-ROW(INDIRECT("A1:A"&数字数))))
【備考】 1)結果は数値として求められます 2)数字の総数が15文字以上になる場合は、 上記1)の設定をした後に、 a)C1に以下の数式を入力してD1から列(右)方向へコピー =IF(ISERROR(SMALL(数字位置,COLUMN(A1))),"",MID($A1,SMALL(数字位置,COLUMN(A1)),1)) b)B1に=C1&D1&E1&・・・・と結果を文字連結する数式を入力します
|