エクセルで平均を出したいのに、対象セルが一列に並んでおらず、飛び飛びに点在していて困った経験はないでしょうか。集計表や週次・月次レポートでは、合計だけでなく平均値の算出が欠かせません。
しかし、離れたセルを毎回マウスで選択したり、式を手入力で並べたりするとミスの原因にもなります。
この記事では、エクセルのAVERAGE関数を中心に、飛び飛びのセル範囲から正確かつ効率的に平均を計算する方法を、最新のエクセル機能も交えながら詳しく解説します。
目次
エクセル 平均範囲 とびとび の基本的な考え方
まずは、「エクセル 平均範囲 とびとび」というテーマの前提となる考え方を整理します。
エクセルで平均を計算するとき、多くの人は連続した範囲、例えば A1:A10 のような縦一列や横一行のデータを対象にします。しかし実務では、目的のデータが同じ列に並んでいるとは限りません。A2、A5、A9 のように飛び飛びに存在することがよくあります。
このような場合でも、適切な関数や指定方法を使えば、手作業で電卓を叩くことなく、エクセル上で正確な平均値を求めることができます。
ここで重要なのは、平均を出したいセルの指定方法と、空白セルやゼロの扱いです。
同じ「飛び飛びのセルの平均」でも、空白を無視したいケース、ゼロも含めたいケース、条件に合うデータだけを対象にしたいケースなど、集計ロジックによって使う関数や式が変わります。
この章では、後の具体的な操作に入る前段階として、飛び飛び範囲を扱う際の基本的なイメージをつかんでおきましょう。
飛び飛びのセル範囲とは何か
飛び飛びのセル範囲とは、エクセルのシート上で連続していないセルの集合を指します。例えば、A2、A4、A7 のように間に別のセルを挟んでいる場合や、A2 と C5 と F10 のように列も行も離れている場合です。
通常の範囲指定では A2:A7 のように開始セルと終了セルをコロンで指定しますが、飛び飛びのセルを指定するには、セルや範囲をカンマで区切って列挙します。
たとえば、=AVERAGE(A2,A4,A7) や =AVERAGE(A2:A3,C5:D5) のように書くと、連続範囲と飛び飛びのセルを組み合わせて平均を求めることができます。
このとき、どのセルが「対象になっているのか」を式から読み取れるようにしておくことが、メンテナンス性とエラー防止の観点で非常に重要です。
エクセルにおける平均の計算ルール
エクセルで代表的な平均計算は AVERAGE 関数です。この関数は指定した数値の合計を、数値の個数で割った値を返します。
ポイントは、空白セルは自動的に無視される一方で、ゼロは有効な数値として平均に含まれるというルールです。
たとえば 10、20、空白、0 の4つを指定した場合、AVERAGE は「10、20、0」の3つで平均を計算します。
また、文字列やエラー値が含まれていると、そのセルは計算から除外されるか、場合によってはエラーの原因になります。
飛び飛び範囲では、つい余計なセルまで選択してしまいがちなので、どのセルが数値として認識されるのかを理解しておくとトラブルを避けられます。
より柔軟に条件付きで平均を計算したい場合は、AVERAGEIF や AVERAGEIFS、さらには AGGREGATE 関数などの利用も検討します。
飛び飛び範囲の平均を扱う場面の具体例
飛び飛びのセル範囲の平均は、実務のさまざまな場面で登場します。例えば、毎週の売上から特定の週だけをピックアップして平均を出したい場合、隔週で実施している施策の効果を比較したい場合、部署ごとに離れた位置に配置された数値を平均したい場合などです。
また、表のレイアウト上、部門やカテゴリが横に並び、同じ行の異なる列に対象の数値が散らばることもよくあります。
このようなレイアウトを前提に、毎月のレポートで平均を更新する場合、セルを一つずつ指定し直すのは非効率です。
適切な範囲指定や構造化参照、名前の定義などを組み合わせることで、飛び飛びのセル範囲であっても、再利用しやすくミスの少ない平均計算の仕組みを構築できます。
AVERAGE関数で飛び飛びのセルの平均を出す基本操作

