Excel formula 在Excel中获取条件筛选的值数组
我希望在有条件满足其他单元格标准的基础上,使用数据子集进行F检验、T检验、Var.S检验。为了做到这一点,我需要一个数组来表示有条件满足我的条件的数据子集。在计算平均值时,我能够执行Excel formula 在Excel中获取条件筛选的值数组,excel-formula,Excel Formula,我希望在有条件满足其他单元格标准的基础上,使用数据子集进行F检验、T检验、Var.S检验。为了做到这一点,我需要一个数组来表示有条件满足我的条件的数据子集。在计算平均值时,我能够执行AVERAGEIFS(),但相同的条件结构不适用于F.Test、T.Test和Var.S。下面是示例数据集 A B C D 1 Month Employee Part Value 2 Jan
AVERAGEIFS()
,但相同的条件结构不适用于F.Test、T.Test和Var.S。下面是示例数据集
A B C D
1 Month Employee Part Value
2 Jan Tom A 50
3 Jan Bob A 55
4 Jan Sally B 40
5 Feb Bob A 45
6 Feb Tom A 75
7 Feb Bob A 60
8 Feb Bob B 65
9 Feb Bob A 55
10 Mar Sally B 70
11 Mar Tom B 40
12 Apr Bob B 50
13 Apr Sally A 45
14 Apr Sally A 60
15 May Bob A 55
16 May Tom B 55
17 May Bob A 50
18 May Sally B 60
例如,如果我想知道2月份Bob的“Value”列与A部分的方差,那么这个数组将由3个值组成:45,60,55。我希望能够执行Var.S(我需要的代码在这里)
在我的真实数据集中,我有数千行数据,因此,在我的示例中,手动输入VAR.S(D5,D7,D9)
将实现我想要的,但这对于真实数据集是不可行的
我认为,无论使用什么解决方案来获得用于VAR.S的条件过滤数组,都可以应用于T.TEST和F.TEST所需的数组,但如果不是这样的话,那么我也希望有一个解决方案
非常感谢您能提供的任何帮助 有一种标准方法可以创建基本数组公式,该公式将条件引入通常不采用条件的函数
'basic formula
=FUNCTION(<range1>, [optional range2], [optional range3], ...)
'array formula with one condition
=FUNCTION(IF(<condition1>, <range1>))
'array formula with two conditions
=FUNCTION(IF(<condition1>, IF(<condition2>, <range1>)))
您可以从上面的成对示例中看到,手动选择一组不同的单元格并使用数组公式进行条件筛选会产生相同的结果。这个答案非常完美且非常彻底。我能够轻松地将其转换为我的完整数据集。注意,因为我已经将数据格式化为表,所以我使用这个链接()来格式化表的公式。最后的公式是(表名是MyData):
{VAR.S(如果(MyData[[Employee]:[Employee]]=B5,如果(MyData[[Month]:[Month]]=A5,如果(MyData[[Part]:[Part]=C5,MyData[[Value]:[Value]]))
非常感谢!
{=FUNCTION(IF(<condition1>, <range1>))}
'in G5:H5 per supplied image (Bob)
=VAR.S(D3, D5, D7:D9, D12, D15, D17) 'standard formula
=VAR.S(IF(B2:B18="bob", D2:D18)) 'array formula with CSE
'in G8:H8 per supplied image (Bob, Feb)
=VAR.S(D5, D7:D9) 'standard formula
=VAR.S(IF(B2:B18="bob", IF(A2:A18="Feb", D2:D18))) 'array formula with CSE
'in G11:H11 per supplied image (Bob, Feb, A)
=VAR.S(D5, D7, D9) 'standard formula
=VAR.S(IF(B2:B18="bob", IF(A2:A18="Feb", IF(C2:C18="A", D2:D18)))) 'array formula with CSE