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

栽培管理システム

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

CRM 顧客管理システム

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

墓掃除システム

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

マイページ機能

FileMakerとWebサイトとの連携で、顧客との円滑なやり取りが可能となるほか、業務効率の改善にも繋がります。

その他の記事

SerialIncrementについて

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