飛び飛びのセル範囲の平均を求めるうえで、最初に身につけたいのが AVERAGE 関数の基本操作です。
AVERAGE 関数はエクセルで最もよく使われる統計系関数のひとつであり、連続範囲にも飛び飛びのセルにも柔軟に対応できます。
ここでは、マウス操作とキーボード入力の両方から、飛び飛びのセルを正しく指定して平均を計算する手順を、具体的な例を交えて解説します。
また、AVERAGE 関数を使う際にありがちなミス、例えば「余計なセルを含めてしまう」「数式が長くなりすぎて管理できない」といった問題への対処方法も整理します。
この章を理解すれば、最低限の手間で離れたセルを平均するための土台が身につきます。
AVERAGE関数の基本構文と動作
AVERAGE 関数の基本構文はシンプルで、=AVERAGE(数値1, 数値2, …) という形式です。
数値の部分には、直接数値を入力することも、セル参照や範囲指定を使うこともできます。
例えば =AVERAGE(A2:A10) のように連続範囲を指定するのが最も基本的な使い方です。
飛び飛びのセルに対しては、=AVERAGE(A2,A5,A9) のように、セル参照をカンマで区切って列挙します。
複数の連続範囲を混在させることも可能で、=AVERAGE(A2:A4,C2:C4,E2:E4) のように書くと、3つの離れた範囲に含まれる全ての数値をまとめて平均できます。
関数に指定できる引数の数には上限がありますが、通常の業務用途では上限を超えることはほとんどありません。
マウスで飛び飛びセルを選択するコツ
飛び飛びのセルをマウスで選択する場合は、Ctrl キーを併用するのがポイントです。
AVERAGE 関数を入力し、最初のセルや範囲をドラッグで選択したあと、Ctrl キーを押しながら次に追加したいセルや範囲をクリックまたはドラッグします。
これを繰り返すことで、離れた複数の範囲を一つの引数リストとして指定できます。
このとき、Ctrl キーを離してしまうと、直前までの選択が解除されてしまうので注意が必要です。
また、飛び飛びの範囲が多くなると、数式バーの中身が長くなり、後から見直すのが難しくなります。
同じパターンの集計を繰り返す場合は、マウス選択だけに頼らず、表の構造やセルの配置を見直し、可能であれば連続範囲で指定できるようにレイアウトを工夫することも重要です。
複数範囲を1つのAVERAGEでまとめる例
実務では、複数のブロックに分かれた数値を、1つの AVERAGE 関数でまとめて平均したい場面がよくあります。
例えば、売上表で 1月〜3月が A列、4月〜6月が C列、7月〜9月が E列にあるような場合、上半期と下半期の平均をそれぞれ求めたいときは、=AVERAGE(A2:C2,E2:E2) のような書き方が可能です。
さらに、縦方向にも横方向にも飛び飛びになっている場合、=AVERAGE(A2,B5,D3,F7) のように、個別セルを列挙することもできます。
ただし、このような式は修正の際にミスを招きやすいため、セル範囲に意味のある名前を付けてから、=AVERAGE(上期売上, 下期売上) のように記述すると、可読性とメンテナンス性が大きく向上します。
空白・ゼロ・エラーを含む飛び飛び範囲の平均で注意すべきポイント

