Excel: 文字列から 10 進数を抽出する方法
次の数式を使用して、Excel の文字列から 10 進数を抽出できます。
=MID( A2 , MIN(SEARCH({0,1,2,3,4,5,6,7,8,9}, A2 &"0123456789")), MAX(IFERROR(FIND({1,2, 3,4,5,6,7,8,9,0}, A2 ,ROW(INDIRECT("1:"&LEN( A2 )))),0))-MIN(SEARCH({0,1,2, 3,4,5,6,7,8,9}, A2 &"0123456789"))+1)
この特定の数式は、セルA2の文字列から 10 進数を抽出します。
たとえば、セルA2に次の文が含まれているとします。
- 彼女は12.52ポンドの果物を買った
したがって、この式は12.52を返します。
次の例は、この公式を実際に使用する方法を示しています。
例: Excel の文字列から 10 進数を抽出する
Excel に次の文字列リストがあるとします。
各文字列から 10 進数のみを抽出するとします。
これを行うには、セルB2に次の数式を入力します。
=MID( A2 , MIN(SEARCH({0,1,2,3,4,5,6,7,8,9}, A2 &"0123456789")), MAX(IFERROR(FIND({1,2, 3,4,5,6,7,8,9,0}, A2 ,ROW(INDIRECT("1:"&LEN( A2 )))),0))-MIN(SEARCH({0,1,2, 3,4,5,6,7,8,9}, A2 &"0123456789"))+1)
次に、数式をクリックして列 B の残りの各セルにドラッグします。
列 B には、列 A の一致する各文字列の 10 進数のみが含まれるようになります。
この式はどのように機能するのでしょうか?
文字列から 10 進数を抽出するために使用した式を思い出してください。
=MID( A2 , MIN(SEARCH({0,1,2,3,4,5,6,7,8,9}, A2 &"0123456789")), MAX(IFERROR(FIND({1,2, 3,4,5,6,7,8,9,0}, A2 ,ROW(INDIRECT("1:"&LEN( A2 )))),0))-MIN(SEARCH({0,1,2, 3,4,5,6,7,8,9}, A2 &"0123456789"))+1)
この式がどのように機能するかは次のとおりです。
まず、 MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&”0123456789″)) は、文字列内の最初の数値の位置を返します。
次に、 MAX(IFERROR(FIND({1,2,3,4,5,6,7,8,9,0},A2,ROW(INDIRECT(“1:”&LEN(A2)))),0) )は、文字列内の最後の数値の位置を返します。
次に、 MID関数を使用して、文字列内のこれら 2 つの位置の間にあるすべての文字を抽出します。
最終的には、文字列から 10 進数のみを抽出できます。
追加リソース
次のチュートリアルでは、Excel で他の一般的なタスクを実行する方法について説明します。
Excel: 2 つの文字の間のテキストを抽出する方法
Excel: 文字の後のテキストを抽出する方法
Excel: 文字の前のテキストを抽出する方法