我有一个用于计算出勤统计数据的电子表格。第I列包含每个成员的名称,第H列计算每个成员参加的实践的百分比。以下是我用来计算前20个人的函数列表:
J2: =INDEX(I$2:I$23,MATCH(LARGE(H$2:H$23,1),H$2:H$23,0))
J3: =INDEX(I$2:I$23,MATCH(LARGE(H$2:H$23,2),H$2:H$23,0))
J4: =INDEX(I$2:I$23,MATCH(LARGE(H$2:H$23,3),H$2:H$23,0))
J5: =INDEX(I$2:I$23,MATCH(LARGE(H$2:H$23,4),H$2:H$23,0))
...
但是,每当一个新成员加入团队,或者一个旧成员退出时,我必须更改每个单元格20个单元格。这需要很长时间。
有没有办法可以简化为一个简单的ARRAYFORMULA?
另一种查询:
=query(H:I,"select I order by H desc limit 20")
没关系。我解决了自己的问题!如果有其他人像我一样正在努力解决这个问题,请说明:
=query(H2:I23, " select * where I<>'' order by H desc ")
它将创建2列信息,第一列包含百分比,第二列按顺序包含名称。如果您不想要百分比,则将第一列缩小到尽可能小的范围。