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

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

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

CRM 顧客管理システム

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

栽培管理システム

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

墓掃除システム

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

その他の記事