📘 Excel逆引き事典

ExcelでQUERY関数を使って土日・祝日の平均を出す方法

データ分析の際に、特定の日にち(例えば土日や祝日)に基づいて平均値を出すことはよくあります。手作業で行うと時間がかかるだけでなく、ミスが起こりやすいです。この記事では、QUERY関数を使用してExcel/Google スプレッドシートで簡単に土日・祝日のデータから平均値を抽出する方法を詳しく解説します。また、マウス操作での代替案も紹介し、それぞれのメリットとデメリットを比較します。

📊 やり方の比較

手法メリットデメリット推奨
数式(QUERY関数)自動更新され、複雑な条件にも対応可能QUERY関数を使用するため、少し難易度が高い
マウス操作(フィルタリング)直感的で簡単。Excelの基本機能を活用できる手動更新が必要。大量データの場合、効率が悪い

fx 使用する数式

Excel / SpreadSheet
=QUERY(A2:B10, "SELECT AVG(B) WHERE A MATCHES '土日|祝日' LABEL AVG(B) ''", 0)

💡 仕組みの解説

【数式の仕組み】この数式は、データ範囲A2:B10から「土日」または「祝日」という文字列を含む行のみを選択し、その平均値を計算します。具体的には、QUERY関数の第1引数にデータ範囲を指定し、第2引数でSQL文風のクエリを記述します。「SELECT AVG(B)」はB列の平均値を取得、「WHERE A MATCHES ‘土日|祝日’」(Excel)または「WHERE A CONTAINS ‘土日’ OR A CONTAINS ‘祝日’」(スプレッドシート)はA列に「土日」という文字列が含まれる行を選択します。なお、この数式は元データを削除するのではなく、別の場所に抽出した平均値のみを表示します。

具体的な手順

1
QUERY関数を使用する場合、まずデータ範囲を指定します(例:A2:B10)
2
「SELECT AVG(B)」と記述し、B列の平均値を計算するように指示します。
3
「WHERE A MATCHES ‘土日|祝日’」(Excel)または「WHERE A CONTAINS ‘土日’ OR A CONTAINS ‘祝日’」(スプレッドシート)と記述し、A列に「土日」という文字列が含まれる行を選択します。
4
最後に、「LABEL AVG(B) ‘’」を追加してラベルを非表示にします。

よくある質問

Q Q1. QUERY関数とVLOOKUP関数との違いは?

A.
A1. QUERY関数は複雑なクエリを指定できる一方、VLOOKUP関数は特定の値を検索するためのシンプルな機能です。

Q Q2. スピルエラーとは何ですか?

A.
A2. スピルエラーは、QUERY関数などで結果が広範囲にわたる場合に出ます。データ範囲を指定することで解消できます。

Q Q3. スマホ版でも使える?

A.
A3. QUERY関数はExcelとGoogle スプレッドシートの両方で使用可能ですが、スマホ版では表示が狭くなる可能性があります。