我有一个电子表格,其中有几个同事和我根据自己的喜好对一些书进行排名。看起来像这样:
function exit(start){
var time = Date.now() - start;
console.log(`\n\x1b[1m\x1b[37mFinished in ${time}ms. \x1b[32mSuccess: ${successes} \x1b[37m- \x1b[31mErrors: ${errors} \x1b[37m`);
process.exit();
}
在这个排名世界中,一本书的最高排名为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
是升序。我对如何在电子表格中进行操作不屑一顾,但我对所有可用的选项都不熟悉。有什么想法吗?
编辑:我不确定我是否解释得足够好(总是担心发生这种情况):从编程的角度来说,我实际上有两个列表,一个int列表{book2: 5, book1: 6, book3: 7}
和一个String列表{ {1}},我问我如何 首先 复制字符串列表(我不想修改字符串列表) 和< / strong> int列表(我也不想修改int列表),然后同时对它们进行排序(尽管我认为int列表排序的结果不会显示在任何地方)。>
...有什么想法吗?
答案 0 :(得分:3)
答案 1 :(得分:1)
F1=sort(A1:E3,5,False)
排序是一个数组函数,因此需要在其下方和右侧进行清除以获取结果。
这将返回所有5列。您可以隐藏不需要的。
您也可以变得聪明(稍后会咬住您...)并动态构建范围:
F1=sort({A1:A3,E1:E3},2,False)
这消除了单个结果的多余列。
答案 2 :(得分:0)