ハイフンの次の2文字だけ取り出したい…
ハイフンで結合された文字列の「2個目以降」を抽出したい…
こうした場面で困るのが、文字列の扱いです。
「客先フォーマットに合わせて整形しておいて…」
そんな一言で、手作業だと何時間もかかる作業になりますよね。
👉 そんな経験、誰しも一度はあるはずです。
そこでこの記事では、文字列関数を使いこなせない初心者でも
理解できる文字列抽出関数の使い方をまとめました。
コピペですぐ使える実務例も紹介しているので、そのまま使えます。
文字列操作関数一覧
文字列を操作できる関数を用途別にまとめました。
特にこの表は、そのままExcelに貼って保存などしておくと、実務でかなり役立ちます。
| 関数名 | できること | 代表的な書き方 | 実務での用途 |
|---|---|---|---|
| LEFT | 左から文字を取り出す | =LEFT(A1, 3) | コードの頭3桁を抽出、部署コード切り出し |
| RIGHT | 右から文字を取り出す | =RIGHT(A1, 4) | 年度(2024)だけ抜き出す、商品番号末尾抽出 |
| MID | 指定位置から文字を取り出す | =MID(A1, 2, 3) | 型番の真ん中部分だけ抜く、日付文字列の月だけ取る |
| LEN | 文字数を数える | =LEN(A1) | 桁数チェック、入力ミス検出 |
| FIND | 指定文字の位置を検索(大文字区別) | =FIND("-", A1) | 「-」の位置を探して分割に使う |
| SEARCH | 指定文字の位置を検索(大文字区別なし) | =SEARCH("abc", A1) | 部分一致検索、文字列の含有チェック |
| REPLACE | 指定位置の文字を置き換える | =REPLACE(A1, 2, 3, "XYZ") | 型番の一部を別コードに差し替え |
| SUBSTITUTE | 指定文字を別の文字に置き換える | =SUBSTITUTE(A1, "-", "") | ハイフン除去、不要文字の一括削除 |
| CONCAT / TEXTJOIN | 複数文字列を結合する | =TEXTJOIN("-", TRUE, A1:A3) | 氏名+部署名を結合、住所結合 |
| TRIM | 余分なスペースを削除 | =TRIM(A1) | コピペデータのスペース除去 |
| CLEAN | 印刷不可文字を削除 | =CLEAN(A1) | Webコピーの文字化け対策 |
| UPPER | 大文字に変換 | =UPPER(A1) | 英字コードの統一 |
| LOWER | 小文字に変換 | =LOWER(A1) | メールアドレスの整形 |
| PROPER | 単語の頭文字を大文字に | =PROPER(A1) | 名前の整形(Taro Yamada) |
| TEXT | 数値を文字列として整形 | =TEXT(A1, "0000") | 0012 のようなゼロ埋め |
| VALUE | 文字列を数値に変換 | =VALUE(A1) | 数値として計算できるようにする |
このように、文字列操作には複数の関数がありますが、
まずは「抽出」に関係する基本関数を例を見ながら解説していきます。
1. LEFT関数|左側の文字列を抽出する方法
構文
=LEFT(文字列, 文字数)
使用例
=LEFT(A1,4)
→ 左から4文字を取得
例
「20260421_売上データ」から年だけ取り出す
=LEFT(A1,4)
→ 結果:2026
2. RIGHT関数|右側の文字列を抽出する方法
構文
=RIGHT(文字列, 文字数)
使用例
=RIGHT(A1,3)
→ 右から3文字を取得
例
「商品コード_ABC」からコードを抽出
=RIGHT(A1,3)
→ 結果:ABC
3. MID関数|途中の文字列を抽出する方法
構文
=MID(文字列, 開始位置, 文字数)
使用例
=MID(A1,5,3)
→ 5文字目から3文字を取得
例
「2026-04-21」から月を抽出
=MID(A1,6,2)
→ 結果:04
なぜ「6」なのか?
「2026-」で5文字あるため、その次(6文字目)が月の開始位置になります。
実務レベル|文字列抽出はここが本番
さあ、ここからが本番です。
実務ではこんなデータを区切ってほしいなど実際にあります。
そこで、以下のコードを使って分解していきます。
・A3596-R00-59862
そこで、コードを解説しながら、ハイフンで区切られた文字列を3つに分けて抽出していきます。
① A3596(1つ目の要素)を取り出す仕組み
■使用する式
=LEFT(A1, FIND("-", A1)-1)
【解説】LEFT関数がどう動いているか
FIND(“-“, A1)
→ 最初のハイフン「-」の位置を探す
→ この文字列では 6文字目 にある
LEFT(A1, 6-1)
→ 左から 5文字 を取り出す
→ A3596
なぜ -1 するの?💡ココポンイント
ハイフンそのものは含めたくないから。
「ハイフンの直前まで」を取りたいので、位置から1引く。
② R00(2つ目の要素)を取り出す仕組み
■使用する式
=MID(A1, FIND("-", A1)+1,FIND("-", A1, FIND("-", A1)+1) - FIND("-", A1) - 1)
【解説】MID関数がどう動いているか
- 開始位置を決める
コード
FIND(“-“, A1)+1
最初のハイフンの「次の文字」から始めたいので +1
→ 最初のハイフンは6文字目
→ 開始位置は 7文字目(R) - 終了位置(長さ)を決める
コード
FIND(“-“, A1, FIND(“-“, A1)+1)
これは「2つ目のハイフンの位置」を探している。
最初のハイフン位置:6
その次から検索 → FIND(“-“, A1, 7)
2つ目のハイフンは 10文字目
- 長さを計算
コード
10(2つ目のハイフン) – 6(1つ目のハイフン) – 1 = 3
つまり「R00」の3文字を取り出す。
③ 59862(3つ目の要素)を取り出す仕組み
■使用する式
=RIG0HT(A1, LEN(A1) - FIND("-", A1, FIND("-", A1)+1))
【解説】RIGHT関数がどう動いているか
- 文字列全体の長さを調べる
コード
LEN(A1)
→ 「A3596-R00-59862」は 15文字 - 2つ目のハイフンの位置を探す
コード
FIND(“-“, A1, FIND(“-“, A1)+1)
→ 2つ目のハイフンは 10文字目 - 右側の文字数を計算
コード
15(全体) – 10(2つ目のハイフン) = 5
つまり、右から 5文字 を取り出す
→ 59862
図解イメージ(超重要)コード
A 3 5 9 6 – R 0 0 – 5 9 8 6 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
↑ ↑
① LEFT:1〜5文字目 → A3596
② MID:7〜9文字目 → R00
③ RIGHT:11〜15文字目 → 59862
6,10文字目はハイフンとなっています。
💡まとめ
Excelの文字列抽出は難しそうに見えますが、やっていることはシンプルです。
「位置」と「文字数」を決めているだけ。
すべての処理はこの組み合わせでできています
- LEFT:左から取る
- MID:途中を取る
- RIGHT:右から取る
- FIND:位置を特定する
- LEN:文字数を数える
つまり、実務で本当に使うのはこのあたりです。
- LEFT関数
- MID関数
- RIGHT関数
- FIND関数
- LEN関数
これが理解できれば、
商品コードの分解
日付の切り出し
ファイル名の整形
といった作業は一瞬で終わります。
💡 最後に一言
まずは自分の業務で使えそうな文字列関数から取り組んでみましょう!


コメント