>我有一个 excel 文件,其中包含任意数量的工作表。从 Sheet2 到 Sheetn 的结构是相同的:
| A | B | C | D |
------------------------------
| Date | Name | Value | Type |
| Date | Name | Value | Type |
但是,这些行不按日期排序,因此不能保证每张纸的第一行是最新的日期。
第一张工作表的每个工作表都有一行,应更新它以包括每个工作表中的最新条目。
例如,如果我们有 4 张纸,那么表 1 将有 4-1=3 行,即:工作表 2 最新日期的行、工作表 3 最新日期的行以及工作表 4 上日期最新的行。
一个文件等于一千个字,所以你可以在这里下载excel文件,看看我需要什么。
我实际上已经想出了一个解决方案。我猜它离最好的还很远,但由于我绝不是一个优秀的人,所以它工作的事实对我来说就足够了。
对于其他只需要在不学习 excel 的情况下实现这一目标的非 excel 人,以下是我的做法:
=INDEX(MySheetName!$A$2:$G$10000,(MATCH(MAX(MySheetName!$C:$C),MySheetName!$C:$C,0)-1),COLUMNS(MySheetName!$A$1:A1))
将出现 4 次的"MySheetName"替换为每个 excel 工作表的实际工作表名称。 将 INDEX 上的列"A 到 G"替换为要检索的列。 将 MATCH 上的列 C:C 替换为要用于使用其 MAX(( 检索行号的列 请记住将公式跨越到多列,与您引用的工作表的最大列数一样多。
我现在想改进的是使其也能够跨越多行,这对我来说意味着它会自动引用下一个 excel 工作表的所有列。现在,需要手动替换"MySheetName"。 "10000"看起来也很糟糕,但我不知道如何确定它会在所有行上获得 Max((。我永远不会在每张纸上填充超过 100 行,所以 10000 行似乎是安全的。