在工作表 1 中显示从工作表 2 到 Excel 中工作表的最新条目

  • 本文关键字:工作 最新 Excel 显示 excel vba
  • 更新时间 :
  • 英文 :


>我有一个 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 行似乎是安全的。

相关内容

最新更新