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開発記事

墓掃除システム

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

葬儀システム

葬儀プランを構成する複雑な商品・サービスのすべてをシステム上で一元管理。受付から施工・請求までスムーズに対処できます。タブレット活用により、誰でも簡単にプラン見積が可能に。

修理受付システム

修理受付から請求までの業務を一元管理。Web予約連動、クレジット請求連動などの業務を効率化します。ほか顧客履歴、部品在庫管理、発注リストなどあらゆる関連業務に対応しています。

栽培管理システム

栽培管理システム とは、植物工場 での野菜栽培において、膨大なデータを一括管理できるシステムです。高品質な野菜を栽培するために必要なあらゆる情報を見える化し、業務効率向上を図ります。

その他の記事

IsEmpty について

IsEmpty は、フィールド内が空欄、またはエラーが発生した場合は真(1)を返す関数で、様々なシーンで便利に使うことができます。

関数 Int について

Intは、小数点以下を無視した整数部分を返す関数です。数字関数 Int の活用方法をご紹介します。