Excel: 文字列から数値を抽出する方法
次の数式を使用して、Excel の文字列から数値を抽出できます。
=TEXTJOIN("",TRUE,IFERROR((MID( A2 ,ROW(INDIRECT("1:"&LEN( A2 ))),1)*1),""))
この特定の数式は、セルA2の文字列からすべての数値を抽出します。
たとえば、セルA2に「自転車 25 台」という式が含まれている場合、この式は単純に 25 を返します。
次の例は、この公式を実際に使用する方法を示しています。
例: Excel の文字列から数値を抽出する
Excel に次の文字列リストがあるとします。
各文字列から数値のみを抽出したいとします。
これを行うには、セルB2に次の数式を入力します。
=TEXTJOIN("",TRUE,IFERROR((MID( A2 ,ROW(INDIRECT("1:"&LEN( A2 ))),1)*1),""))
次に、数式をクリックして列 B の残りの各セルにドラッグします。
列 B には、列 A で一致する各文字列の数値のみが含まれるようになります。
この式はどのように機能するのでしょうか?
文字列から数値を抽出するために使用した式を思い出してください。
=TEXTJOIN("",TRUE,IFERROR((MID( A2 ,ROW(INDIRECT("1:"&LEN( A2 ))),1)*1),""))
この式がどのように機能するかは次のとおりです。
まず、 ROW(INDIRECT(“1:”&LEN( A2 ))) は、 1 から文字列の長さまでの一連の数値を返します。
次に、 (MID( A2 ,ROW(INDIRECT(“1:”&LEN( A2 ))),1)*1) は、テキスト内のすべての文字を #VALUE! に変換します。エラー。
次に、IFERROR((MID( A2 ,ROW(INDIRECT(“1:”&LEN( A2 ))),1)*1),””) はすべての$VALUE! を削除します。エラー。
最後に、TEXTJOIN(“”,TRUE,IFERROR((MID( A2 ,ROW(INDIRECT(“1:”&LEN( A2 ))),1)*1),””)) は、残りの数値をすべて収集し、空白を無視します。
最終的には、各文字列から数値のみを抽出できます。
追加リソース
次のチュートリアルでは、Excel で他の一般的なタスクを実行する方法について説明します。
Excel: 2 つの文字の間のテキストを抽出する方法
Excel: 文字の後のテキストを抽出する方法
Excel: 文字の前のテキストを抽出する方法