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

VBE(VBA)の起動方法とマクロを書く場所 for Mac【Excel-備忘録#2】
ExcelでVBE(Visual Basic Editor)を起動し、標準モジュールを挿入する方法を紹介しています。Excelを使う上で、VBAを使うことがある方には必見の記事です。

VBAでVLOOKUP関数を使う【Excel-備忘録#3】
VLOOKUP関数は、複数あるデータの中から条件に合うデータを取り出す関数です。この記事では、VBAでVLOOKUP関数を実行する方法を具体的なコード例を交えて解説しています。
筆者の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開発に関する記事がジリジリと人気が出ています。
コメント