FileMakerで複雑な計算式を書いていると、「どこを直せばいいのか分からない」「ちょっと変更したいだけなのに、式全体を読み直さないと不安になる」といったことはないでしょうか。そんなときに役立つのが Let関数 です。Let関数を使うと、長くなりがちな計算式をスッキリ整理でき、あとから見直すのもとても楽になります。
Let関数とは?かんたんなイメージ
Let関数は、「一時的なメモ」を作ってから計算するイメージの関数です。
たとえば、ある計算の途中で何度も同じ値を使いたいとき、普通に書くと同じ式を何度も繰り返すことになります。ですがLet関数で「この値に名前をつけておく」と、式を短く・分かりやすく書けます。
ざっくりした形は次のようになります。
Let (
[ 変数1 = 計算1 ;
変数2 = 計算2
] ;
ここに最終的な計算式を書く
)
最初の [ ] の中で「一時的なメモ(変数)」を用意し、その下に「最終的な計算」を書く、という構成です。
Let関数を使うと何がうれしい?
Let関数を使うメリットを、分かりやすいポイントに絞って紹介します。
- 計算式が短くなる
長い式を何度も繰り返し書かなくてよくなります。 - 意味が伝わりやすくなる
「変数名」に分かりやすい名前を付けることで、「これは何の値か」がひと目で分かります。 - 修正がしやすくなる
計算の元になる式を変えたいとき、Letの中の1か所を直すだけで済む場合が多くなります。 - 処理が速くなる場合もある
同じ計算を何度も繰り返さないので、処理の回数が減り、その分、動きが軽くなることがあります。
具体例:税込金額を計算してみる
シンプルな例として、「税抜金額から税込金額を出す」計算を考えてみます。
たとえば、次のような計算式を書いているとします。
税抜金額フィールド * 1.1
これでも問題はありませんが、消費税率を変えたいときには、式の中の「1.1」を見つけて直す必要があります。また、別の計算式でも同じように「1.1」を使っていると、全部探し直さないといけません。
ここでLet関数を使うと、次のように書けます。
Let (
[
税率 = 0.1 ;
税込係数 = 1 + 税率
] ;
税抜金額フィールド * 税込係数
)
この形にしておくと、消費税率を変える場合も、税率 = 0.1 のところを直すだけで済みます。
また、「税率」「税込係数」という名前から役割が分かるので、あとから見たときにも理解しやすくなります。
少し複雑な例:割引+消費税を整理する
もう少しだけ複雑な例を見てみましょう。次の条件で「最終金額」を出したいとします。
- 「単価 × 数量」で小計を出す
- 割引率(0〜1)があれば、小計から割引する
- 最後に消費税をかけて、税込金額にする
Let関数を使わずに書くと、次のように長い式になりがちです。
( 単価フィールド * 数量フィールド -
(単価フィールド * 数量フィールド * 割引率フィールド)
) * 1.1
これをLet関数で整理すると、次のようにスッキリします。
Let (
[
小計 = 単価フィールド * 数量フィールド ;
割引後金額 = 小計 - (小計 * 割引率フィールド) ;
税率 = 0.1 ;
税込係数 = 1 + 税率
] ;
割引後金額 * 税込係数
)
このように段階を分けて名前を付けることで、計算の流れがはっきりします。
「小計 → 割引後金額 → 税込金額」という流れが、見ただけで分かります。
Let関数の基本的な書き方とポイント
Let関数を使うときの、基本的なルールと注意点をまとめます。
1. 変数は「[ ]」の中に並べて書く
複数の変数を使いたいときは、次のように ; (セミコロン)で区切って書きます。
Let (
[
変数1 = 値1 ;
変数2 = 値2 ;
変数3 = 値3
] ;
最終的な計算
)
最後の変数のあとにも、セミコロンを付けておく書き方もよく使われます。
2. 変数名は「意味が分かる名前」にする
変数名は、なるべく中身がイメージできる名前にするのがおすすめです。
- OK例:
小計、税込金額、割引率 - あまりおすすめしない例:
a、x1など意味が分からないもの
あとから自分や他の人が見たとき、「これは何の数字だっけ?」とならないようにしておくと、ミスを減らせます。
3. Letの中で計算した変数は、外では使えない
Let関数で作った変数は、そのLet関数の中だけで有効です。
別のスクリプトステップや別の計算式からは参照できません。「その計算の中だけの一時的なメモ」と考えておきましょう。
計算式の整理術:Let関数を使うタイミング
「どんなときにLet関数を使えばいいか分からない」という場合は、次のような場面を目安にしてみてください。
- 計算式が1行で書くと長くなってしまうとき
- 同じ計算を式の中で2回以上使っているとき
- IF関数やCase関数が入り組んで、何をしているか分かりにくくなっているとき
- 他の人と計算式を共有する必要があるとき
ひとまず、「ちょっと長いな」「ちょっとややこしいな」と感じたら、Let関数で分けて書けないか検討してみるとよいでしょう。
FileMakerでLet関数を入力する手順
Let関数を実際に入力する流れを、簡単にまとめておきます。
- 計算式を設定したいフィールドやスクリプトステップで、「計算式の指定」ボタンをクリックする
- 計算式ダイアログの「関数」の一覧から「Let」を選ぶ
- 関数のテンプレートが挿入されるので、
変数と式の部分を、自分の計算内容に合わせて書き換える - 必要に応じて改行やインデント(タブ)を使い、見やすい形に整える
- 「OK」を押して保存し、動作を確認する
特に、改行やインデントで見た目を整えるだけでも、計算式の読みやすさはかなり変わります。長いLet関数を書くときほど、きれいに整えることを意識してみてください。
まとめ:Let関数で「読める計算式」を目指そう
Let関数は、FileMakerの計算式を整理して読みやすくするための強力な道具です。
むずかしい関数というよりは、「段取りよく計算するためのメモ帳」と考えると、ぐっと使いやすくなります。
- 一時的なメモ(変数)に名前を付けて、計算式を分かりやすくできる
- 式の重複を減らし、修正しやすくなる
- 長い式や複雑な条件分岐も、段階に分けて整理しやすくなる
最初は小さな計算からで構いません。よく使う計算式をひとつ選んで、Let関数で書き直してみてください。その便利さが実感できるはずです。