我在这里超越了我的Excel知识。我试图在Excel中进行民意调查。我的问题在于显示所选结果。这就是我到目前为止所拥有的:
我需要选择与B2:G2(类型1)范围内具有最高值的单元格对应的标题。但是,如果存在平局,我需要在B2:G2范围内具有最高值的单元格中选择与B3:G3范围内的最高值对应的标题。
在我的样本中,列" bb"和" cc"两者在类型1(5)上共享最高值。因此,为了确定胜利者,我需要比较它们之间类型2的最高值。因为" bb"是0和" cc"是1,我期待" cc"作为最终结果。
公式的组成如下:
J2:显示第2行中具有该范围中最高值的单元格数。所以,2。我用COUNTIF与MAX比较。
K2:显示它在第2行找到的具有最高值的第一个标题。我使用以下公式进行管理:
=INDEX($B$1:$G$1;0;MATCH(MAX($B$2:$G$2);$B$2:$G$2;0))
说实话,我并不完全理解这个公式。是借助互联网教程的帮助。
I2:显示" TIE"如果在B2:G2范围内有平局。否则显示获胜标题(K2)。
J3:显示范围B3:G3上具有最大值的单元格数,但仅考虑第2行中的获胜单元格。我使用COUNTIFS执行此操作。
=COUNTIFS(B3:G3;LARGE(B3:G3;1);B2:G2;MAX(B2:G2))
编辑:只需输入数字" 4"在B3上,上面这个公式也没有用......
I3:应遵循与上述单元格相同的模式。显示" TIE"什么时候还有TIE。否则将显示获胜标题(将在K3上显示)。
K3:我不知道该把什么放在这里。可能是因为我不太了解带有INDEX,MATCH等的公式,我无法找到一种方法来检查两者之间的最高值"赢得"上面一行中的列并获得标题。有人可以帮我吗?
答案 0 :(得分:0)
首先,让我们确定是否存在平局。正如您所发现的,您可以通过计算范围中出现最高数量的次数来实现此目的。
=COUNTIF($B2:$G2;MAX($B2:$G2))
如果该数量超过1,那就是平局。
=IF(COUNTIF($B2:$G2;MAX($B2:$G2))>1;"TIE";"no tie")
如果出现平局,您希望将第3行中的值作为平局判断器。我们可以使用此数组公式将它们添加到第2行中的值。您必须使用Ctrl + Shift + Enter确认数组公式,而不仅仅是Enter,否则它将无法正常工作。
=INDEX($B$1:$G$1,MATCH(MAX(((IF(B2:G2=MAX(B2:G2),MAX(B2:G2),0))+B3:G3)),INDEX((B2:G2+B3:G3),0)))
如果存在平局,您只想在第3行中考虑因素,因此您可以重新使用上面的IF语句并替换" tie"在上面的公式中使用数组公式并记住按Ctrl + Shift + Enter !!
=IF(COUNTIF($B$2:$G$2,MAX($B$2:$G$2))>1,INDEX($B$1:$G$1,MATCH(MAX(((IF(B2:G2=MAX(B2:G2),MAX(B2:G2),0))+B3:G3)),INDEX((B2:G2+B3:G3),0))),"no tie")
如果没有平局,您已经有了查找值的公式。
我的系统使用逗号作为列表分隔符。我已经在我发布的公式中用分号手动替换了这些分号,但如果我可能错过了一个,请耐心等待。
现在您可以将这些公式复制到第3行。如果第3行中的数据存在平局,则需要第4行中的数据来打破平局。
要了解Index / Match组合,请从第一个公式开始,然后从里到外阅读。 Max()找到最大的数字。 Match()返回B2到G2范围内最大数字的位置,即列号,即2(范围中的第二列)。索引查看B1到G1并从匹配返回的位置返回列值,即第二列,即文本bb。
使用第3行作为连接断路器,该公式的工作原理基本相同,只有当第2行中的值为最大值时,第2行和第3行才会相加,然后该数字用于查找最大值和匹配。
答案 1 :(得分:0)
这是一种使用sumproducts的方法。我真的没有理解你在I3,J3和K3中想要的结果。将尝试锻炼。
I2:
=IF(SUMPRODUCT(--(B2:G2=MAX(B2:G2)))>1,"TIE","")
J2:
=SUMPRODUCT(--(B2:G2=MAX(B2:G2)))
K2:
=IF(B7>1,OFFSET(B1,0,SUMPRODUCT(--(B3:G3=MAX(B3:G3))*--(B2:G2=MAX(B2:G2))*{0,1,2,3,4,5})),OFFSET(B1,0,SUMPRODUCT(--(B2:G2=MAX(B2:G2))*{0,1,2,3,4,5})))
{0,1,2,3,4,5}
是指标题的数量,如果有更多,则此数组需要更改