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 の残りの各セルにドラッグします。

Excelは文字列から10進数を抽出します

列 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: 文字の前のテキストを抽出する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です