如何根据其他单元格中的条件找到excel中的平均数?

时间:2014-08-27 06:18:57

标签: excel

我正在尝试缩小数据。我的数据是在有相关糖分读数的事件后的几分钟内安排的(见下文):

  

469 13.3
  471
  474 13.5
  479 14.1
  484 14.3
  489 14.3
  494 14
  499 13.9
  504 14.2
  509 13.9
  514 13.7
  519 13.4
  524 13.5
  529 13.8
  534 14.1
  539 14.3
  544 14.1
  549 13.8
  554 13.2
  559 12.9
  564 12.9
  569 12.8
  574 12.4
  579 12.1
  584 11.9
  589 11.7
  594 11.7
  599 11.8
  604 11.7

分钟读数高达~4500。我想知道是否有办法根据时间标准找到糖读数的平均值 - 例如找到每20分钟组的糖平均值。如果这有帮助,我也有时间数据(例如10/12/2013 13:53)?

感谢您的帮助!

或者有一种方法可以在分钟值之间添加数字,并在糖值之间加上空格 - 即:

而不是:

  

469 13.3
  471个
  474 13.5
  479 14.1
  484 14.3

就是这样:

  

469 13.3
  470个
  471个
  472个
  473
  474 13.5
  475个
  476个
  477个
  478个
  479 14.1
  480个
  481个
  482个
  483个
  484 14.3

再次感谢

1 个答案:

答案 0 :(得分:0)

我不完全理解第一部分,但一般来说,你可以使用Excel的AVERAGE函数:

=AVERAGE(A1:A10)
=AVERAGE(A:A)

第一个将输出A1A10(包括)之间的平均值,第二个将输出A列中所有值的平均值。

在问题的第二部分,您要求使用测量值“扩展”时间值。最好在第二张表中完成。让我们用包含Data的数据命名工作表。

在第二张表格中,在469A1470A2,然后将其拖至最终测量时间。

然后,在B1(我们刚刚开始处理的第二张表格)中,添加以下内容:

=IF(ISNA(VLOOKUP(A1, Data!$A$1:$B$200, 2, FALSE)), "", VLOOKUP(A1, Data!$A$1:$B$200, 2, FALSE))

将其向下拖动到最后一次测量时间。您可能需要将对$B$200的两个引用更改为更高级别的内容,例如$B$500或原始Data电子表格中最高行号。

这将从Data工作表中添加相应时间的测量值,如果没有这样的值,则它将只是一个空单元格(例如,时间472没有值)。 / p>


对该公式的一些解释(如果不感兴趣,请跳过)。公式的核心如下:

VLOOKUP(A1, Data!$A$1:$B$200, 2, FALSE))

VLOOKUP在其他位置搜索值,然后返回该行。在这种情况下,我们希望在A1中找到值Data!$A$1:$B$200,这是Excel在工作表A1中将“表格B200写入Data的方式” ”。 $符号保证在我们向下拖动公式时不会更改值,因为Excel会自动更新公式中的常规单元格引用,例如A1

因此,这将在A1的该区域中搜索Data,它将返回一行。 2指定我们想要使用的单元格值,即我们刚搜索的值旁边的测量时间(例如,我们在564中找到了Data,但我们希望得到相应的旁边的值,即12.9)。

VLOOKUP有点危险,因为它默认使用近似值,这是最后一个FALSE参数阻止的。引用microsoft.com [Source]:

  

如果未找到完全匹配,则返回小于lookup_value的下一个最大值。

在这种情况下,我们真的不希望这样。 (说实话,这就是为什么这是默认行为。)

对于无法找到的值,

VLOOKUP没有近似搜索返回#N/A,我们不希望这些都在我们的电子表格中。这就是我们首先测试函数的原因:

=IF(ISNA(VLOOKUP(...)), "", VLOOKUP(...))

换句话说,如果VLOOKUP返回#N/A,那么我们就什么都不写("");否则,让我们写下VLOOKUP返回给我们的内容。