Excelでマイナス値だけの平均を別シートから出す方法
実務で頻繁に遭遇する問題の一つが、「特定の条件(例えばマイナス値)を満たすデータだけから平均を計算したい」というものです。手作業で行うと時間がかかる上、ミスも増えるため、ExcelやGoogle スプレッドシートでは関数を使って効率的に処理するのが一般的です。この記事では、別シートにあるマイナス値のみを選んで平均を出す方法を詳しく解説します。
📊 やり方の比較
| 手法 | メリット | デメリット | 推奨 |
|---|---|---|---|
| 数式(FILTER関数) | 条件に応じて自動で抽出・計算 | 古いExcelでは使えない | ◎ |
| マウス操作(フィルタリングと平均計算) | 直感的で簡単 | 元データが消える、手作業でのミスリスクあり | 〇 |
fx 使用する数式
Excel / SpreadSheet
=AVERAGE(FILTER(Sheet2!$A$1:$Z$100, Sheet2!$A$1:$Z$100<0))💡 仕組みの解説
【数式の仕組み】この数式は、別シート(Sheet2)にあるデータからマイナス値だけを抽出し、その平均を計算します。FILTER関数は、指定された範囲内から条件に合致するデータのみを取り出す役割を持っています。ここでは、Sheet2のA1:Z100セル範囲内のすべてのデータに対して「<0」(マイナス値)という条件を設定しています。
次に、抽出されたマイナス値だけの配列に対して、AVERAGE関数が平均を計算します。この方法では、元のデータは変更されず、別セルやシートで新たな結果が出力されます。
具体的な手順
1
別シート(Sheet2)のデータ範囲を指定します。例:A1:Z100
2
FILTER関数を使用して、その範囲からマイナス値だけを抽出します。
3
AVERAGE関数にFILTERの結果を渡し、平均を計算します。
よくある質問
Q Q1. VBAとこの方法、どちらが効率的ですか?
A.
A1. 関数を使用する方が一般的にはより簡単で効率的です。ただし大量のデータ処理や複雑なロジックが必要な場合はVBAの方が適しています。
Q Q2. FILTER関数が使えない古いバージョンのExcelではどうすれば良いですか?
A.
A2. 代わりに、IF関数とSUM関数、COUNT関数を組み合わせてマイナス値だけを選んで平均を計算できます。
Q Q3. スマートフォン版でもこの方法は使えますか?
A.
A3. Google スプレッドシートではスマートフォン版でも使用可能です。Excelのモバイルアプリも最新バージョンであれば対応しています。