スプレッドシートでデータを扱う際、
✅ 「名前の苗字・名前を分けたい」
✅ 「特定の記号(/ や ,)で区切られたデータから必要な情報を抽出したい」
✅ 「あるキーワードの後に続く内容だけを抜き出したい」
といった状況に遭遇したことはありませんか?
このようなケースで活躍するのが FIND関数(文字の位置を検索) です。
単体で使うよりも、LEFT・RIGHT・MID関数と組み合わせる ことで、柔軟なデータ抽出が可能になります!
LEFT・RIGHT・MID関数の基本的な使い方について詳しく知りたいという方はこちらの記事もおすすめです。
スプレッドシートのLEFT関数 & RIGHT関数 & MID関数をビジネスで活用!データ集計に役立つ文字列抽出の基本スキル
本記事では、業務で使える実例 を交えながら、FIND関数の活用方法を詳しく解説します!
1. FIND関数とは?
FIND関数の基本構文
excelコピーする編集する=FIND(検索文字列, 対象文字列, [開始位置])
引数 | 説明 |
---|---|
検索文字列 | 探したい文字(例:”@”) |
対象文字列 | 検索対象となる文字列 |
開始位置(省略可) | 検索を始める位置(省略すると1から開始) |
単体での使用例
excelコピーする編集する=FIND(" ", A2)
A2セルの 半角スペースが何文字目にあるか を取得します。
💡 しかし、FIND関数単体で使う機会は少なく、通常はLEFT・RIGHT・MID関数と組み合わせて使う方が実用的です!
2. FIND関数を活用した文字列抽出テクニック
✅ ① 名前の苗字・名前を分ける
氏名 | 苗字(姓) | 名前(名) |
---|---|---|
田中 太郎 | =LEFT(A2, FIND(" ", A2) - 1) → 田中 | =MID(A2, FIND(" ", A2) + 1, LEN(A2)) → 太郎 |
鈴木 花子 | =LEFT(A3, FIND(" ", A3) - 1) → 鈴木 | =MID(A3, FIND(" ", A3) + 1, LEN(A3)) → 花子 |
💡 解説
FIND(" ", A2)
で スペースの位置を取得 し、その前を LEFT関数で抜き出す(苗字)。MID(A2, FIND(" ", A2) + 1, LEN(A2))
で スペースの次の文字以降を抜き出す(名前)。
✅ ② 「/」や「,」で区切られたデータから必要な部分を抽出
データ | 必要な部分(3番目の要素) |
---|---|
20240201/有効/東京都/123456 | =MID(A2, FIND("/", A2, FIND("/", A2) + 1) + 1, FIND("/", A2, FIND("/", A2, FIND("/", A2) + 1) + 1) - FIND("/", A2, FIND("/", A2) + 1) - 1) → 東京都 |
💡 解説
FIND("/", A2)
で最初の「/」の位置を取得。FIND("/", A2, FIND("/", A2) + 1)
で2番目の「/」の位置を取得。MID関数
を使って、2番目と3番目の「/」の間の文字列 を取得。
✅ ③ 指定したキーワードの後の文字列を抜き出す
データ | 「区分:」の後の文字 |
---|---|
日付:2024/01/01 区分:有効 内容:不明 | =MID(A2, FIND("区分:", A2) + 4, FIND("内容:", A2) - FIND("区分:", A2) - 4) → 有効 |
💡 解説
FIND("区分:", A2)
で「区分:」が何文字目にあるかを取得し、+4 で「有効」の先頭を取得。FIND("内容:", A2)
で「内容:」の開始位置を取得し、「区分:」からの距離を算出して MID関数で「区分:」の次の値を取得。
3. FIND関数の応用パターン
✅ 「,(カンマ)」で区切られたデータの2番目の要素を取得
データ | 2番目の値 |
---|---|
田中,営業部,東京 | =MID(A2, FIND(",", A2) + 1, FIND(",", A2, FIND(",", A2) + 1) - FIND(",", A2) - 1) → 営業部 |
✅ 郵便番号の上3桁を取得
郵便番号 | 上3桁 |
---|---|
123-4567 | =LEFT(A2, FIND("-", A2) - 1) → 123 |
4. FIND関数の注意点
❌ 大文字・小文字を区別する
FIND("a", "Apple")
→ エラーFIND("A", "Apple")
→ 1
💡 大文字・小文字を区別しない検索には SEARCH
関数を使用
excelコピーする編集する=SEARCH("a", "Apple") → 1
❌ 検索文字が見つからない場合はエラー
FIND("Z", "Apple")
→ #VALUE!(エラー) 💡 IFERRORを組み合わせてエラー回避
excelコピーする編集する=IFERROR(FIND("Z", A2), "なし")
5. FIND関数と他の関数の組み合わせ一覧
使用関数 | 目的 | 例 |
---|---|---|
FIND | 文字の位置を取得 | =FIND("@", A2) |
LEFT + FIND | 特定の文字の前を取得 | =LEFT(A2, FIND("@", A2) - 1) |
RIGHT + FIND | 特定の文字の後を取得 | =RIGHT(A2, LEN(A2) - FIND("@", A2)) |
MID + FIND | 特定の文字の間を取得 | =MID(A2, FIND("-", A2) + 1, FIND("-", A2, FIND("-", A2) + 1) - FIND("-", A2) - 1) |
IFERROR + FIND | エラー回避 | =IFERROR(FIND("Z", A2), "なし") |
✅ まとめ
- FIND関数は「特定の文字が何文字目にあるかを検索」する
- LEFT・RIGHT・MIDと組み合わせて、柔軟な文字列抽出が可能
- メールアドレス、商品コード、住所データなど、さまざまな場面で活用できる
- 大文字・小文字を区別するため、ケースによってSEARCH関数の使用も検討
👉 スプレッドシートの文字列操作をマスターすれば、データ整理や集計の効率が劇的にアップ! 🚀