平均根据标准输出
我有一个Excel表,前六列的值为1
或2
。 接下来的六列与前六列相关联,并且具有将需要平均的值 – 根据前六列中是否存在1
或2
值来计算两个平均值。 然后根据两个平均值,最后六列需要分配一个等于H
(高平均值)或L
(低平均值)的值。 这很难解释,所以这里是一个例子:
ABCDEFGHIJKLMNOPQR 1 2 2 1 2 2 1 8 8 9 8 6 8 LLHLLH
列C和F的值等于1
,因此需要对列I和L进行平均。 那么因为A,B,D和E列的值等于2
,所以需要对G,H,J和K列进行平均。 与值1
(I和L)相关的列的平均值是8.5
,与值2
(G,H,J和K)相关的列的平均值是7.5
。 MR列现在必须用H
或L
标记,取决于来自GL列的对应值是否是高(H)或低(L)平均值的一部分。 在这种情况下,由于列I和L的平均值较大,因此需要为列O和列R分配一个H
其他列(M,N,P和Q)将被分配一个L
因为它们的相关列(G,H,J,K)具有较低的平均值。
请考虑在列M的第一行放置以下公式,然后复制到列R:
=IF(AVERAGEIF($A$1:$F$1,A1,$G$1:$L$1)=MAX(AVERAGEIF($A$1:$F$1,1,$G$1:$L$1),AVERAGEIF($A$1:$F$1,2,$G$1:$L$1)),"H","L")
逻辑是如果对应于A1
上的1或2的值的平均值等于两者之间的计算的MAX
,则这对应于高数字。 如果不是,则对应于低值。 请注意,这不考虑何时平均值相等,在这种情况下,所有条目都记为“高”。 您可以通过添加公式来扩展该值,以检查该值是否等于相同的MIN
。 希望这可以帮助。 问候,
如果您不想使用Visual Basic,则可以使用此方法,但可能需要更多的列。
xx ABCDEFGHIJKL 1 2 2 1 2 2 1 8 8 9 8 6 8
对于单元格M1,键入:= if(A1 = 1,G1,“”)
请注意,这是在G1项之后的两个普通引号(“)s。
将其复制到单元格M1-R1。
现在单元格M1-R1只能包含标有1的列的数据。
接下来的单元格S1键入:=平均值(M1:R1)
这不应该在空白单元格,所以你应该只有平均的“1”单元格。
现在复制“2”单元格的过程:对于单元格T1键入:= if(A1 = 2,G1,“”)
将其复制到单元格T1-Y1。
对于单元格Z1,键入:=平均值(T1:Y1)
现在单元格AA1types在:= if(S1> Z1,1,2)
现在AA1将具有较高的平均数。 所以如果“1”单元有更高的平均值,单元格AA1将是1,否则将是2。
现在单元格AB1input= if(A1 = $ AA1,“H”,“L”)
将AB1复制到单元格AB1到AG1,就完成了。
细胞AB1-AG1将有你的H和L。 请注意,这种方法有一个缺点,除了有点复杂之外,即如果平均值相等,它仍然会打印“2”,因为平均值更高。
无论如何希望你能find一个更简单的方法,但这个应该工作,如果你不能。