Excel 中多个字段的平均值分布是多少?

Excel 中多个字段的平均值分布是多少?

我有一张包含一系列数据的表格。
这些数据用于图表中。
这些数据中有一些漏洞,我想用平滑的数字来填补。

以此表为例:

示例表

在上面的例子中,93 和 68 之间有 3 个间隙,我想填补。
顺序应该是 93、86.75、80.5、74.25 然后是 68。

我可以使用什么样的公式来自动计算中间的数字?

编辑:间隙可以是任意行,可以向上或向下。

答案1

如果你的时间间隔是总是等距你可以使用 Excel 的充满特征。

  • 选择 B2285:F2289(空白区域加上上面和下面的数据行)
  • 功能区选项卡,选择充满进而系列...
    • 系列:
    • 类型:线性 (Linear)
    • 趋势:是的
    • 点击好的

在 Excel 2007 中测试。

答案2

使用此 VBA 子程序,您可以选择要插入的单元格,然后激活宏。我使用了一个按钮,但您可能想要使用快捷键组合。

Private Sub InterpolateGap()

Dim Gap As Range
Dim GapRows As Integer, i As Integer, Increment As Integer

Set Gap = Selection
If Not Gap Is Nothing Then
    GapRows = Gap.Rows.Count
    Increment = (Gap.Cells(1, 1).Offset(-1, 0) - _ 
                 Gap.Cells(1, 1).Offset(GapRows, 0)) / GapRows
    For i = 1 To GapRows
        Gap.Rows(i).Cells(1, 1) = _ 
        Gap.Rows(i).Cells(1, 1).Offset(-1, 0) - Increment
    Next i
End If

End Sub

答案3

我最终编写了一些 VBA 代码,感谢@Lance Roberts
此代码实际上将循环遍历每一行和每一列以查找空白条目,抓取上限和下限值并以此方式计算。
唯一的问题是当第一行数据为空白时。
由于懒惰,列被硬编码为 10。

Sub SetAverages()
   Dim lastrow As Integer, ncol As Integer, nrow As Integer
   Dim secondvalrow As Integer, blankrows As Integer
   Dim difference As Double, Increment As Double


    Range("A65535").End(xlUp).Select
    lastrow = ActiveCell.Row

    For ncol = 2 To 10
        For nrow = 2 To lastrow   'start after header row
            If Cells(nrow + 1, ncol).Value = "" Then
                secondvalrow = nrow + 1
                Do Until Cells(secondvalrow, ncol).Value <> "" Or secondvalrow = lastrow + 1
                    secondvalrow = secondvalrow + 1
                Loop

                blankrows = secondvalrow - nrow

                difference = Cells(secondvalrow, ncol).Value - Cells(nrow, ncol).Value
                Increment = difference / blankrows
                For i = nrow + 1 To secondvalrow - 1
                    Cells(i, ncol).Value = Cells(i - 1, ncol).Value + Increment
                Next i
            End If
        Next nrow
    Next ncol
End Sub

答案4

如果你没有稳定地向上或向下攀爬,那么这件事将会很难做到。

我最好的建议是简单地突出显示您拥有的数字,然后单击突出显示区域右下角的框,然后向下拖动以让 Excel 尽力进行猜测。

替代文本

相关内容