FIND 関数は別のテキスト値から指定したテキスト値の最初の一致を検索します。指定した文字がテキストに含まれている場合、数値が返されます。この数値は、検索したテキスト値の最初の一致の位置を示しています。

たとえば、FIND を使って特定の商品名を含むアイテムを特定できます。

FIND(Text to find, Text to search [, Starting character])

引数データ型説明
Text to find (必須)テキストText to search 引数で特定するテキスト値
Text to search (必須)テキストText to find 引数のインスタンス内で検索するテキスト値
Starting position数値

検索を開始する位置。スペースもカウントに含まれます。

FIND 関数が返す数値の結果には影響しません。

FIND 関数は結果を数値で返します。

FIND("Ltd.", Companies) 

FIND 関数で Text to find 引数のインスタンスが見つからなかった場合、値 0 が返されます。

FIND 関数では大文字と小文字が区別されます。つまり、Text to search 引数に大文字小文字が異なる Text to find 引数が含まれている場合、FIND 関数は値 0 を返します。

FIND 関数ではスペースがアルファベットや数字と同じ文字として扱われます。

FIND 関数では完全に一致するテキストだけが検索されます。正規表現やワイルドカードなどの検索パターンは使用できません。

FIND 関数に絵文字を使用した場合、関数の結果が間違ったものになる可能性があります。

Polaris では、FIND 関数ですべての Unicode 文字の長さが 1 文字と見なされます。そのため、FIND 関数では正しい開始文字が返されます。

Classic エンジンでは FIND 関数で以下のように長さが考慮されます。

  • 基本多言語面 (BMP) 内の Unicode 文字は 1 文字分
  • BMP 外の Unicode 文字は 2 文字分
  • 複合文字 (例: アクセントや発音区別符がある文字) の長さはコンポーネント数と等しい

この例では、モジュールの列に「Companies」リストがあります。行には二つのライン アイテムがあります。最初のライン アイテムには複数の企業名が含まれています。二つ目のライン アイテムには FIND 関数を使用する式があります。


Company 1Company 2Company 3Company 4
Company NameImperial ABC ltdImperial abc ltdABC ltdCompany ABC

Character that ABC starts at

FIND("ABC", Company Name, 4)

10009

この例では、FIND 関数が 4 番目の文字以降からテキスト文字列 ABC を検索しています。文字列 abc は大文字になっていないため、テキスト文字列 Imperial abc ltd に対して 0 の結果が返されます。ABC は先頭の 4 文字目までに含まれているため、テキスト文字列 ABC ltd に対して 0 の結果が返されます。