我正在尝试计算一个类似于这样的图表的条件中位数:
A | B
-------
x | 1
x | 1
x | 3
x |
y | 4
z | 5
我正在使用MS Excel 2007。我知道AVERAGEIF()语句,但没有与之等效的中位数函数。主要问题在于有些行没有数据-比如上面第4个"a"。在这种情况下,我不想在计算中考虑该行。
谷歌搜索建议如下,但Excel不接受公式格式(可能是因为它是2007年版?)
=MEDIAN(IF((A:A="x")*(A:A<>"")), B:B)
Excel报错说我的公式有问题(可能与条件中的*有关)。我之前也尝试了以下方法,但在计算中把空单元格当作0来计算了:
=MEDIAN(IF(A:A = "x", B:B, "")
我知道这些公式返回的是 Excel 的“数组”,这意味着必须输入“Ctrl-Shift-Enter”才能正确运行。
如何进行条件计算并且不考虑空单元格?
{=MEDIAN(IF(A:A="x",IF(B:B<>"",B:B))}
对我而言是有效的(else语句不是必需的)。不过,非常好的答案! - Therkel