水曜日, 10月 24, 2007

Excel 文字列の中から数値を抜き出す

A1に対象の文字列が入っていた場合。

○数字+文字列から数字のみを取り出す
=LEFT(A1,LEN(A1)*10-SUM(LEN(SUBSTITUTE(A1,{0,1,2,3,4,5,6,7,8,9},))))

○文字列+数字+文字列から数字のみを取り出す
=MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&1234567890)),LEN(A1)*10-SUM(LEN(SUBSTITUTE(A1,{0,1,2,3,4,5,6,7,8,9},))))


エクセル技道場-関数
http://www2.odn.ne.jp/excel/waza/function.html#SEC74

なぜこの式で求められるか、
ずらずらとながい説明があって、
斜め読みしてみたけど、すごい。
Excelの可能性と、考えた人の凄さを感じた。

1 件のコメント:

Unknown さんのコメント...

これすごいですね。
VBA含め深入りする必要なく大上段にならずに済む簡単に流用できるものがないかと探して
ここにたどり着きました。参考リンクも拝見しました。大変参考になりました。

Youtube APIへのリクエスト結果をエクセルに貼り付けて
欲しい値だけ抽出加工するのに使わせていただきました(再生回数や評価数などです)。

現場ではありがちなテクニックかと思いきや、
私が検索して出てきたいくつかの方法のうち
ポンと結果が出てきたのはこちらの式だけでした。

私の用途にマッチしていたこともあるかと思いますが、
大変助かりました。ありがとうございました。