平均根据标准输出

我有一个Excel表,前六列的值为12 。 接下来的六列与前六列相关联,并且具有将需要平均的值 – 根据前六列中是否存在12值来计算两个平均值。 然后根据两个平均值,最后六列需要分配一个等于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列现在必须用HL标记,取决于来自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一个更简单的方法,但这个应该工作,如果你不能。