文字列から数値のみを抽出! #Excel #LifeHacks #Office
文字列に混ざった「数字だけ抽出」って、商品サイズ(180*70*200 / 300mm×150mm×450mm)や型番、住所の番地などでよく出ますよね。私は一覧表を作るときに手で消していたんですが、REGEXEXTRACTを知ってから作業が一気に減りました。 ■ まずは“連続した数字”を1つだけ取り出す たとえば C2 に「90mm×90mm×100mm」と入っているなら、最初の数字(90)だけ欲しいことが多いです。 =REGEXEXTRACT(C2,"\d+") \d+ は「1文字以上連続する数字」を意味します。 ■ 抽出結果を“数値”として扱いたい(並べ替え・計算したい) REGEXEXTRACTの結果は文字列扱いになることがあるので、私は最後に *1 を付けて数値化しています。 =REGEXEXTRACT(C2,"\d+")*1 これで「数字のみ表示」に見えていても、合計や大小比較がちゃんと効くようになります。 ■ “すべての数字”を抜き出したい(複数一致) 「180*70*200」みたいに数字が複数ある場合、最初の1個だけだと足りません。 Excelのバージョンによって使える引数名は違いますが、REGEXEXTRACTで“すべて一致”を指定できる環境なら、複数の数値をまとめて取り出せます。取り出した後に区切り(カンマ等)で結合して、幅・奥行・高さに分けて使うイメージです。 ■ よくあるハマり:単位や記号がバラバラ 「100x30x20」「70mm*20mm*10mm」「600×600×900 x 900(mm)」みたいに、×、x、*、半角全角、(mm)などが混ざると、人力だとミスしがち。正規表現なら数字部分だけ狙えるので、表記ゆれが多いデータほど楽になります。 ■ どの関数が使えるか(Excel/Googleスプレッドシート) REGEXEXTRACTは環境差があるので、手元のExcelで候補が出ない場合は、Googleスプレッドシートで同じ式を試すか、Excelなら「TEXTAFTER/TEXTBEFORE」「SUBSTITUTE」などの組み合わせで代替できることもあります。 私は「まず \d+ で数字だけ抽出 → *1 で数値化」だけ覚えておくのが一番使い回しが効きました。サイズ表(幅・奥行・高さ)を作る人には特におすすめです。




















