【MID × FIND × SUBSTITUTE】関数コンボ、n番目の文字を狙い撃ち!

関数コンボ道場

💥使うシーンと目的

タスク
タスク

「文字列の中に『-』や『/』が何回も出てくるんやけど、2つ目以降を基準に切り出したい!」
「例えば A01-B24-C56 から、真ん中の B24 だけ取りたい!」
こんな“複数出現する区切り文字”を相手にするなら、
この【MID × FIND × SUBSTITUTE】コンボが最適や!

ジッピー
ジッピー

SUBSTITUTEで“n番目の文字を特殊文字に置換”して、それをFINDで探すんや!
MIDでズバッと切り抜きやな!


🔍 今回の関数:MID・FIND・SUBSTITUTE

ジッピー
ジッピー

MIDが切り取り担当、FINDが場所探し、SUBSTITUTEが文字置き換え担当や!

MID関数

👉 文字列の一部を、指定した位置と長さで切り出す。

MID関数って、“文字の中から一部を抜き出すテキスト職人”や!


FIND関数

👉 文字列内で特定文字の位置を返す。

FIND関数って、“文字の位置を見つける文字探偵”や!


SUBSTITUTE関数

👉 文字列内の一部を置換できる。第4引数を指定すると「n番目だけ」を置換できるのが強み。

SUBSTITUTE関数って、“特定の文字をそっくり差し替える置換職人”や!


📊 実際のコンボ:

タスク
タスク

「セルA2の文字列 A01-B24-C56 から真ん中の B24 を抜き出す」このようにハイフンとハイフンの間を狙い撃ちしたい場合は、
=MID(A2,FIND(“~”,SUBSTITUTE(A2,”-“,”~”,1))+1,
     FIND(“~”,SUBSTITUTE(A2,”-“,”~”,2)) –
     FIND(“~”,SUBSTITUTE(A2,”-“,”~”,1)) -1)
こう書く!


  1. SUBSTITUTE(A2,"-","~",1) → 1つ目の「-」を「~」に置換
    → FINDで位置を取得(先頭の区切り位置)
  2. SUBSTITUTE(A2,"-","~",2) → 2つ目の「-」を「~」に置換
    → FINDで位置を取得(次の区切り位置)
  3. MIDで2つの位置の間を切り出す
    → 結果「B24」

図解:MID × FIND × SUBSTITUTE


タスク
タスク

なるほど!SUBSTITUTEの「n番目だけ置換」を応用するわけやな!
これで2個目・3個目の区切りでもバッチリ抜ける!

ジッピー
ジッピー

そや!まるで“指定のドミノだけ倒す”みたいな芸当や!
ピンポイント爆撃やな💣✨


⚠️よくあるミスや落とし穴

  • SUBSTITUTEの第4引数を忘れると「全部置換」される
  • FINDで見つからなかった場合はエラーになる(区切り数不足に注意)
  • MIDの長さ計算で「-1」を忘れると余計に1文字くっつく

🌟応用コンボ

  • MID × FIND × SUBSTITUTE × LEN → 末尾まで切り出す応用
  • MID × FIND × SUBSTITUTE × SEARCH → 大文字小文字を区別せず位置検索
  • MID × FIND × SUBSTITUTE × TEXT → 抜き出した部分を見やすくフォーマット

🎯まとめ

ジッピー
ジッピー

1回目、2回目、3回目…と区切り文字を狙い撃ち!
SUBSTITUTEでマーキング → FINDで場所特定 → MIDで切り抜き!
まさにコンボ技やな!

コメント

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