« 【CTP】リニアとかキャリブレーションとか。色々聞いた事うろ覚えメモ | トップページ | 【XAMPP】【MySQL】WindowsでMySQLモニタを起動と初期設定【コマンドプロンプト】 »

2010年7月17日 (土)

【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

|

« 【CTP】リニアとかキャリブレーションとか。色々聞いた事うろ覚えメモ | トップページ | 【XAMPP】【MySQL】WindowsでMySQLモニタを起動と初期設定【コマンドプロンプト】 »

コメント

間違った書き方して迂回するための方法を考えてるところでした
助かりました( ^ω^)おっおっおっ

投稿: 榎本俊二 | 2012年8月27日 (月) 00時00分

PatternCountよりも
フィールドAの内容が多い時は
Positionの方が速い場合があるょ(^_^;

投稿: | 2012年10月 1日 (月) 04時16分

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 【Filemaker】ORやANDの書き方とか。あとPatternCount関数:

« 【CTP】リニアとかキャリブレーションとか。色々聞いた事うろ覚えメモ | トップページ | 【XAMPP】【MySQL】WindowsでMySQLモニタを起動と初期設定【コマンドプロンプト】 »