飛び飛びのセル範囲で平均を計算するときに見落としがちなのが、空白セルやゼロ、エラー値の扱いです。
AVERAGE 関数は一見便利ですが、どのような値をカウントし、どの値を無視するのかという内部ルールを理解していないと、意図しない平均値になってしまう可能性があります。
特に、統計データや業績評価に関わる数値では、ゼロを含めるかどうかの方針によって結果が大きく変わることがあります。
この章では、エクセル標準の挙動を整理しつつ、「空白を無視したい」「ゼロを除外したい」「エラーがあっても集計したい」といったニーズに応えるための実践的なテクニックを解説します。
空白セルが平均に与える影響
AVERAGE 関数は、空白セルを自動的に無視して計算します。
例えば A2=10、A3=空白、A4=20 のとき、=AVERAGE(A2:A4) の結果は (10+20)/2=15 になります。
この挙動は直感的で便利ですが、「本来は測定すべきだったがデータが欠損している」という意味の空白と、「そもそも対象外」という意味の空白が混在していると、解釈が曖昧になる可能性があります。
また、空文字列を返す関数(例えば IF で “” を返しているセル)は、見た目は空白でも、AVERAGE によっては数値として認識されないため、やはり無視されます。
集計ロジックを設計する際は、空白が何を意味しているのか、チーム内で統一しておくと誤解を避けられます。
必要に応じて、COUNTA などの関数でデータの有無を別途チェックするのも有効です。
ゼロを含めるか除外するかの考え方
ゼロは空白とは異なり、有効な数値として扱われます。
AVERAGE 関数はゼロも含めて平均を計算するため、0 が多く含まれると平均値は小さくなります。これは「売上がゼロだった日も含める」のか、「取引がなかった日はそもそも対象外にする」のかという集計ポリシーに直結します。
もしゼロを平均の対象から除外したい場合、単純な AVERAGE では対応できません。
そのような場合には、AVERAGEIF 関数で「0以外」を条件にする方法が有効です。
例えば、=AVERAGEIF(A2:A10,”<>0″) のように指定すると、ゼロを除外した平均を求められます。
飛び飛び範囲でゼロを除外したいケースでは、条件付きの平均を複数範囲で実現するテクニックが必要になるため、後述の応用テクニックも併せて参照するとよいでしょう。
エラー値を含む場合の対処方法
飛び飛びのセル範囲の中に、ゼロ除算などで発生したエラー値が含まれていると、AVERAGE 関数は全体としてエラーを返してしまいます。
実務では、一部のセルがエラーでも、その他の正常なデータだけで平均を出したい場面が少なくありません。
この場合は、エラーを事前に処理するか、エラーを無視できる関数を利用する必要があります。
代表的な方法として、IFERROR 関数でエラーを空白やゼロに変換したうえで平均を取る、あるいは AGGREGATE 関数を使ってエラーを無視した平均値を求めるといったアプローチがあります。
飛び飛びのセルが多い場合には、テーブル機能や名前付き範囲と組み合わせて、エラーセルの扱いを一元管理すると安全です。
条件付きで飛び飛び範囲の平均を出す応用テクニック
単純に飛び飛びのセルを平均するだけでなく、「特定の条件に合うセルだけを対象にしたい」というニーズも非常に多くあります。
例えば、「売上が0より大きい日だけの平均」「特定の担当者の実績だけの平均」「目標達成した行だけの平均」などです。
こうした場合には、AVERAGEIF や AVERAGEIFS などの条件付き平均関数や、FILTER 関数などの動的配列関数を活用すると、より柔軟な集計が可能になります。
この章では、飛び飛び範囲であっても条件付きで平均を算出するための代表的な方法を比較しながら紹介し、場面に応じた選び方のポイントを解説します。
AVERAGEIF・AVERAGEIFS関数の活用
AVERAGEIF 関数は、単一条件で平均を計算する関数で、=AVERAGEIF(範囲, 条件, [平均範囲]) という構文をとります。
AVERAGEIFS 関数は複数条件に対応しており、=AVERAGEIFS(平均範囲, 条件範囲1, 条件1, 条件範囲2, 条件2 …) といった形で使用します。
これらの関数は、基本的には連続した範囲を前提としていますが、工夫次第で飛び飛びのデータに対しても応用可能です。
例えば、飛び飛びの売上セルを別列に一覧化しておき、その列を平均範囲として AVERAGEIF を使う方法があります。
また、テーブル機能を利用しておけば、条件範囲や平均範囲の指定を列単位で行えるため、データが追加・削除されても式の修正が最小限で済みます。
条件付き平均が頻繁に必要な場合は、最初のデータ設計の段階で、条件となる情報をどの列にどう配置するかを意識しておくことが重要です。
FILTER関数や動的配列で条件に合うセルだけ抽出する方法
最新のエクセルでは、FILTER 関数などの動的配列関数が利用できる環境が増えています。
FILTER 関数は、条件に合致する行や列だけを自動的に抽出してくれるため、飛び飛びのデータを「一時的な連続範囲」に変換し、その上で AVERAGE を適用する、といった使い方が可能です。
例えば、売上データの一覧から、「担当者A」の数値だけを FILTER で抽出し、その結果に対して AVERAGE を使う、という流れです。
具体的には、=AVERAGE(FILTER(売上列, 担当者列=”A”)) のような式になります。
この方法は、元データの配置がやや複雑でも、条件列が整っていれば柔軟に対応できるのが利点です。
一方で、動的配列に対応していない古いバージョンのエクセルでは利用できないため、自分や相手の環境を確認したうえで採用するかどうかを判断する必要があります。
複数条件と飛び飛び範囲を組み合わせる実践例
実務では、「特定の期間かつ特定の担当者」のように、複数条件と飛び飛び範囲を組み合わせて平均を出したい場面もあります。
例えば、月次ごとにシートを分けて管理している場合、1月シートと3月シートから、「商品Xのみ」の売上平均を取りたいといったケースです。
このような場合には、各シートごとに AVERAGEIFS で条件付き平均を算出し、その結果をさらに AVERAGE でまとめるといった二段構えのアプローチが有効です。
式のイメージとしては、=AVERAGE( AVERAGEIFS(Jan!売上列,Jan!商品列,”X”), AVERAGEIFS(Mar!売上列,Mar!商品列,”X”) ) のようになります。
こうすることで、シートをまたいだ飛び飛びデータであっても、条件をそろえたうえで平均を取ることができます。
結果の妥当性を検証するためには、サンプル件数や合計値との整合性を別セルに表示しておくと安心です。
OFFSET・CHOOSE・配列数式などを使った高度な飛び飛び平均テクニック

