0o0dグッ

【Filemaker】ORやANDの書き方とか。あとPatternCount関数

【Filemaker】ORやANDの書き方とか。あとPatternCount関数

最近、脱ExcelしてFilemakerでお小遣い帳をつくろうとウダウダやってますが、orとか適当に使ってたら、間違ってた。 あと、中々便利なPatternCount関数についてもメモ。
orとandの書き方とか

基本的に、「条件1 論理演算子 条件2 論理演算子 条件3・・・」の形で書いていく。
(条件と論理演算子の間には半角スペースを入れる) 例えば、「フィールドAが「あああ」かフィールドBが空白の時」というふうにしたいなら
フィールドA="あああ" or フィールドB=""

「フィールドAが「あああ」かつ、フィールドBが空白の時」というふうにしたいなら
フィールドA="あああ" and フィールドB=""

条件が複数あるならそれを全部、論理演算子でつなげていけばおkなはず
フィールドA="あああ" or フィールドB="" or フィールドC="abc" フィールドD >100

「フィールドAが「あああ」か空白の時」は
フィールドA="あああ" or フィールドA=""

とします。
ちなみに自分は下記のように書いて、全く計算してくれず「なんでだー」とかなってた。
フィールドA="あああ" or ""

前の条件は「フィールドA」が「あああ」と分かるけど、後ろの条件は「空白」としか書いてないので、Filemaker的には「空白がどうした?どこのフィールドの話?」状態な訳で、計算してくれません。
冷静に考えるとおかしいの分かるんですが、適当にやってるとダメですなー

Excelだと or(A1="あああ" , C11 >21 ,D5=""abc) という書き方なので、Filemakerでもそうやって書いてた。
すると、条件2コまでだと普通に計算してくれるんだが、条件3つ以上にすると「引数が多いです」(だったかね?)とか言われた。
あれーと思いつつそのまま条件2コのor使ってましたが、andの場合、Excelの書き方だと計算してくれず。
それで、やっとググって正しい書き方を知りましたw

引数としては使えないのか、例えば
「フィールドAに「あああ」か「いいい」の文字列がある場合、「あ行」と返し、それ以外は空白とする」としたい場合
if(PatternCount( フィールドA; "あああ" or "いいい") ; "あ行" ; "" )

だと計算してくれない。
下記のように書かないとだめぽ
if(PatternCount( フィールドA; "あああ") or PatternCount( フィールドA; "いいい") ; "あ行" ; "" )

間違った方の書き方だと、条件に入れたい文字列がたくさんあってもスッキリ!と思ったんだが、そうは問屋が卸さずでしたorz
PatternCount関数

if文とかの条件で「フィールドに指定した文字が含まれてる場合」ってのをしたかったので色々ググって見たところ、上の例えで使ったPatternCountを発見。
公式ヘルプによると

目的

テキスト> に、< 検索テキスト>で指定された文字列がいくつ含まれているのかを返します。
構文
PatternCount ( テキスト ; 検索テキスト )
とある。
なんか違うのかも・・・と更にググって見つけたPatternCountで… /みんなで助け合おう!初心者のFileMaker pro Q&Aを読んでみると、

PatternCountはテキストのどこかに存在していれば、つまり部分一致すると YES になるので
と書いてある。
これはなかなか便利そうな関数なので覚えておく事にする。

【参考サイト】
任意の文字の抽出方法 /みんなで助け合おう!初心者のFileMaker pro Q&A


http://mosinoma.cocolog-nifty.com/blog/2010/07/filemakerorand-.html