1

私のガールフレンドは、Excel の数式を使ってかなり複雑なことをする必要がありますが、私は彼女に対する答えを見つけることができませんでした。

彼女は、ある範囲のセルの MIN を見つけたいと考えています。次に、そのセルを特定したら、左右の 5 つの値を使用して、これらすべての値の平均を計算します。

これは可能ですか?

4

3 に答える 3

1

単一の列または単一の行 (MIN 値を見つける必要がある場所) には、この式を使用できます。

=(SUM(OFFSET(INDEX(Range,MATCH(MIN(Range),Range,0)),0,-5,1,11))-MIN(Range))/10

範囲はその単一の列/行です

これは、平均から MIN 値を除外し、両側に常に 5 つのセルがあると仮定して機能するはずです (たとえば、MIN は列 A から E にあることはできません)。

于 2012-09-04T23:02:34.420 に答える
1

質問で概説したことを行う式があります。

列の Min (F:F) を探していると仮定すると、次のように動作します。

=AVERAGE(OFFSET($F1,MATCH(MIN($F:$F),$F:$F,FALSE)-1,1,1,5),OFFSET($F1,MATCH(MIN($F:$F),$F:$F,FALSE)-1,-1,1,-5))

文字 F は、使用する列の数式で置き換えることができます。

これがどのように機能するかMinは、列の をフィンし、それを使用してmatch行番号を見つけ、次にoffsets を使用して右側の 5 つのセルを選択します (そして、同じことを左に逆にして繰り返す 2 番目のオフセット)。average最後に、これらの範囲の両方が数式の入力として使用されます。

于 2012-09-04T22:58:54.293 に答える
0

あなたのガールフレンドのために、私はこの質問に答えているだけです。

あなたが以下を持っているとしましょう

ここに画像の説明を入力

列 F は、最小値を評価する列です。
この場合、F6 が最小です。次のコードを使用してマクロを作成します。

Sub test()

Dim val1 As String
Dim val2 As Long

val1 = WorksheetFunction.min(Range("f1:f10"))

For x = 1 To 10
    If Range("f" & x).Value = val1 Then
        val2 = WorksheetFunction.Average(Range("a" & x & ":k" & x))
        Range("m1").Value = val2
    Else
    End If
Next x

End Sub

マクロは F 列の最小値を検出し、セル M1 の行にある 11 個の値の平均値を返します。

于 2012-09-05T15:05:17.363 に答える