より高度な集計が必要な場面では、OFFSET や CHOOSE などの関数、場合によっては配列数式を組み合わせることで、複雑な飛び飛び範囲の平均を柔軟に計算できます。
これらのテクニックは一見すると難しく感じられますが、パターンを理解しておけば、テンプレート化して繰り返し利用できます。
また、シート構成の変更に強く、行や列の追加・削除にも追従しやすいというメリットがあります。
この章では、代表的な関数を使った飛び飛び平均の応用例を紹介しつつ、メンテナンス性や可読性の観点からの注意点も併せて解説します。
OFFSET関数で規則的な飛び飛び範囲を指定する
OFFSET 関数は、基準セルからの相対位置でセルや範囲を指定する関数です。
例えば「1列おき」「2行おき」といった規則的な飛び飛びデータを扱う場合、OFFSET と ROW などを組み合わせることで、自動的にセル範囲を生成し、平均を計算させることができます。
これにより、行数や列数が変化しても、自動的に新しいデータが平均対象に含まれるようになります。
一例として、A列にデータがあり、奇数行だけの平均を取りたい場合には、配列数式や動的配列関数と併用して、=AVERAGE(FILTER(A:A,MOD(ROW(A:A),2)=1)) のようなアプローチも可能です。
OFFSET 自体は揮発性関数であり、大量に使うとブックの計算速度に影響を与えることがあるため、使用範囲や件数には注意が必要です。
CHOOSE関数で任意セルをまとめて仮想範囲にする
CHOOSE 関数は、指定したインデックス番号に応じて、複数の候補から値を返す関数ですが、動的配列と組み合わせることで、任意のセルをまとめた「仮想的な配列」を構築することができます。
例えば、=AVERAGE(CHOOSE({1,2,3},A2,C5,F10)) のように記述すると、A2、C5、F10 の3セルを一つの配列として扱い、その平均を求める、といったことが可能です。
これにより、数式の構造を工夫することで、見た目よりも論理的に整理された形で飛び飛びのセルを扱えるようになります。
ただし、CHOOSE と配列リテラルを組み合わせた記述は、慣れていない人には読みづらい場合があります。
チームで共有するブックの場合は、コメントや名前付き範囲を活用して、式の意図が伝わるようにしておくとよいでしょう。
配列数式・AGGREGATE関数で柔軟に平均を求める
配列数式(動的配列を含む)は、複数のセルを一度に計算する強力な仕組みです。
例えば、「特定の行番号だけ」「特定の列番号だけ」といった複雑な条件で飛び飛びのセルを選び出し、その平均を取る、といった処理を1つの数式で記述できます。
一方で、旧来の配列数式は Ctrl+Shift+Enter の入力が必要であったり、数式の見た目が難解になりやすいという課題もあります。
AGGREGATE 関数は、平均や合計などの統計処理を、エラーや非表示セルを無視するなどのオプション付きで実行できる多機能な関数です。
適切なオプションを指定することで、エラーを含む飛び飛び範囲でも、エラーをスキップしながら平均を求めることができます。
高度なテクニックを使用する際は、機能を詰め込みすぎず、「なぜこの式になっているのか」をコメントで補足しておくことをおすすめします。
テーブル機能・名前の定義で飛び飛び平均をメンテナンスしやすくする
飛び飛びのセル範囲を扱う数式は、どうしても複雑になりがちです。
そこで重要になるのが、テーブル機能や名前の定義を活用して、数式の可読性とメンテナンス性を高める工夫です。
これらを適切に使うことで、「セル番地の羅列」だった式を、「意味のあるラベル」に変えることができ、後から見たときの理解や修正が格段にしやすくなります。
この章では、飛び飛び範囲の平均計算と相性の良い、テーブル機能と名前付き範囲の基本と実践例を紹介し、どのように組み合わせれば日々の更新作業が楽になるのかを解説します。
テーブル機能で範囲を自動拡張するメリット
エクセルのテーブル機能を使うと、データの追加や削除に伴って、範囲指定が自動的に拡張・縮小されます。
これにより、毎月や毎週データが増えていくような表でも、AVERAGE 関数の平均範囲をいちいち修正する手間がなくなります。
また、テーブルでは列名を使った構造化参照が可能なため、セル番地ではなく列の意味を表す名前で指定できるのも大きな利点です。
例えば、テーブル名を「売上表」、列名を「売上」としておけば、=AVERAGE(売上表[売上]) のように記述できます。
飛び飛びのセル範囲が発生している場合でも、テーブル内に「抽出列」や「フラグ列」を作成し、そこに必要な値だけを並べる設計にすると、平均計算の数式自体はシンプルに保つことが可能です。
名前付き範囲で式を読みやすくする方法
名前の定義機能を使うと、特定のセルやセル範囲にわかりやすい名前を割り当てることができます。
飛び飛びのセル範囲をひとまとめにして、「重要データ」「対象売上」などの名前を付けておけば、=AVERAGE(対象売上) のように書けるため、誰が見ても何を平均しているのかがすぐ分かります。
また、名前に含まれるセルを後から追加・変更することも可能です。
例えば、A2,C5,F10 を含む飛び飛び範囲に「分析対象」という名前を付けたうえで、AVERAGE(分析対象) としておけば、セル構成を変更しても、名前の定義だけを修正すればよくなります。
ただし、名前付き範囲が増えすぎると管理が煩雑になるため、ルールを決めて運用することが重要です。
定期的に名前マネージャーを確認し、不要になった定義を整理する習慣をつけておくとよいでしょう。
飛び飛び平均のメンテナンス性を高める設計のコツ
飛び飛びの範囲を前提に平均を計算する場合でも、可能であれば「ロジック」と「レイアウト」を整理し、将来の変更に強い設計にしておくことが重要です。
例えば、実際に飛び飛びになっているセルを直接参照するのではなく、別の列に集約用の列を設けて、そこに対象データをコピーまたは参照する方式を取ると、平均の式は常に連続範囲に対して記述できます。
さらに、テーブル・名前付き範囲・条件付き書式などを組み合わせることで、「どの値が平均対象になっているのか」を視覚的にも分かりやすく表示できます。
これにより、担当者が変わっても、数式の意図が伝わりやすく、集計ミスのリスクを低減できます。
設計段階でのひと工夫が、中長期的な運用コストを大きく削減することにつながります。
飛び飛び範囲の平均を手作業で計算する場合との比較
最後に、エクセルの関数を使って飛び飛び範囲の平均を求める方法と、電卓や手計算で平均を求める方法を比較してみましょう。
一見すると、データ件数が少ない場合は「手で計算してしまった方が早い」と感じるかもしれませんが、再現性やミスのリスク、将来の拡張性まで含めて考えると、自動化された平均取得の仕組みを作る意義は非常に大きいです。
ここでは、具体的な観点別に両者を比較し、どのようなケースで関数利用が特に有効なのかを整理します。
手作業計算と関数利用のメリット・デメリット比較
手作業による平均計算は、その場その場で柔軟に対応できる反面、計算過程が記録に残らず、後から再検証が難しいというデメリットがあります。
また、飛び飛びのセルが多い場合には、足し忘れや入力ミスが生じやすく、ダブルチェックにも時間がかかります。
一方、エクセル関数を用いた平均計算は、式さえ正しければ再利用性が高く、新しいデータの追加にも自動で追従できるのが強みです。
以下の表は、代表的な観点での比較イメージです。
| 観点 | 手作業での平均計算 | 関数を使った平均計算 |
| 速度 | 件数が少なければ一見早い | 件数が多くても高速に計算可能 |
| ミスのリスク | 入力漏れや計算ミスが起きやすい | 式が正しければ安定した結果 |
| 再現性 | 計算過程が残りにくい | 数式としていつでも確認可能 |
| 拡張性 | データ増加のたびに再計算が必要 | テーブル等と組み合わせて自動拡張 |
実務での運用を踏まえたおすすめの方法
実務では、一度きりの単発集計と、毎月・毎週繰り返す定型集計が混在します。
単発集計でも、将来同様の分析を行う可能性があるなら、最初からエクセル関数を使って仕組み化しておくことをおすすめします。
特に、レポートを他のメンバーと共有する場合や、監査・検証が必要なデータでは、計算ロジックが明示されていることが重要です。
飛び飛びの範囲が多くて複雑な場合は、無理に1本の式で完結させようとせず、中間列やテーブルを活用して処理を段階的に分解する方が、結果的に分かりやすく安全です。
関数の選択に迷ったときは、まず AVERAGE と AVERAGEIF/AVERAGEIFS を基本に、必要に応じて FILTER やテーブル機能を組み合わせるスタイルを基準にするとよいでしょう。
まとめ
エクセルで「平均範囲が飛び飛び」になっているデータを扱う場面は、実務で非常によくあります。
この記事では、AVERAGE 関数の基本から、空白やゼロ・エラーの扱い、条件付き平均、OFFSET や CHOOSE などを使った高度なテクニック、そしてテーブル機能や名前の定義によるメンテナンス性向上まで、幅広く解説しました。
重要なのは、単に平均を計算するだけでなく、「どのセルを」「どのルールで」平均に含めているのかを明確にし、再現性と信頼性の高い集計ロジックを構築することです。
飛び飛びのセル範囲だからといって、毎回手作業で計算する必要はありません。
AVERAGE を軸に、AVERAGEIF・AVERAGEIFS、FILTER、AGGREGATE などを適切に組み合わせれば、複雑なデータ構造でも効率良く平均を求めることができます。
ぜひ、自分の業務やデータ構造に合った方法を選び、エクセルの平均計算を一段とスマートに運用してみてください。
コメント