FileMaker

お役立ちブログ

【FileMaker関数解説】Let × Listでさらに見やすく!

✅ はじめに

前回の記事では「Let関数で計算途中を見える化し、デバッグを効率化する方法」をご紹介しました。
今回はその続編として、List関数と組み合わせることで、さらに見やすく・実務的に活用できる方法を解説いたします。

Letで「計算の意図を明確化」し、Listで「結果を整理して表示」することで、
式の構造を視覚的に把握でき、エラー特定や仕様確認が格段にスムーズになります。

⭐️ Let × List の組み合わせが有効な理由

  • Let関数 … 中間計算に意味のある名前をつけて整理できる

  • List関数 … 結果を縦に並べ、途中経過をひと目で確認できる

この2つを組み合わせることで、
「どの段階で値が想定と異なっているか」をすぐに確認できるようになります。

💡 基本例:ラベル付きで途中結果を表示する
🔹 もっとも実務で使いやすいのは、各値にラベルを付けて出力する方法です。

Let (
[
  単価 = 商品::単価 ;
  数量 = 商品::数量 ;
  小計 = 単価 * 数量 ;
  税込 = Round ( 小計 * 1.1 ; 0 )
] ;
  List (
    “単価:” & 単価 ;
    “数量:” & 数量 ;
    “小計:” & 小計 ;
    “税込:” & 税込 
  )
)

=出力結果=
単価:1000
数量:3
小計:3000
税込:3300

このように表示されることで、

「どの値が意図とずれているのか」をすぐに確認できます。 
🧪 応用①:Substituteで1行に整形し、ログとして出力

🔷 複雑な条件分岐(IF や CASE)を含む計算でも、Let × List は非常に便利です。

Let (
  [
    合計 = Sum ( 明細::小計 ) ;
    割引 = 明細::割引合計 ;
    税込 = Round ( 合計 * 1.1 ; 0 ) ;
    raw = List ( “合計:” & 合計 ; “割引:” & 割引 ; “税込:” & 税込 )
  ] ;
   Substitute ( raw ; ¶ ; “, ” )
)

=出力例=
合計:5000, 割引:500, 税込:4950

→ スクリプトログや外部ファイルに書き出す際には、改行をカンマ区切りに整形すると扱いやすくなります。
→この形式にすれば、外部システムとの連携やログ分析にもそのまま活用できます。

🧪 応用②:デバッグ用フィールドとして表示する

開発中は、計算途中の値をそのまま確認できるように「デバッグ専用フィールド」を用意するのも効果的です。

  • 計算式に Let × List を設定しておく

  • テスト時のみレイアウト上に表示

  • 不具合が発生した場合、表示内容をスクリーンショットで共有

本番運用時にはレイアウトから非表示にすれば、安全に管理できます。

💎実務での主な活用シーン
  • 金額計算の途中経過確認(単価・数量・小計・税込など)

  • 条件判定の検証(CASE文・AND/OR条件の確認)

  • スクリプトログやCSV出力の整形

  • 開発時の検証用フィールド/QA報告時の添付情報

📌使用時のポイント
  1. 変数名は意味のある日本語で設定すると読み返しやすい

  2. List内の順序は重要度に応じて並べ替える

  3. 本番環境ではデバッグ用出力を非表示にする

  4. 数値には RoundNumToJText などで表記ブレを防止する

  5. 他関数に渡す場合は改行(¶)の扱いに注意する

 

✨まとめ

Letで「途中計算を整理」し、Listで「見やすく並べる」。
それだけで、複雑な計算式の理解・検証・共有がぐっとスムーズになります。

Let × List の組み合わせは、開発者だけでなく
チーム全体の「確認コスト」を下げる非常に有効なテクニックです。
ぜひ、日々の開発・運用の中に取り入れてみてください。

参考:
リファレンス>関数リファレンス>論理関数>Let
https://help.claris.com/archive/fm19/ja/pro-help/content/let.html

その他の記事

関数 Int について

Intは、小数点以下を無視した整数部分を返す関数です。数字関数 Int の活用方法をご紹介します。