みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
初心者で申し訳ありませんが、ご教授いただけますと幸いです。
当方ファイルメーカプロ12を使用しております。
タイトルの通りExcelでいう”SUMIFS”がファイルメーカーで使用できないか考えております。
条件は2つあり、条件となるフィールドと計算結果を出すフィールドは同じテーブルにある状態です。
フィールドに該当年月(同フィールド・文字列)を入力すると別のフィールドに、入力した年月の合計値(同テーブル内に計算用の別フィールドあり)を出したいです。
現在の結果用のフィールドに入っている条件式は、他サイトを参考にしSQLで作成しており
=ExecuteSQL("SELECTSUM(フィールド1)FROM¥”テーブル1¥” WHERE¥”フィールド1¥”=1(フィールド1に1と入力されているもののみ出したい条件一つ目です)”;””;””)
このようになっており、もう一つ月別の条件を加える為”AND"を使用して追加しようとしましたが計算結果に?が出てしまい先に進まなくなってしまいました。
説明が下手で大変申し訳ありませんが、ぜひ教えていただけますと幸いです。
集計機能を使う方法ですが。
フィールド1を合計する集計フィールドを作っておきます。
グローバルフィールドを作ります。それから年月フィールドへ自己リレーションを張ります。
リレーション先の集計フィールドを配置し、グローバルフィールドに年月を設定すれば,合計が求められます。
Offline
>Shin様
ご回答いただきありがとうございます。
そちらのやり方で計算しようと思います。
蛇足ですが、集計フィールドを作成せず、結果フィールドのみで出す方法などはありますでしょうか?
もう一つ月別の条件を加える為”AND"を使用して追加しようとしましたが計算結果に?が出てしまい.....
SQLクエリが間違っているのだから、それを提示してみては。
Offline
SQLクエリが間違っているのだから、それを提示してみては。
ご返信いただきありがとうございます。
以下の構文で作成いたしました。
集計する元データテーブルには「年月フィールド」、「フィールド1(合計したい値)」
計算結果を表示したテーブルには「該当年月フィールド」、「計算結果を出すフィールド」が存在しています。
=ExecuteSQL("SELECTSUM(フィールド1)FROM¥”テーブル1¥” WHERE¥”フィールド1¥”=1(フィールド1に1と入力されているもののみ出したい条件一つ目です)AND ¥"該当年月フィールド¥"=¥”年月¥"(条件2つ目の該当年月で指定するものです)”;””;””)
実際に書いているSQLクエリの載せないとエラー箇所がわかりません。
Offline
FROM句に¥”テーブル1¥”しか入れてないのだから、そのテーブルのフィールド名しか書けませんよ。
こうじゃないですか。
ExecuteSQL("SELECT SUM(\"フィールド1\") FROM ¥”テーブル1¥” WHERE ¥”フィールド1¥”=1 AND ¥”年月¥"=?”;””;””;該当年月フィールド)
しかし、「フィールド1に1と入力されているもののみ」の合計なら、合計というより件数ですね。
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 555.77 KiB (Peak: 579.3 KiB) ]