Name: Number: CategoryA_1: CategoryA_2: CategoryA_3:
Pat 4 Car Van Bus
Mary 5 Van Car
James - Bus
我希望能够获得每个类别的中位数“数字”。例如,由于“汽车”位于CategoryA_1和CategoryA_2中,因此我试图获取“数字” 4和5的中位数。
我在另一个工作表中这样称呼它。
Median
Car 4.5
Van 4.5
Bus 4
我已经尝试过了(但是只有0,我不知道为什么它不起作用)
=MEDIAN(IF(OR('Sheet1'!c:c=a2, 'Sheet1'!d:d=a2, 'Sheet1'!e:e=a2),(IF('Sheet1'!b:b<>"-", 'Sheet1'!b:b))))
感谢您的帮助,谢谢!
答案 0 :(得分:0)
假定“名称:”位于sheet1的A1上,另一个工作表为sheet2。在Sheet1 G1中放入:
=Sheet2!A2
然后在G2中:
=IF(AND(ISNUMBER($B2),$G$1<>"",C2<>"",C2=$G$1),$B2,"")
并拖动到I4。然后在Sheet2中,公式应为:
=MEDIAN(Sheet1!G2:I4)
想法更正:
在原始公式中。'Sheet1'!c:c=a2
部分将不起作用,因为您正在将范围与单元格进行比较。
在提出的解决方案中,我们添加了一些错误检查功能,以使用ISNUMBER($B2)
忽略破折号,使用$G$1<>"",C2<>""
检查/忽略空白条目,并仅在Sheet!A2
中输入的值时列出该值被匹配。那么中位数将正常工作。
我不确定帮助文件中是否提到了这个问题(请稍作检查),但是AFIAK的中位数()函数需要一个列表作为其参数..而原始的if函数似乎返回TRUE / FALSE值(而不是列表)。也许这就是为什么您得到0。