2014-10-09 45 views
-2

我想根据另一行中的值计算一行的中位数。例如,假设Row A有几个不同的数字,并且Row B有其他不相关的数字,但每列是不同的月份。我只想在Row A当月的数字高于1000时,计算Row B中的数字的中位数。基于对应行中的数字的一行的中值

什么是Excel公式?

 
      Jan Feb Mar April May June 

Row A 500 1200 675 700 1800 2000 
Row B -100 400  6  18 -300 1200

编辑(从作者的评论):寻找一个公式,先确定A行高于$ 1000的数字,然后在B行是在同月为第一条件的数字的位数?

+1

你能告诉样本数据? – ErstwhileIII 2014-10-09 23:12:11

+1

ROWS有数字,COLUMNS有字母。 – user3616725 2014-10-09 23:35:09

回答

1

奥凯假设你是混合起来的行和列,这会做你想要什么:

=中间值(IF(B2:G2> 1000,B3:G3, “”))

但键入它后,按CTRL + SHIFT + ENTER以确保它是一个数组函数。

并记住要替换你需要的范围。

One interpretation of the question

编辑:为了澄清这是如何工作(使用公式求值,看看它在行动):数组公式着眼于A行,并记录哪些大于1000(二月,五月,六月),则需要行B中的相应数字(Feb = 400,May = -300,Jun = 1200)。这三个数字(1200,400,-300)的中位数当然是400.

旧: 就个人而言,我会隐藏一行(H),并在每个Hi:= IF(Ai> 1000 ,Bi,“”),然后取该行的中位数。

+0

应该有一个公式来做到这一点虽然 – 2014-10-10 00:00:10

+0

正确,但不应该也没有一个公式来首先确定行A中1000美元以上的数字,然后是行B中同一月份中的数字的中位数作为第一个标准? – 2014-10-10 00:43:22

+0

看到我的新答案。 = MEDIAN(IF(A2:A6> 1000,B2:B6,“”))和CTRL + SHIFT + ENTER使其成为数组函数。我测试过了,它能正常工作。 – 2014-10-10 00:44:20

-1

你会使用类似以下(伪代码,没有看到您的电子表格):假设列“N”持有月份信息

您可以使用这样的=if($An>1000,Median(B),"")

+0

我想你已经错过了“在同一个月份” - 或者至少我们正在以不同的方式解释需求。 – pnuts 2014-10-09 23:26:13

+0

经过调整的答案显示假设 – ErstwhileIII 2014-10-09 23:27:42

+1

这并没有考虑到同一个月的部分 – 2014-10-09 23:59:48

相关问题