FileMaker

お役立ちブログ

大文字小文字の違いを判定する Exact 関数

FileMakerの基本的な検索機能は、大文字小文字や半角全角の区別をせずに検索結果を出します。
このFileMakerの仕様は、ざっくりと同じ文字列を調べたいときには便利な仕様です。ところが、もしユーザが「大文字小文字を区別して検索したかったのだけれど……」と考えている場合は、標準検索だけでは目的の文字列を検索することができません。もっと厳密に大文字小文字・半角全角を決めて検索したいことも、きっとありますよね。
それでは、「大文字小文字混じり」で「半角」のレコードだけを取り出したい時には、どうすればよいのでしょう。
(例: “SevenKids” を検索したいけれど、”SEVENKIDS” や “sevenkids” は除外したい、という場合)
そんな時には、Exact〔イグザクト〕関数が便利です。
Exact関数は、公式ヘルプでは以下のように紹介されています。

Exact
2 つのフィールドの内容が一致する場合は「1」(真) を返します。それ以外の場合は「0」(偽) を返します。
構文
Exact (テキスト ; 比較テキスト)
例1
Exact (“McDonald” ; “McDonald”) は、「1」(真) を返します。

 

そして、”SevenKids” “Sevenkids” “SEVENKIDS” “sevenkids” “SevenKids” といった文字列が異なるレコードの同じフィールドに格納されているとき、このExact関数を使えば、”SevenKids” のレコードだけが真の値「1」を返すというわけです。

// フィールド「格納テキスト」に、値 “SevenKids” が格納されている場合…
Exact ( 格納テキスト ; “SevenKids”)
=>[処理結果] 1 //「真」と判定されている
Exact ( 格納テキスト ; “SEVENKIDS”)
=>[処理結果] 0 //「偽」と判定されている

このExact関数は、基本的には計算フィールドやスクリプトの中でしか使えないため、レイアウト上で行う通常の検索のほどには手軽に扱えません。ですが、たとえば「ほかでもない “SevenKids” という文字列がある時だけ、これこれの処理を実行したい」と、If文やCase関数での分岐処理をつくりたい場合は、このExact関数の厳密な仕事ぶりが、きっと力になってくれるはずです。

参考:
FileMaker Pro 19 ヘルプ: レコードの検索>レコード内のテキストの検索
https://help.claris.com/ja/pro-help/content/finding-text.html
(2022-04-14閲覧)

FileMaker Pro 19 ヘルプ: 関数リファレンス>テキスト関数>Exact関数
https://help.claris.com/ja/pro-help/content/exact.html
(2022-04-14 取得)

FileMaker開発記事

墓掃除システム

墓地管理、墓地清掃、供花管理など、定期的な作業を標準化。煩雑な業務作業の見える化を可能にするシステムです。

顔パス受付システム

AIサーマルカメラとFileMakerとの連動による新型受付システムです。
顔認証で体温測定と受付を同時に完了、会員登録の手間も不要に。学習塾などでは入退出時に親へメール自動送付サービスもつけられます。

受発注システム [EC-CUBE連携]

受発注業務をEC-CUBEと連携する事により、顧客情報と受注情報それぞれの入力を自動化。その後の各種事務手続(伝票作成・郵送業務・売上レポート作成等)すべても同時に効率化するツールです。

CRM 顧客管理システム

顧客の現状を俯瞰し、商談状況を一望、そして営業成績を向上させる……企業が顧客との関係をより深く把握し、戦略的に顧客へアプローチすることが可能になるシステムです。

その他の記事

SerialIncrementについて

今回は、指定された値に含まれるテキストと数字の組み合わせを指定された量だけ数字を増分して返す、SerialIncrementについてです

Positionについて

今回は、特定のテキストの場所を指定し値を取り出たい時に活用できる、Position関数のご紹介です。