EXCEL 関数

2026年9月22日 ・ 読了目安 6分 ・ 実践ファイルなし

内容更新:2026年10月7日 ・ 編集:小さな会社の業務ノート

ExcelのTEXTBEFORE・TEXTAFTER関数で商品コードを分ける方法

「PC-001」のように、分類と連番を一つのセルへ入力していると、分類だけで集計したい場面で困ります。TEXTBEFORE関数とTEXTAFTER関数を使うと、区切り文字の前後を別々に取り出せます。

この記事でわかること
基本の数式 / 使い方 / 注意点

区切り文字の前後を取り出す数式

=TEXTBEFORE(A2,"-")
=TEXTAFTER(A2,"-")

1行目の数式は、A2の最初のハイフンより前を返します。2行目はハイフンより後を返します。区切り記号はハイフンに限らず、スラッシュやアンダースコアも指定できます。

商品コードを分ける手順

  1. A列に「分類-番号」のように、同じ区切り文字で統一したコードを用意します。
  2. B2に =TEXTBEFORE(A2,"-") を入力します。
  3. C2に =TEXTAFTER(A2,"-") を入力します。
  4. 結果が想定どおりなら、必要な行まで数式をコピーします。

区切り文字がないデータが混ざる場合

区切り文字がないセルではエラーになることがあります。入力ルールをそろえるか、見つからない場合の表示を指定する引数を使う方法を検討します。古いExcelではこの関数が使えないため、数式を渡す相手のバージョンも確認します。

見た目ではなく文字を確認します
ハイフンには似た文字が複数あります。全角・半角や長音記号が混ざると、同じように見えても分割できません。入力時の記号を統一します。

確認方法

「事務-012」のような架空コードを一つ入力し、左側が「事務」、右側が「012」になることを確かめます。2個以上の区切り文字があるコードは、どの位置で区切るかも事前に決めます。

コードの例外も含めて3行で確認する

A2へAB-001、A3へCD-002、A4へEF003を入力します。B2へ=TEXTBEFORE(A2,"-")、C2へ=TEXTAFTER(A2,"-")を入れると、ABと001が期待結果です。

A4には区切りがないため、同じ式をコピーすると一致しないエラーになります。元コードを残したまま、区切りの欠落を確認します。先に全部空欄へ置き換えると、入力不備に気付きにくくなります。

さらにAB-001-赤のように区切りが複数ある場合は、最初の区切りで分けるのか、最後の区切りで分けるのかを先に決めます。商品管理番号そのものは文字列として扱い、後半の001を数値1に変える必要があるかも用途に合わせて判断してください。

対応バージョン・公式情報

最終確認日:2026年9月22日
対応バージョン:Excel for Microsoft 365、Excel for Microsoft 365 for Mac、Excel 2024、Excel 2024 for Mac。
Microsoft Support「TEXTBEFORE 関数」

関連記事

本記事は基本操作の解説です。実際の業務データを変更する前に、必ずコピーを作成して確認してください。