次の数式は、値が列 A にあることを前提としています (A:A
そうでない場合はすべての参照を調整します)。
=Average(Filter(Sort(A:A;If(A:A="";0;Row(A:A));false);Row(A:A)<6))
上記の式を理解するには、その部分を個別に貼り付けます (Filter
式のない部分を取得した場合は、. などでラップする必要があります) ArrayFormula
。
=Filter(Sort(A:A;If(A:A="";0;Row(A:A));false);Row(A:A)<6)
=ArrayFormula( Sort(A:A; If(A:A="";0;Row(A:A)); false) )
=ArrayFormula( Row(A:A) )
これらの「補助」数式を、シートにある可能性のある空の列に配置します (最初のセル、たとえばD1
) T1
。
あなたが提案したように、列全体ではない場合、数式全体を配列数式でラップする必要がある場合もあります。
=ArrayFormula( Average(Filter(Sort(K1:K10;If(K1:K10="";0;Row(K1:K10));false);Row(K1:K10)<6)) )
私は当初、Filter
式は のように動作すると思ってArrayFormula
いましたが、パラメーターの内部まで「再帰」していないようです。ハンス、が正しく動作するArrayFormula
ためには が必要です。IF
なぜそれが機能したのかはわかりませんA:A
。