【问题标题】:How can one sort a column of text based on a different column of numerical values?如何根据不同的数值列对一列文本进行排序?
【发布时间】:2020-08-11 22:30:28
【问题描述】:

我有一个电子表格,我和几个同事正在其中根据我们的喜好对一些书籍进行排序。它看起来像这样:

Books,John Ranks,Smith Ranks,Doe Ranks
book1,1,3,2
book2,3,1,1
book3,2,2,3

在这个排名世界中,一本书的最高排名是1,最低排名是{number of books},在这个例子中是3。我有一个专栏,Totals,它计算了某物的排名:

Books,John Ranks,Smith Ranks,Doe Ranks,Totals
book1,1,3,2,6
book2,3,1,1,5
book3,2,2,3,7

在本例中,book2 会胜出,因为它的数字最低,因此偏好最高。现在,我想要另一个列,True Ranks 或其他东西,它根据Totals 列中的值对书籍的名称进行排序。 total 单元格值将始终与它所代表的书在同一行中。我想为True Ranks 编写一个函数,该函数将根据总值升序排列(排序)书名。所以,它看起来像这样:

Books,John Ranks,Smith Ranks,Doe Ranks,Totals,True Ranks
book1,1,3,2,6,book2
book2,3,1,1,5,book1
book3,2,2,3,7,book3

因为{book2: 5, book1: 6, book3: 7}是升序。在电子表格中如何发生这种情况时我摸不着头脑,我并不精通所有可用选项。有什么想法吗?

编辑:我不确定我是否解释得足够好(总是担心会发生这种情况):在程序方面,我基本上有两个列表,一个 int list Totals 和一个 String list Books ,我问我如何首先复制字符串列表(我不想修改字符串列表) int 列表(我也不想修改 int 列表),然后同时对它们进行排序(尽管我认为 int 列表排序的结果不会显示在任何地方)。

...有什么想法吗?

【问题讨论】:

  • 分享您的工作表副本

标签: arrays sorting google-sheets google-sheets-formula


【解决方案1】:

您可以在公式中使用SORT 函数

=SORT(A2:A4,E2:E4,1)

【讨论】:

    【解决方案2】:
    F1=sort(A1:E3,5,False)  
    

    排序是一个数组函数,因此需要在其下方和右侧清除才能获得结果。

    这将返回所有 5 列。您可以隐藏不需要的。

    你也可以很聪明(稍后会咬你......)并在飞行中构建一个范围:

     F1=sort({A1:A3,E1:E3},2,False)
    

    这消除了单个结果的额外列。

    【讨论】:

      【解决方案3】:

      尝试直接方法:

      =QUERY(SORT({A2:A, B2:B+C2:C+D2:D}, 2, 1),
       "select Col1 where Col1 is not null", )
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多