如何在谷歌表格中按多栏排列项目

611 阅读1分钟

你可以使用下面的语法在Google表中按多列排列项目:

=RANK(B2,$B$2:$B$11)+SUMPRODUCT(--($B$2:$B$11=$B2),--(C2<$C$2:$C$11))

这个特殊的公式将项目按降序排列,首先按B列的值,然后按C列的值。

下面的例子说明了如何在实践中使用这个公式。

例子:在Google表中按多列排列项目

假设我们在谷歌表格中有以下数据集,显示了10个不同篮球运动员的得分和助攻:

现在假设我们想把这些球员从最好的到最差的进行排名,给最好的球员分配一个 "1 "的值,给最差的球员分配一个 "10 "的值。

我们将根据 "点数"一栏中的数值,从最佳到最差对这些球员进行排名。如果出现平局,我们将参考助攻栏中的数值。

我们将使用以下公式对球员进行排名:

=RANK(B2,$B$2:$B$11)+SUMPRODUCT(--($B$2:$B$11=$B2),--(C2<$C$2:$C$11))

下面的截图显示了如何在实践中使用这个公式:

排名为1的球员被认为是最好的,排名为10的球员被认为是最差的。

以下是我们的公式是如何运作的:

  • 根据积分栏中的数值,将球员从最佳到最差进行排名
  • 如果出现平局,则参考助攻栏中的数值

例如,球员A和B因拥有最多的得分而并列。然而,球员A有更多的助攻,所以他们得到的排名是1,球员B得到的排名是2

请注意,任何在得分助攻方面有相同价值的球员(如球员E和F)都得到了相同的排名。

如果你想按升序排列球员(1=最差,10=最佳),那么我们可以使用以下公式:

=RANK(B2,$B$2:$B$11, 1)+SUMPRODUCT(--($B$2:$B$11=$B2),--(C2<$C$2:$C$11))+1

下面的截图显示了如何在实践中使用这个公式:

现在 "最佳 "球员的排名是10,"最差 "球员的排名是1

其他资源

下面的教程解释了如何在Google Sheets中进行其他常见的操作:

谷歌表格如何对包含文本的单元格进行过滤
Google Sheets如何使用多列的SUMIF
Google Sheets如何在多个表单中求和