Excel で averageif で subtotal を使用する方法


次の数式を使用して、Excel でSUBTOTAL関数とAVERAGE関数を組み合わせることができます。

 =AVERAGE(IF(SUBTOTAL(2,OFFSET( C2 ,ROW( C2:C11 )-ROW( C2 ),0)),IF( B2:B11 ="Guard", C2:C11 )))

この特定の数式を使用すると、C2:C11 の範囲の値の平均を計算できます。この場合、範囲 B2:B11 の対応する値は、そのセル範囲が何らかの方法でフィルターされた後でも「Keep」と等しくなります。もう一つ。

次の例は、この公式を実際に使用する方法を示しています。

例: Excel で AVERAGEIF で SUBTOTAL を使用する方法

さまざまなバスケットボール選手に関する情報を含む次のデータセットがあるとします。

次に、データをフィルターして、ウェスタンカンファレンスのプレーヤーがいる行のみを表示しましょう。

これを行うには、セル範囲A1:C11を強調表示します。次に、上部のリボンに沿って[データ]タブをクリックし、 [フィルター]ボタンをクリックします。

次に、 [会議]の横にあるドロップダウン矢印をクリックし、[西]の横のボックスのみがオンになっていることを確認し、[ OK]をクリックします。

データは自動的にフィルタリングされ、 Conference 列がWestに等しい行のみを表示します。

AVERAGEIF()関数を使用して、Position 列の値が「Guard」に等しい Points 列の値の平均を計算しようとすると、実際には「Guard」に等しい行のポイントの平均が返されます。元のデータセット内:

代わりに、次の式を使用する必要があります。

 =AVERAGE(IF(SUBTOTAL(2,OFFSET( C2 ,ROW( C2:C11 )-ROW( C2 ),0)),IF( B2:B11 ="Guard", C2:C11 )))

次のスクリーンショットは、この式を実際に使用する方法を示しています。

この式は、正しい平均値21.25を返します。

これが正しいことは、Position 列が「Guard」に等しい行のポイント値を手動で平均することで確認できます。

平均ガード ポイント: (12 + 28 + 30 + 15) / 4 = 21.25

追加リソース

次のチュートリアルでは、Excel で他の一般的な操作を実行する方法について説明します。

Excelでフィルターされた行を削除する方法
Excel でフィルターされた行をカウントする方法
Excelでフィルターされた行を追加する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です