マイツール便利技

SIM命令中に条件計算を行う


MWM編集局


 

SIM(シミュレーション)命令は、データ行の下に(ED(エディット)命令を使って)計算式を書いておくと、データの変更と計算が行えるコマンドです。
次の図(21〜25行目)のような計算式を用意すると、SIM命令実行後、販売数量を再入力するだけで、消費税も含めて売上額の再計算が行えます。

「売上目標を達成するためには、どの得意先に、どのくらいの数量を販売すればいいか」が、データを見ながら検討できます。

また、販売個数に応じて値引率を設定しているような場合は、条件計算が必要になりますが、CNC命令を使わなくても、SIM計算式に条件式を組み込むことで、販売数量に合せて値引率を変えた再計算が行えます。

 

今回は、上記の表に値引き額と請求額の列を追加して、SIM計算式に条件計算式を組み込んでみます。

 

1.

元表に、値引き額と請求額の列を、IC命令を2回実行して追加します。

  IC[Enter]
  8[Enter]     (8列目の前に列を追加)
  10[Enter]    (桁数は10桁)
  値引額[Enter] (項目名は「値引額」)
  [ESC]       (IC命令を終了)

  IC[Enter]
  9[Enter]     (9列目の前に列を追加)
  10[Enter]    (桁数は10桁)
  請求額[Enter] (項目名は「請求額」)
  [ESC]       (IC命令を終了)

 

2.

ED命令で、SIM計算式に、次のような計算式を追加します。

  0=@値引額,@数量<50:            (数量が50未満の場合は、値引きなし)
  @小計*0.05=@値引額,@数量=>50: (数量が50以上の場合は5%値引き)
  @小計*0.1=@値引額,@数量=>100: (数量が100以上の場合は10%値引き)
  @小計−@値引額=@請求額:      (小計から値引額を引いて、請求額を求める)

また、「@小計+@消費税=@合計金額:」の式を次のように変更します。

  @請求額+@消費税=@合計金額:  (請求額に消費税を足して、合計金額を求める)

今回のSIM計算式は、列指定を「@項目名」で行っています。
「@項目名」で列指定しておくと、列番号(C5,C6等)の指定と違って、列を追加・削除して列番号が変わっても、項目名を基準とするため、計算式を書き換える必要がなくなります。
この例では、総計の結果を求めるのに「LH+L(T−1)=/LT,@小計−@合計金額:」と指定しているため、途中に列が追加されても、式の変更は行わずに済みます。
これを「LH+L(T−1)=/LT,7−9:」と、列番号で指定していた場合は、「LH+L(T―1)=/LT,7−11:」に変更しないと、合計金額の列まで計算できません。
また、「@項目名」で指定しておくと、どの部分を計算しているのか理解しやすくなり、式変更の際にも便利です。

「LH+L(T−1)=/LT,7−9:」の「LH」は、先頭行(6行目)を指します。
「LT」は、最終行(この例では、19行目)を指します。
また、「L(T−1)」は、最終行のひとつ手前の行(この例では、18行目)を指します。
T・Hの指定については、・補足をご覧ください。

 

3.

SIM命令を実行して、変更したSIM式で再計算します。

  SIM[Enter]
  [Enter][Enter][Enter][Esc]  (データは変更せず再計算のみ行う)

 

再計算が行われ、数量に合せて値引き額が求められます。

今回のような簡単な条件であれば、SIM式に条件計算式を組み込むことで、SIM命令を中断することなく再計算が行えます。

 

・補 足

 

@・¥を使った行・列指定

SIM命令の計算式や命令実行中に行・列を指定する際、行番号・列番号の代わりに、項目名・データの先頭に@・¥を付けて、行・列を指定できます。

次のような表で、命令や計算式で@・¥を付けて行・列指定すると、下の表のようになります。

命令 通常の指定 @・¥を使った指定
DC命令 DC:1[Enter] DC:@品名[Enter]
DL命令 DL:6[Enter] DL:¥A[Enter]
計算式 C2*C3=C4[Enter] @数量*@単価=@金額[Enter]
L6+L8=/L9[Enter] ¥A+¥C=/¥合計[Enter]
行・列番号の変わりに使える文字
計算式や命令実行中に行・列を指定する際、次の英文字を使って、条件に当てはまるものだけを指定できます。
指定 内  容
先頭の行(列)
最後の行(列)
すべての行(列)
データ行中のすべての横ケイ線(DL命令)
すべての縦ケイ線(DC命令)
現在のファイルで最初の空きページ(W・WB命令)
指定した行(列)の中から、一部の列(行)を対象から除外する
使用例
指定 使用例 内  容
LH+L10=/L11[Enter] 先頭行から10行目までを足して、11行目に結果を表示
L6+L10=/LT[Enter] 6行目から10行目までを足して、最終行に結果を表示
DL:[Enter] すべてのデータ行を削除する
DC:K[Enter] すべての縦ケイ線を削除する
W:B[Enter] 最初の空きページに画面のデータを書込む
L6+L8=/LT,N3[Enter] 6行目から8行目までを足して、最終行の3列目以外に結果を表示

 


MUG Web Magazine

前のページに戻る