氏名を分けるのも超簡単!新関数!TEXTBEFOREとTEXTAFTER

練習用データ(13.2KB)
Excel 2024 Microsoft 365
Microsoft 365は、バージョン2409で動作確認しています。
解説記事内の画像はExcel for Microsoft 365のものです。

スポンサーリンク

「氏名」を「姓」と「名」に分けるとき、Microsoft 365とExcel 2024なら、新しい関数で超簡単にできます!

TEXTBEFORE関数の数式

指定した文字よりも前の文字を取り出すTEXTBEFORE関数。

TEXTAFTER関数の数式

指定した文字よりも後ろの文字を取り出すTEXTAFTER関数。

従来のExcelではLEFT、FIND、RIGHT、LENの各関数を組み合わせて氏名を姓と名に分けていたので、比べものにならないほどの簡単さです!
Excel 2021含め、それ以前の製品をお使いの方も使う文書なら、従来の方法を使いますが、Microsoft 365やExcel 2024をお使いの方でしか使わない文書なら、このページでご紹介しているTEXTBEFOREとTEXTAFTER関数が簡単です!

目次

スポンサーリンク

TEXTBEFORE関数で「氏名」から「姓」を取り出す

氏名から姓を取り出す

今回はB2番地にある氏名から、スペースより前の「姓」を取り出し、D2番地に表示させてみます。

TEXTBEFORE関数の数式

TEXTBEFORE関数は、指定した文字よりも前の文字を取り出す関数なので、今回の場合は、この数式をD2番地に入力すればOK。

このとき、氏名欄に入力されているスペースが全角なら、[Delimiter]欄にも全角スペースを、氏名欄に入力されているスペースが半角なら、[Delimiter]欄にも半角スペースを入力します
そして、Excelの数式では、文字の前後を半角ダブルクォーテーションで囲むというのがお作法なので、入力したスペースの前後を半角ダブルクォーテーションで囲みます。

TEXTBEFORE関数をダイアログボックスで設定する場合

ダイアログボックスで設定する場合はこうなります。
(どのボタンでこのダイアログボックスが表示されるかなど、前提となる操作が不安な方は「合計のSUM関数から始める勝ち組関数デビュー術」をご覧ください。)

TEXTBEFORE関数をダイアログボックスで設定する場合で表がテーブルの場合

表がテーブルになっている場合は、セル番地ではなく見出しを使った表記となるのでこうなります。
(引数[Text]を指定するときに、キーボードでセル番地を入力した場合は、このような名前表記とはなりません。)

TEXTBEFORE関数では、引数名が英語になっていますが心配しなくて大丈夫。
このうち、必須の引数は最初の2つだけで、今回の設定もこの2つだけでOK。

Textどのセルから文字を取り出すのか
Delimiterどの文字より前の文字を取り出すのか
TEXTBEFORE関数の残りの引数

残りの4つの引数(4つ見えない場合はスクロールしてください)は省略可能
今回の例でも省略してOKです。

氏名から姓を取り出した

スペースよりも前の文字を取り出すことができました!
オートフィルで残りのセルにも数式をコピーしておきます。

テーブルにTEXTBEFORE関数を設定できた

表がテーブルになっている場合は、残りのセルにも自動的に数式が入るので、オートフィルは不要です。

スポンサーリンク

TEXTAFTER関数で「氏名」から「名」を取り出す

氏名から名を取り出す

今回はB2番地にある氏名から、スペースより後ろの「名」を取り出し、E2番地に表示させてみます。

TEXTAFTER関数の数式

TEXTAFTER関数は、指定した文字よりも前の文字を取り出す関数なので、今回の場合は、この数式をE2番地に入力すればOK。

このとき、氏名欄に入力されているスペースが全角なら、[Delimiter]欄にも全角スペースを、氏名欄に入力されているスペースが半角なら、[Delimiter]欄にも半角スペースを入力します
そして、Excelの数式では、文字の前後を半角ダブルクォーテーションで囲むというのがお作法なので、入力したスペースの前後を半角ダブルクォーテーションで囲みます。

TEXTAFTER関数をダイアログボックスで設定する場合

ダイアログボックスで設定する場合はこうなります。
(どのボタンでこのダイアログボックスが表示されるかなど、前提となる操作が不安な方は「合計のSUM関数から始める勝ち組関数デビュー術」をご覧ください。)

TEXTAFTER関数をダイアログボックスで設定する場合で表がテーブルの場合

表がテーブルになっている場合は、セル番地ではなく見出しを使った表記となるのでこうなります。
(引数[Text]を指定するときに、キーボードでセル番地を入力した場合は、このような名前表記とはなりません。)

TEXTAFTER関数では、引数名が英語になっていますが心配しなくて大丈夫。
このうち、必須の引数は最初の2つだけで、今回の設定もこの2つだけでOK。

Textどのセルから文字を取り出すのか
Delimiterどの文字より後ろの文字を取り出すのか
TEXTBEFORE関数の残りの引数

残りの4つの引数(4つ見えない場合はスクロールしてください)は省略可能
今回の例でも省略してOKです。

氏名から名を取り出した

スペースよりも後ろの文字を取り出すことができました!
オートフィルで残りのセルにも数式をコピーしておきます。

テーブルにTEXTAFTER関数を設定できた

表がテーブルになっている場合は、残りのセルにも自動的に数式が入るので、オートフィルは不要です。

省略可能な引数について

省略可能な引数

TEXTBEFORE関数も、TEXTAFTER関数も、省略可能な引数は同じです。
今回の例では省略して問題ありませんが、どんな引数なのか気になる方のために、念のため残りの引数の意味も掲載します。

Instance_num区切り文字(今回の場合ならスペース)が複数ある場合は何番目の文字を境にするのか
Match_mode区切り文字の文字と小文字を区別するかどうか(半角と全角ではない)
Match_end末尾に区切り文字があることにして扱うか
If_not_found指定した区切り文字が無い場合に何を表示するか

スピルが使える!

TEXTBEFORE関数のスピルを使う場合の設定

TEXTBEFORE関数と、TEXTAFTER関数は、スピルを使えるので、氏名を姓と名に分けるときにもスピルが使えます。

スピルで氏名から姓を取り出した

ただしスピルは、テーブルには設定できないので、テーブルになっていない表の場合だけ使えます。

スピルで氏名から姓名を取り出した

あくまでも数式を設定するのは先頭のセルだけ。
だけど、引数[Text]に、氏名のセル範囲すべてを指定します。
こうすることで、数式を設定した先頭のセルから溢れ出すように、残りのセルにも数式のゴーストが設定されます!

スポンサーリンク

かつて、こんな後悔のご経験はありませんか?
もっと早くからパソコンを触っておけば...
今まさしく、あの時とは比べものにならない大きな進化が、今まで経験したことのない驚異的なスピードで私たちを巻き込んでいます。
そうです、AIです。
あの時の何倍も何十倍も大きな後悔をしないために、本当に必要な情報とテクニックが手に入る場所、それがBe Cool UsersのAI特化メンバーシップです!

Be Cool Users管理人の略歴・得意なことをまとめました!
お仕事のご依頼も「自己紹介・お仕事のご依頼につきまして」からご連絡くださいませ。
「こんなことできる?」もお気軽にご相談ください。

目次へ
ページ先頭へ