VBAでAVERAGEIF関数を使う【Excel-備忘録#6】

Excel

 今回はVBAでAVERAGEIF関数を使う方法をざっくり説明します。VBAに関しては、前回の内容もあわせてご覧いただければと思います。

筆者のPCはMacなので、読者の皆様の環境とは、若干の違いがあるかとは思います。
ご了承ください。

はじめに

 Excelシートの状態は下のような状態です。A列にグループ(Gr.)、B列に点数(point)とします。

 今回はグループを入力するとそのグループのみの平均値が表示されるマクロを作ります

コードと実行結果

コードは下のようになります。

 Sub aveif()  
    Dim group As String
    Dim pointAve As Double
         
    group = InputBox(" Select Group ")
    
    pointAve = Application.WorksheetFunction.AverageIf(Range("A2:A13"), group, Range("B2:B13"))
    MsgBox " " & group & " Average : " & pointAve & " "
    
 End Sub

上のコードを書いた状態で下の画像の赤丸部分を押します。

すると、メッセージボックスが出てきますので、グループA、B、Cから選んで入力してOKを押します。なお、大文字と小文字の区別はありませんが、Excelシートに書いてあるグループ以外を入力すると、エラーが出ますのでご注意ください

OKを押すと、下の画像のようにグループBのみの平均値が表示されます。

OKを押せば、表示が消えます。

最後に

 今回はVBAでAVERAGEIF関数を使う方法を紹介しましたが、条件が複数あるときはAVERAGEIFS関数も同じように使うことができます。

なお、MacでVBAを記述していると、うまく入力ができない場合や日本語を記述するとエラーが出る場合があります。解決方法はわからなかったので、今回は半角英数で記述しました。

以上、VBAでAVERAGEIF関数を使う方法でした。

前回まとめた記事も読んでもらえると嬉しいです!

他記事のご紹介

当ブログではさまざまな記事を投稿しています。最近は初心者向けのIoT開発に関する記事がジリジリと人気が出ています。

本ページはプロモーションが含まれています。

スポンサーリンク
Excel
T-Kをフォローする

コメント

タイトルとURLをコピーしました