【问题标题】:Median/average does not return the right values中值/平均值不返回正确的值
【发布时间】:2015-04-19 22:29:05
【问题描述】:

Image for reference

我正在努力实现以下目标: 如果(在列表 1 中找到单元格 A1),对于找到它的每一行和 if(C4:C10 > B4:B10),然后是 median(the subtraction between C and B values, for every row that has text1)

我尝试了两种不同的公式:

1 - {=MEDIAN(IF(AND((C4:C10>B4:B10);(B4:B10=A1));(C4:C10-B4:B10)))}

2 - {=MEDIAN((C4:C10>B4:B10)*(B4:B10=A1)*(C4:C10-B4:B10))}

对于中位数,它总是返回 0,而对于平均值,它是不准确的非常小的值。我确定中位数和平均值不正确。

会有什么问题?

另外,我将如何使用类似的东西: {=MEDIAN((C4:C10>B4:B10)*(B4:B10=A1)*(C4:C10-B4:B10))}

如果某一列在某些行中有文本? (前一个问题不是这种情况,但以前出现过)。


text1                   

list 1      list 2      list 3
text2       1           5
text4       2           4
text1       4           6
text4       1           6
text1       4           5
text4       2           4
text1       3           3

【问题讨论】:

  • 但在您的示例中,C 中的值都没有比 B 中的值大。我错过了什么吗?它不符合您的第二个标准!

标签: excel excel-formula excel-2010 excel-2007 excel-2013


【解决方案1】:

您不能在这些类型的公式中使用 AND 函数,因为 AND 返回单个结果(TRUEFALSE)而不是所需的数组。

您的第二个公式更接近,但通过将所有条件相乘,您将在不满足条件的每一行中得到零,从而使结果出现偏差。

您可以使用以下任一类似版本:

=MEDIAN(IF((C4:C10>B4:B10)*(A4:A10=A1);C4:C10-B4:B10))

=MEDIAN(IF(C4:C10>B4:B10;IF(A4:A10=A1;C4:C10-B4:B10)))

都需要用CTRL+SHIFT+ENTER

确认

要处理 BC 列中的文本(并使公式忽略这些行但不工作),您可以像这样添加额外的 IF 函数

=MEDIAN(IF(C4:C10>B4:B10;IF(A4:A10=A1;IF(ISNUMBER(C4:C10-B4:B10);C4:C10-B4:B10))))

使用AVERAGE 函数代替MEDIAN,所有公式都同样适用

在忽略文本的同时获取MEDIAN 的另一种方法是使用AGGREGATE 函数,如下所示:

=AGGREGATE(17;6;C4:C10-B4:B10/(C4:C10>B4:B10)/(A4:A10=A1);2)

这不需要“数组条目”,但仅适用于Excel 2010 或更高版本。 AVERAGE 没有简单的等价物

17 表示QUARTILE 函数 - 第二个四分位数相当于中位数

请参阅随附的屏幕截图,展示您的示例数据的最后两个公式......以及一些添加的文本

【讨论】:

  • 你不是把B列和A列搞混了吗? A 列包含需要匹配 A1 而不是 B 列的文本值。因此,在您的公式中,它们应替换为 A4:A10=A1
  • 我只是使用问题中公式中使用的相同单元格引用
  • 是的,但问题中的公式是错误的!这是问题源文本中的错误。它应该被纠正。此外,一个单元格不能有一个文本值与A1的值匹配,同时也被减去!
  • 工作得很好,感谢您的详细解释!我基本上得把我试过的两个函数合并一下,看来,啊啊
【解决方案2】:

假设column Clist 3中的值大于column Blist 2中的值,则可以使用以下公式:

=MEDIAN(IF((A4:A10=A1)*(C4:C10>B4:B10);C4:C10-B4:B10))



这是一个数组公式,所以按ctrl+shift+enter来计算公式。 如果它不起作用,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-20
    • 1970-01-01
    • 1970-01-01
    • 2021-07-08
    相关资源
    最近更新 更多