文字列入門
FIND関数を見て理解する
文字列の中から指定した文字列を探し、最初に見つかった開始位置を返す関数です。
3つのポイント
- 探したい文字列を指定する
- 検索する対象文字列を指定する
- 見つかった開始位置を番号で返す
開始位置を指定して文字列を探す
サンプル数式
- 検索文字列
- 対象文字列
- 開始位置
この教材では、ExcelとGoogle スプレッドシートで文字数・位置の扱いが一致する範囲を対象にしています。一部の絵文字や特殊文字は対象外です。これは教材側の対応範囲であり、ExcelやGoogle スプレッドシート自体のエラーを示すものではありません。
文字位置(番号は1から。検索では見つかった開始位置を示します)
- 1: A
- 2: B
- 3: C
- 4: a
- 5: b
- 6: c
- 7: A
- 8: B
- 9: C
いまの結果:
先頭行:
入力・条件:3項目
- 検索文字列B2:「ABC」
- 対象文字列A2:「ABCabcABC」
- 開始位置C2:2
対象文字列が見つかった文字位置を求めました。
サンプルデータ
※ Excel と Google スプレッドシートで結果や挙動が異なる場合、Excel の仕様を基準にしています。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 対象文字列 | 検索文字列 | 開始位置 | 結果 |
| 2 | 7 |
B2、A2、C2に値を入力すると、結果と処理順が変わります。
3つの引数
色付きの丸数字は、サンプル数式と引数ガイドで同じ引数を示しています。表にも同じ番号があれば、その引数で指定しているセルを示します。
B2表のセル: B2探したい文字列です。この例ではB2の「ABC」を検索します。
A2表のセル: A2検索対象となる文字列です。この例ではA2の「ABCabcABC」を使います。
C2表のセル: C2何文字目から検索を始めるか指定します。この例では2文字目から検索します。
この数式を日本語にすると
A2の「ABCabcABC」を2文字目から検索し、大文字・小文字を区別して次に現れる「ABC」の開始位置7をD2に表示します。
この説明は、最初に表示されているサンプルデータをもとにしています。入力値を変更しても説明文は変わりません。
処理の流れ
手順1〜4を順番に確認しましょう。表内の小さな角丸数字は、対応する手順を示します。
検索文字列を確認する
B2検索文字列: ABC
対象文字列を確認する
A2対象文字列: ABCabcABC
開始位置を確認する
C2開始位置(省略時1): 2
大小文字を区別して位置を探す
D2結果は7です。D2に表示します。
対応アプリ
- Excel
- Google スプレッドシート
関数自体が対応するアプリです。教材例の数式や再計算が、両アプリで同じように動くことを保証するものではありません。
この例の注意点
- FINDは大文字と小文字を区別して検索します。
- 開始位置を指定すると、その位置以降だけを検索します。
- 検索文字列が見つからない場合や、開始位置が0以下または対象文字列の長さを超える場合は#VALUE!になります。
- FINDでは*や?をワイルドカードとして扱わず、通常の文字として検索します。
一般構文
対応:Excel / Google スプレッドシート ・ 構文:引数名に差あり
Excel
=FIND(find_text, within_text, [start_num])[] は省略できる引数です。
省略時
start_num→ 1省略すると、1文字目から検索します。
Google スプレッドシート
=FIND(search_for, text_to_search, [starting_at])[] は省略できる引数です。
省略時
starting_at→ 1省略すると、文字列の1文字目から探します。
公式資料・確認範囲
公式資料
- Microsoft Excel 公式構文
- Google スプレッドシート 公式対応状況・構文・省略時の扱い
未確認
計算結果・入力の扱い・エラー・配列展開
次に学ぶ関数
MID
見つかった位置の次は、その位置から文字を取り出します。
次に学ぶ