Notice: 関数 _load_textdomain_just_in_time が誤って呼び出されました。cocoon ドメインの翻訳の読み込みが早すぎました。これは通常、プラグインまたはテーマの一部のコードが早すぎるタイミングで実行されていることを示しています。翻訳は init アクション以降で読み込む必要があります。 詳しくは WordPress のデバッグをご覧ください。 (このメッセージはバージョン 6.7.0 で追加されました) in /home/xs182025/consulting-campus.site/public_html/wp-includes/functions.php on line 6114
TEXTAFTER/TEXTBEFORE関数が使えない場合の代用 | CONSULTING CAMPUS

TEXTAFTER/TEXTBEFORE関数が使えない場合の代用

alternatives-for-textafter-and-textbefore エクセル
この記事は約6分で読めます。
スポンサーリンク

本記事では、TEXTAFTERTEXTBEFORE関数が使えない一部のExcelバージョンで、既存の関数のみを使って同様の機能を代用する方法を紹介します。RIGHT関数やLEFT関数などの基本的な関数のみを使った方法について解説しています。

本記事で実装する処理
processes-in-article
スポンサーリンク

結論

[対象テキスト]特定の部分を抜き出したい文字列及びセル範囲[区切り文字]その前後を抜き出すための文字及びセル範囲をご自身で設定してください。

  • TEXTAFTER関数の代用
    =RIGHT(対象テキスト, LEN(対象テキスト)-SEARCH(区切り文字, 対象テキスト))
  • TEXTBEFORE関数の代用
    =LEFT(対象テキスト, SEARCH(区切り文字, 対象テキスト)-1)

代用する関数の解説

それぞれの関数が使えない場合、大まかなイメージとして、次にような代用が可能となります。

  • TEXTAFTER関数: 指定した区切り文字側→RIGHT関数
  • TEXTAFTER関数: 指定した区切り文字側→LEFT関数
イメージ解説

以下で、TEXTAFTERTEXTBEFOREそれぞれ解説します。

TEXTAFTER関数が使えない場合の代用数式

TEXTAFTER関数が使えない場合、RIGHTSEARCHLENの3つの関数を使用して代用することができます。おおまかな流れとしては、RIGHT関数で区切り文字以降の文字を文字数から指定して取得する流れになります。こちらのセクションではステップごとに各関数を解説しています

まず、SEARCH関数を使用して区切り文字の位置番号を取得します。SEARCH関数は一つの文字列の中で別の文字列が最初に現れる位置を返します。ここでは、対象テキストの中で区切り文字が最初に現れる位置を返します。

LEN関数で文字列全体の長さを取得

次に、RIGHT関数で区切り文字より右側の文字列を取得するための事前ステップとして、文字列全体の長さを取得します。LEN関数は文字列の文字数を返す関数です。

RIGHT関数で区切り文字の後の文字列を取得

最後に、区切り文字の後の文字列を取得します。ここでは、RIGHT関数を使用して”_”以降の文字列取得しています。RIGHT関数は文字列の右端から指定された数の文字を抽出します。

  • 構文
    RIGHT(文字列, 文字数)
  • ステップごとの出力結果
    =RIGHT(B1, LEN(B1)-SEARCH("_", B1))
    =RIGHT("2022年度_売上ファイル.xlsx", 18-7))
    =RIGHT("2022年度_売上ファイル.xlsx", 11))
    ="売上ファイル.xlsx"
  • 参考
    RIGHT 関数、RIGHTB 関数 – Microsoft サポート

TEXTBEFORE関数が使えない場合の代用数式

TEXTBEFORE関数が使えない場合、LEFTSEARCHの2つの関数を使用して代用することができます。おおまかな流れとしては、LEFT関数で区切り文字以前の文字を区切り文字の位置-1で取得する流れになります。こちらのセクションではステップごとに各関数を解説しています

まず、TEXTAFTER同様にSEARCH関数を使用して区切り文字の位置番号を取得します。SEARCH関数は一つの文字列の中で別の文字列が最初に現れる位置を返します。ここでは、対象テキストの中で区切り文字が最初に現れる位置を返します。

2. LEFT関数で区切り文字から左側の全文字列を取得

次に、区切り文字の左側、つまり、区切り文字の位置番号-1の分だけLEFT関数で文字列を抽出します。最終的に、”2022年度”という文字列が得られる結果となります。LEFT関数は文字列の左端から指定された数の文字を抽出します。

  • 構文
    LEFT(文字列, 文字数)
  • ステップごとの出力結果
    =LEFT(B1, SEARCH("_", B1)-1)
    =LEFT("2022年度_売上ファイル.xlsx", SEARCH("_", "2022年度_売上ファイル.xlsx")-1)
    =LEFT("2022年度_売上ファイル.xlsx", 6)
    ="2022年度"
  • 参考
    LEFT 関数、LEFTB 関数 – Microsoft サポート

TEXTAFTER/TEXTBEFOREを使用したエクセルの処理

今回代用方法をご紹介したTEXTBEFORE/TEXTAFTER関数ですが、当サイトでは下記のような処理をご紹介しています。非常に便利なため、該当部分を今回ご紹介した方法に置き換えて使用してみてください。

TEXTAFTER関数の記事紹介
TEXTAFTER/TEXTBEFORE関数が使えない場合の代用
【エクセル】ファイル名を自動で取得しセルに表示する【マクロ不要】
エクセルで現在のシート名を取得しセルに表示する【コピペで簡単】

TEXTAFTER関数を使用している全記事の一覧はこちらからご確認いただけます。

TEXTBEFORE関数の記事紹介
TEXTAFTER/TEXTBEFORE関数が使えない場合の代用
【エクセル】ファイル名を自動で取得しセルに表示する【マクロ不要】

TEXTBEFORE関数を使用している全記事の一覧はこちらからご確認いただけます。

おわりに

以上が、TEXTAFTER/TEXTBEFORE関数を代用する方法のご紹介になります。

ご質問やご不明点などがありましたらお気軽にコメントお待ちしております。

ご精読いただきありがとうございました。

コメント

タイトルとURLをコピーしました