ユーザー定義関数で成績評価の関数
マクロ講座44回
Select Casesuステートメントで作るユーザ定義関数
評価付を簡単にするユーザ定義関数
普段何気なくしていることを、便利なユーザー定義関数にしてみます。
商品の売上コンテストや、学校でのテストの成績などで、評価をつけることがあります。
評価付簡単にするためにSelect Casesuステートメントを使ったユーザー定義関数を作ります。
また応用として、お買上金額ごとに値引率を設定するユーザー定義関数もIf~Then~Else ステートメントを使って作成しましょう。
(サンプルファイルは、こちらから 2013マクロ講座42回サンプルデータ)
便利なユーザ定義関数 評価づけの関数
サンプルでは、以下の成績一覧にA~Eの5段階評価をつけます。
ユーザ定義関数をシートで入力すると以下のようになります。
=hyouka(B2)
=hyouka(B2)
ユーザ定義関数を作るには、VBEエディターを起動し、Functionプロシージャの構文にそってコードを入力します。
今回の評価付けのユーザー定義関数では、
Select Casesuステートメントを利用します。
評価付けのユーザー定義関数コードは、以下のようになります。
このコードを標準モジュールにペーストするか、記入するかすれば、使うことができます。コード自体は、簡単なのでいろいろと応用もできますね。
Function hyouka(tensu As Variant) As String Select Case tensu Case Is >= 80 hyouka = "A" Case Is >= 70 hyouka = "B" Case Is >= 60 hyouka = "C" Case Is >= 50 hyouka = "D" Case Else hyouka = "E" End Select End Function
お買上金額ごとに値引率を設定するユーザー定義関数
応用例として、お買上金額ごとに値引率を設定するユーザー定義関数を考えましょう。
もし、~ならば、○○ という構文、If~Then~Else ステートメントを使います。
もし、~ならば、○○ という構文、If~Then~Else ステートメントを使います。
bargenという名前のユーザー定義関数を作成します。引数は売上でSalesとします。コードは、以下のようになります。
Function bargen(Sales_V As Variant) As Variant If Sales_V < 1000 Then bargen = Sales_V * 0.03 ElseIf Sales_V >= 1000 And Sales_V < 3000 Then bargen = Sales_V * 0.06 ElseIf Sales_V >= 3000 And Sales_V < 5000 Then bargen = Sales_V * 0.09 ElseIf Sales_V >= 5000 Then bargen = Sales_V * 0.15 End If End Function
=bargen(B2)と入力すると、割引金額が表示されます。
今日の講義は以上です。お疲れ様でした。