是否可以对AVERAGE
自动重复记录但在未定义的时间段后重新开始的数据使用该功能?
- 第 1 列是给定机器上的样本编号。因此它将是 1、2、3 等。
- 第 2 列是从测试设备记录的实际数据。它将是 4.35、3.46、7.89 等。
- 第 3 列
DAQ Start
在记录第一个样本的行上显示。然后,当该采样系列完成后,它会显示DAQ PAUSE
。
每次测试可能会采集 15 或 20 个样本。然后,当下一次采样开始时,它将从 开始DAQ Start
,并继续,直到该采样完成。这在一个电子表格上重复多次。
有没有办法让电子表格对每次采样计算平均值?我无法使用实际数据,因为没有定义样本集,因此单元格引用会随着每次采样而变化。
我想使用DAQ Start
和DAQ Pause
单元格来设置每个平均值的参考值。我该怎么做?
答案1
答案2
我不太明白你有什么第 1 列列 A
,但似乎不重要,所以我会忽略它。如果它很重要,请更好地解释它。
我假设你的数据从第 1 行开始;即,没有标题行。将
=IF(C1="DAQ Start", AVERAGE(OFFSET(B1, 0, 0, MATCH("DAQ PAUSE",C1:C$8,0), 1)), "")
单元格 D1
(或您希望平均值所在的任何位置)。将 中的 8 更改C$8
为您有数据的最后一行的数字 — 或者如果(如您所说)数据频繁/自动添加,并且好数据和第 999 行之间的行是空白的,则将其更改为更大的数字(例如 999)。然后D1
向下拖动/填充单元格,直到覆盖所有数据。
=IF(C1="DAQ Start", …, "")
表示D
在C
没有列的任何行上仅在列中显示空白DAQ Start
。在行上,列
C
是DAQ Start
(测试的第一行),- 用于查找当前行下方的列中
MATCH("DAQ PAUSE",C1:C$8,0)
的第一个出现。这将返回该值的相对位置。例如,如果它在当前行中,将返回 1 — 但当然,这是不可能的,因为当前行包含那里。但如果在下一行,将返回 2。DAQ PAUSE
C
MATCH
DAQ Start
DAQ PAUSE
MATCH
OFFSET(B1, 0, 0, MATCH("DAQ PAUSE",C1:C$8,0), 1)
指定从当前行上的 Column 中的单元格开始B
(偏移量为 0 和 0)的范围,该范围足够高以到达该DAQ PAUSE
行(使用返回值作为MATCH
行数)和一 (1) 列宽。AVERAGE(OFFSET(B1, 0, 0, MATCH("DAQ PAUSE",C1:C$8,0), 1))
计算该范围的平均值。
例如,
2、3 和 10 的平均值是 5,而 1、2、3 和 42 的平均值是 12。我不清楚一个测试的结束和另一个测试的开始之间可能是什么;只要不是DAQ Start
,我的函数就不会在意。