文字列から数値を抽出したい
この記事では、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), “”)) |
手順
- 対象の文字列が含まれているセル(A列)を用意します。
- B列にTEXTJOIN関数とMID関数を組み合わせた数式を使用して、文字列から数値を抽出します。
- たとえば、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, “”)) |
手順
- A列に文字列を入力します。
- B列には、TEXTJOIN関数とIFERROR関数を使用して、数値を抽出します。
- たとえば、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関数を使用する方法があります。必要に応じてこれらの方法を使い分け、文字列から必要な数値を簡単に取り出しましょう。