Youtube始めました💻30代からのパソコンスキルUP講座

【Excel】数字とテキストを区切る関数

今回は、Excel内の、数値とテキストを区切る方法をご紹介します。フラッシュフィルや、Powerquery、数式、置換などで区切る事も可能ですが、今回は、新しい関数を使用します。どの様なモノかみていきましょう。

紹介記事の人物
橋本 由夏(はしもと ゆか)
Excelの作家(主に、フリーランスとして活動しています。)
著書:Excel厳選テクニック本を出版コチラから購入出来ます。
職 業:Excel作家、ExcelのYouTuber、Excel・Wordの講演
出身地:熊本県
趣 味:Excelでどれだけ時短して、早く仕事が終わるかを追求する
経 歴:民間、パソコンインストラクター、公的機関で勤務経験あり

目次

数字とテキストを区切る最も簡単な方法

REGEXEXTRACT関数(レジエクスエクストラクト)

この様な、表があります。このIDから、数値を取り出します。又、このIDの列は、IDと数値の間に、半角、全角スペースがついているセルもあります。データが一貫性を保っているのであれば、フラッシュフィルや、Powerquery、テキスト関数などが使用できますが、一貫性の無いデータを抽出する関数をご紹介します。

REGEX関数(レジエクス関数)を使用すると、パターンを認識して、抽出出来たり、置換出来ます。
ここでは、REGEX関数(レジエクス関数)を使用を使用しましょう。

regeと入力すると、3つの候補が現れます。この3つの関数は、抽出パターンを見つけてそれぞれ抽出します。
この場合、REGEXEXTRACT関数(レジエクスエクストラクト)は、パターンを見つけて、置き換えることが出来ます。

タブで決定して、最初の引数は、データが含まれるテキストです。

次の引数は、パターンです。

バックスラッシュと、d+を入力して、エンターキーを押します。

すると、この様に、数値が表示されます。又、数値の桁数は関係なく、任意の桁数が表示されます。

下にオートフィルすると、全ての数値が表示されます。

この際、バックスラッシュdで数値を認識します。ですので、ここでは、IDの中の数値を見つけています。

では、+を【Del】で消してみます。

すると、IDの次の1ケタの数値が表示されます。この場合、+を入力すると、数値以外の文字が見つからなくなるまで、数値の検索をすることとなります。

又、小文字のdを大文字のDと入力すると、

IDというテキストが表示されます。

下にオートフィルすると、全てのテキストが表示されます。


又、IDの数値の後ろに、アルファベットをこの様に入力した場合は、REGEXEXTRACT関数(レジエクスエクストラクト)と、REGEXREPLACE関数(れじぇっくすりぷれいす)を使用して、セルから、テキストと、数値を素早く、表示させる方法をご紹介します。

データのばらつきを区切る


この様なデータがあり、全角・半角とばらつきがあります。データの列の、数値とテキストを抽出します。

regeと入力すると、3つの候補が現れます。
この場合も、REGEXEXTRACT関数(レジエクスエクストラクト)は、パターンを見つけて、置き換えることが出来ます。


IDの時と同じように、数値とテキストを抽出しました。

しかし、後ろのテキストは繁栄されてません。データの3行目は、【ABC1235EF】なのに対して、【ABC】の文字列しか抽出されてない状態になっています。

REGEXEXTRACT関数(レジエクスエクストラクト)には、もう一つ引数があります。
3番目の引数は、デフォルトで0と設定してあるので、セル内に一致する文字列を返します。なので、データの3行目は、ABCが見つかり、ABCを取得して、データとして返しました。

ここでは、一致するデータ全てが欲しい時、TEXTJOIN関数を使用します。

引数の文字の区切りは、【”-”】としておきます。

数式

=TEXTJOIN(“-“,,REGEXEXTRACT(B5,”\D+”,1))

これで、Enterキーを押すと、後ろにある、文字列を抽出出来ます。

GHと追加しても、テキストの欄にGHと追加されます。

したがって、REGEXEXTRACT関数(レジエクスエクストラクト)の3番目の引数に、1と入力すると、一致する条件、一致する全ての文字列をセルから抽出して、結合することが可能になります。

次に、アルファベットに全角と、半角がいりまじっています。ココでは、全角・半角の両方を抽出する為に、
数式を変更する必要があります。

数式;=REGEXEXTRACT(B6,”[A-Z]”)

ここで、ワイルドカードが出来てきます。ワイルドカード文字をパターンで使用するには、[A-Z]
A から Z の範囲内の任意の大文字になります。

注: 文字の範囲を指定するときは、文字を昇順で指定する必要があります。 たとえば、[Z-A] は有効なパターンではありません。

ワイルドカードの詳細な説明については、コチラの、記事をご参照ください。

この数式でエンターキーを押します。すると、Tが表示されます。
この条件に、最初に一致するのは、Tになります。

ここでも、後ろに、【+】を入力することで、文字列が見つからなくなるまで、文字列の検索をすることとなり、

TEXT全てが表示されます。

【E6】に、=REGEXEXTRACT(B6,”[a-z]+”)
【F6】に、=REGEXEXTRACT(B6,”[A-Z]+”)
上記を入力し、&で繋げると、アルファベットが全て表示されます。

まとめ

今回は、REGEXEXTRACT関数(レジエクスエクストラクト)を使用して、文字とテキストを分割する方法の一部をご紹介しました。

本の紹介

基本、応用、凄技が1冊に詰まった
Excel厳選テクニック

✅基礎ってなにを学ぶんだろう?
✅毎回ネットで検索するので時間がかかる
✅Excelで業務スキルをアップしたい
✅短時間で実務に役立つポイントを知りたい

この一冊で、Excelの問題解決!
日々の業務においてExcelで効率化したい方にとって、この一冊は、必勝のガイドブックとなります。

★1秒でも早く帰りたい方へ★
改善Excel パフォーマンスを底上げする仕事改善・効率化テクニック
※書籍のダウンロードサイトで解りやすい資料作りが出来る!

Amazon:https://amzn.to/3TxOAmC
楽天:https://books.rakuten.co.jp/rb/17199338/
SBクリエイティブサイト:https://www.sbcr.jp/product/4815613532/

学習レベル(こんな人におススメ)
✅短時間で実務に役立つExcel機能のポイントを知りたい方
✅Excelは、ある程度使っていて、業務効率化につなげたい方
✅Excelで業務スキルをアップしたい
✅よりExcelを使いこなしたい方
✅基礎からさらにステップアップしたい方

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次