代わりに、平均、オフセット、一致の組み合わせを使用します。オフセットを使用すると、範囲内の行/列の数を変更できます。
=IFERROR(AVERAGE(OFFSET($B$1,MAX(MATCH(C5,A:A,0)-6,0),0,46)),"SOMETHING IS WRONG")
マッチ
MATCH() は、列 1 で正しい値を見つけ、その位置を A:A で返します。
オフセット
セルB1と比較して対応する行にオフセットするには、行う必要がありますMATCH()-1
(そうしないと、セルA1の一致で1が返され、B1が1行オフセットされ、B2の値が表示されます!!
B1 を 0 列分オフセットしたいので、それを 3 番目のパラメーターとして入れます。
さらに、前に 5 行も取得したいので、これはMATCH()-6
、使用する負の行番号を持つ行からデータを取得しようとするのを避けるためMAX(MATCH()-6,0)
です。
前に 5 セル、高さを 5 + 1 + 40 = 46 セルにしたい場合は、高さパラメーターの数値で OFFSET パラメーターを完成させます。
平均
最後のステップは、実際の平均を取得することです。OFFSET()
関数はセルの範囲を返すため、これはAVERAGE
関数の通常の範囲入力と見なされます。
イフエラー
探している値が列 A:A に見つからない場合MATCH()
、ネストされた関数を介して機能するエラーが発生します。ほとんどの場合、そのようなイベントをキャプチャしてIFERROR()
、エラーをユーザーフレンドリーなものに変換するか、その場合の代替関数/結果