変数を条件式に使うときの注意点

入力パラメータの形式をチェックする
https://xoblos.hatenablog.jp/entry/2022/05/13/152353

上記の記事で、業務変数「年月」の長さをチェックする条件式で、
    LEN("$(val:年月)")=6
のように、業務変数の値 $(val:年月)ダブルクォート"」で挟んでいる理由を解説します。

3桁(3文字)の部門コードがあり、業務変数(入力パラメータ)から取得するとします。
    LEN($(val:部門コード))=3
という条件式で長さが3文字かを判定すると、入力された部門コードが「120」ならばOKとなりますが、「020」ならばNG(3文字でない)となります。

これは、ExcelのLEN関数(文字列の文字数を返す)が、与えられた値が数値だった場合
は一旦数値を文字列に変換し、前ゼロがとれて評価されていると思われるからです。
次が、Excelでセルに入力してみたときの結果。

    =LEN(120) → 3
    =LEN(020) → [ENTER] → =LEN(20) → 2
    =LEN("020") → 3

このため、
    LEN($(val:部門コード))=3
ではなく、
    LEN("$(val:部門コード)")=3
のように、業務変数の値 $(val:部門コード) をダブルクォート「"」で挟んで指定します。

逆に、変数を数値として条件判定に使う場合は、ダブルクォート「"」で挟んではいけません。業務変数(入力パラメータ)のケースとして解説しましたが、作業変数、項目名変数を指定する場合も、同様の注意が必要です。