内服薬の調剤料をEXCELで計算できるようにしてみましょう。
▼上部のセルに日数を入力すると下部のセルに内服薬の調剤料が表示されます。
このブログを書いてくうえで調剤料の計算をちょこちょこするのでその時に使っている自分専用のツールです。
普通の方にはあまり実用的な用途はありませんが、薬局でエクセル使えると便利だからエクセルの練習にはちょうどいいかもしれない。
今回はIF関数しか使ってません。IF関数だけでも使えるようになるとできることは沢山あるのでIF関数の使い方だと思ってみてください。
関数を入れる前に内服調剤料の点数ルールだけ確認しておきましょう。
内服薬の調剤料
1~7日目1日分につき5点
8~14日目1日分につき4点
15~21日分の場合71点
22~30日分の場合81点
31日分以上の場合89点
これだけですね。
このルールすべてを関数に組み込んであげます。
14日以下の場合が少し面倒で、例えば13日分だとしたら「7日分×5点+6日分×4点」で59点です。
では、
使用している式です。画像にも関数が表示されていますね。
「=IF(B22<8,B22*5,IF(B22<15,(B22-7)*4+35,IF(B22<22,71,IF(B22<31,81,89))))」
あんまりキレイな式じゃないけど、いちおうこれで計算できます。
IF関数の使い方
通常は「=IF(条件式,真の場合,偽の場合)」みたいな感じで使います。
いちどに、全部を関数に組み込むとわからなくなるので条件を一行ずつ組み込んでいこう。
とりあえず「1~7日目1日分につき5点」ここから見ていこう。
これは簡単ですね。
「=IF(日数<8,日数*5,"")」
わかりやすくするために「日数」としましたがここは変動するので本来は日数を入力するセル番号をいれます。画像通りにするなら「日数」のとこには「B22」といれてください。
まず、条件式が「日数<8」だから「もし日数が8より小さければ・・・」という場合わけになります。
もし日数が8よりも小さければ「日数×5点」を表示して、もし8以上なら「""」つまり空白を表示します。
ダブルクオーテーション2回「""」は空白の意味です。
いまのままだと8より小さい場合はうまく計算できますが、8以上の数字を入力すると空白になってしまいます。
そこで、今度は8以上の場合というところで、またIF関数を入れて細分化してみましょう。
今度は、15日より小さいときです。
ただ8よりも小さいときはすでに定義されているので15日より小さい時というのはつまり、
8~14日分のときを意味しますね。
「=IF(日数<15,(日数-7)*4+35,"")」
こんな感じになります。
たとえば日数に9日をいれると(9-7)×4+35で43点であってそうですね。7日分までは1日5点だから7日分の35点を別で足すのがミソ。
これをさっきの「=IF(日数<8,日数*5,"")」に組み込みます。「""」を差し替えるだけですね。
「=IF(日数<8,日数*5,IF(日数<15,(日数-7)*4+35,""))」これで14日分以下の場合は定義できました。
しかし、このままでは15日分以上は「""」空白ですね。
だから、更に「""」のところに「IF関数を組み込みます。」
組み込んで行く関数はさっきと同じ感じですね。
15~21日分の場合71点:IF(日数<22,71,"")
22~30日分の場合81点:IF(日数<31,81,89)
31日分以上の場合89点
こんな感じでどうでしょう?
IF(日数<31,81,89)で、31日未満なら81点で、それ以外つまり31日以上は89点になりますね。
これを偽の部分「""」に突っ込んであげると、最終的に、
「=IF(B22<8,B22*5,IF(B22<15,(B22-7)*4+35,IF(B22<22,71,IF(B22<31,81,89))))」こうなります。
これで完成です。
説明ヘタですみません。読み直したら自分でも全然理解できない(笑)
他にもエクセル関連の記事けっこう書いてますので参照下さい。