文字列から数値を抽出したい | 文字列の操作 | EXCEL逆引きリファレンス

スポンサーリンク
スポンサーリンク

文字列から数値を抽出したい

この記事では、Excelで文字列から数値を抽出する方法について解説します。特に、混在したデータ(例: “商品123” など)の中から数値だけを取り出したい場合に便利なテクニックです。この記事では複数の方法を紹介します。

TEXTJOIN関数とMID関数を組み合わせて数値を抽出する

A B
1 元の文字列 数値を抽出
2 商品123 =TEXTJOIN(“”, TRUE, IF(ISNUMBER(MID(A2, ROW(INDIRECT(“1:”&LEN(A2))), 1) * 1), MID(A2, ROW(INDIRECT(“1:”&LEN(A2))), 1), “”))
3 ABC456商品 =TEXTJOIN(“”, TRUE, IF(ISNUMBER(MID(A3, ROW(INDIRECT(“1:”&LEN(A3))), 1) * 1), MID(A3, ROW(INDIRECT(“1:”&LEN(A3))), 1), “”))

手順

  1. 対象の文字列が含まれているセル(A列)を用意します。
  2. B列にTEXTJOIN関数MID関数を組み合わせた数式を使用して、文字列から数値を抽出します。
  3. たとえば、B2セルには=TEXTJOIN(“”, TRUE, IF(ISNUMBER(MID(A2, ROW(INDIRECT(“1:”&LEN(A2))), 1) * 1), MID(A2, ROW(INDIRECT(“1:”&LEN(A2))), 1), “”))と入力します。

関数の役割

TEXTJOIN関数は、複数の文字を結合するために使用されます。MID関数は、文字列の特定の位置にある文字を抽出し、それをISNUMBERで数値かどうかを判断します。この組み合わせで、数値のみを取り出します。

結果

A2セルに「商品123」が入力されている場合、B2セルには123と表示されます。同様に、A3セルに「ABC456商品」が入力されている場合、B3セルには456と表示されます。

TEXTJOIN関数とIFERROR関数を使用して数値を抽出する

A B
1 元の文字列 数値を抽出
2 商品789 =TEXTJOIN(“”, TRUE, IFERROR(MID(A2, ROW(INDIRECT(“1:”&LEN(A2))), 1) * 1, “”))
3 DEF123商品 =TEXTJOIN(“”, TRUE, IFERROR(MID(A3, ROW(INDIRECT(“1:”&LEN(A3))), 1) * 1, “”))

手順

  1. A列に文字列を入力します。
  2. B列には、TEXTJOIN関数IFERROR関数を使用して、数値を抽出します。
  3. たとえば、B2セルには=TEXTJOIN(“”, TRUE, IFERROR(MID(A2, ROW(INDIRECT(“1:”&LEN(A2))), 1) * 1, “”))と入力します。

関数の役割

TEXTJOIN関数は抽出した数値を結合し、IFERROR関数はエラーを無視して空白に置き換えます。これにより、数値のみを取り出すことができます。

結果

A2に「商品789」が入力されている場合、B2には789と表示されます。同様に、A3に「DEF123商品」が入力されている場合、B3には123と表示されます。

まとめ

Excelで文字列から数値を抽出する方法には、TEXTJOIN関数MID関数の組み合わせや、TEXTJOIN関数IFERROR関数を使用する方法があります。必要に応じてこれらの方法を使い分け、文字列から必要な数値を簡単に取り出しましょう。