KLWPでよく使う「IF」関数をうまく使うコツを覚えよう

2021/01/01

klwp
KLWPにおいてよく使用されるとても便利な「IF」関数。指定した条件の通りに反映させたいときに使われますが、この関数をうまく使えるかどうかで自由度が違ってきます。
カスタマイズの幅を広げるために、IF関数を使うコツを覚えておくといいでしょう。

IF関数について

エクセルなどの表計算と同じように「IF」関数で条件を指定することができ、KLWPでは「$」で囲む記述をします。
KLWPにおけるIF関数の構文は次のとおり。
$IF ( 論理式 , 真の場合の処理 , 偽の場合の処理 )$
論理式には条件が入り、その条件に合った場合と、そうでない場合の処理を指定します。
「,偽の場合の処理」は省略可

論理式の条件と書き方

条件の対象になる要素の「式」に演算子を組み合わせたものが論理式になります。
条件には「=」(等しい)、「<」(より小さい)、「>」(より大きい)、「<=」(以下)、「>=」(以上)、などの演算子を使用します。

例えば、【 バッテリー残量が30%以下なら 】という条件の場合は、バッテリー残量を表示する式の「bi(lebel)」の後に、「30以下」の条件を組み合わせた
【 bi(lebel)<=30 】
が論理式になります。

以上を踏まえて【 バッテリー残量が30%以下なら赤、そうでない場合は白 】という、色を変える条件の数式を完成させると次のようになります。
赤のカラーコード:#FF0000
白のカラーコード:#FFFFFF
$if(bi(level)<=30,#FF0000,#FFFFFF)$
30%以下なら「赤」になり、そうでない場合は「白」なので、普段は「白」というのが想像できると思います。


では【 バッテリー充電中なら「充電中」と表示し、そうでない場合は表示しない 】という場合はどうでしょう。
この場合はバッテリーの充電状態を表す「bi(charging)」の関数を利用します。
充電中は「1」の値を返してくるので、
【 bi(charging)=1 】
が「充電中なら」という論理式になります。
$if(bi(charging)=1,"充電中","")$
テキストを記述する場合はダブルクォーテーションで囲み、何も表示しない(空白)にする場合は「" "」とします。

複数の条件を指定する

論理式には複数の条件を指定することもできます。
エクセルなどの【 なおかつ~ 】を意味する「AND」は【 & 】を、【 または~ 】を意味する「OR」は【 | 】を使用して複数の条件が指定できます。
【 & 】は複数条件すべてを満たしているかどうか、【 | 】は複数条件のいずれかに該当しているかどうか、という意味の論理式。これらの条件はいくつでも追加できます。

以下は3つの条件を指定した例です。この場合、「&」の指定なので3つの条件を満たしていたら真の処理をし、ひとつでも満たしていなければ偽の処理が行われます。
$if(条件1 & 条件2 & 条件3,真の処理,偽の処理)$
エクセルなどで使う関数の記述方法とは若干異なるので、知っている場合は少々戸惑うかもしれません。

論理式の考え方

IFは「もし‥」という意味の英語なので、 【 もし radio_button_unchecked check_box_outline_blank なら 】 という考え方が論理式に当てはまります。
対象となる要素の関数が無くても、別の角度からアプローチすることで可能になる場合もあります。考え方しだいですが、いろいろなアイデアを発見しましょう。

IF関数を記述する場所

IF関数は【 真の場合の処理 】を行いたい要素の数式エディタに記述します。
上記説明の2つの例では先述が「色」、後述は「テキスト」が記述先になります。

また、「色」のような要素では数式エディタを有効にする必要があります。その場合は要素の右側にあるチェックBOXにチェックを入れ、上部に出現した【 計算機 】アイコンをタップすることで有効になります。数式エディタを使用したい場合の操作なので覚えておきましょう。