• ベストアンサー

関数について

運賃の支払いで、1日の走行距離で加算するようになっておりその場合の関数の使い方をご指導願います。 例 100km未満の場合 基本料金1000円 100km以上130kmの場合 600円加算 130km以上180kmの場合 800円加算 180km以上210kmの場合 900円加算 210km以上250kmの場合1000円加算以上の条件の場合 とりあえず全てに対して基本料金1000円は前払いしてます。  走行距離の報告が来た時点で、上記の加算単価を別途支払っています。支払う対象が多いため、上記表から追加単価を見て入れることに時間を要します。どういう関数を使いどう式を入力すればよいかご指導を  報告km/日一覧が仮に   125km   150km   111km   182km   220km   111km   以上の報告の場合を例にご指導願います。

質問者が選んだベストアンサー

  • ベストアンサー
  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

加算じゃなくて・・・私なら、料金テーブルを作成して 0 1000 100 1600 130 2400 180 3300 210 4300 と料金テーブルを作成して =VLOOKUP(参照セル,参照テーブル範囲,2) と、作成します 料金改定などを考えると、多分こちらの方が良いかと思うのですが・・・

akizou
質問者

お礼

VLOOKUPとISERRORを組み合わせ加算のためのテーブルを作成しました。 ありがとうございました。

その他の回答 (3)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

#3です。 A4となってました。A1ですね。訂正します。 =IF(A1>0,(A1-210>=0)*1000+(A1-180>=0)*900+(A1-130>=0)*800+(A1-100>=0)*600,0)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

報告KmがA1以下にあるとしてB1以下に加算分を表示するなら B1に =IF(A4>0,(A4-210>=0)*1000+(A4-180>=0)*900+(A4-130>=0)*800+(A4-100>=0)*600,0) といれて、下まで引っ張って式をコピーしてください。 もし、基本料金も含めて出したいなら、 =IF(A1>0,(A1-210>=0)*1000+(A1-180>=0)*900+(A1-130>=0)*800+(A1-100>=0)*600+1000,0)です。 なお、250km以上は条件に無かったので加算していません。 100km未満以外は、未満表示がありませんでしたが、左側が以上なので右側の数字は未満と判断しました。

回答No.2

一番単純なのはifをネストしてつくるのがよいのでは? =1000+if(■>=250,-1000, if(■>=180,900, if(■>=130,800, if(■>=100,600,0 )))) この場合250kmを超える場合はエラーとして0を返します。

akizou
質問者

お礼

事例を基に上記の事例で式を作りましたら確かに加算額が算出でき大変勉強になり、ありがとうございました。私の事例なり、質問の仕方が悪く、実際はもっと条件が細かく分かれており、条件式を追加で入力していきますと途中で式の入力ができなくなりました。式の入力には何か制限があるのですか?

関連するQ&A