【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
| 固定リンク
この記事へのコメントは終了しました。
コメント
間違った書き方して迂回するための方法を考えてるところでした
助かりました( ^ω^)おっおっおっ
投稿: 榎本俊二 | 2012年8月27日 (月) 00時00分
PatternCountよりも
フィールドAの内容が多い時は
Positionの方が速い場合があるょ(^_^;
投稿: | 2012年10月 1日 (月) 04時16分