如何根据当前日期在下一张表上显示表格?

如何根据当前日期在下一张表上显示表格?

假设我在一张工作表上有多个表格。每个表格代表一年中的一个月。我想在下一张工作表上显示其中一个表格,即当前月份的表格。

我怎样才能实现这个目标?

答案1

假设:

Sheet1 包含如下表格:

日期......第一列......
2012-01-01 一些文本... ...
2012-01-02 ...
....

然后在 Sheet2 中输入以下内容:

A1:基础    
B1:2012-02-01
C1: =MATCH(B1;Sheet1!A2:A9999)  
A2:结束
B2:=B1+(DATE(YEAR(B1);MONTH(B1)+1;DAY(B1))-B1)-1,=B2-B1
A3:=Sheet1!A1
B3:=Sheet1!B1
A4:=IF(ROWS($A$4:A4)<=($C$2);OFFSET(Sheet1!$A$2;$C$1+ROWS($A$4:A4)-2;COLUMNS($A$4:A4)-1);"")

... 将显示类似于(例如第二列作为第一列的长版本日期):

基数 2012-02-12 43 < 开始行
结束。2012-03-11 28 < 计数
日期 dText       
2012-02-12 2012 年 2 月 12 日       
2012-02-13 2012 年 2 月 13 日       
2012-02-14 2012 年 2 月 14 日       
2012-02-15 2012 年 2 月 15 日       
2012-02-16 2012 年 2 月 16 日       
2012-02-17 2012 年 2 月 17 日       
2012-02-18 2012 年 2 月 18 日       
2012-02-19 2012 年 2 月 19 日       
2012-02-20 2012 年 2 月 20 日       
2012-02-21 2012 年 2 月 21 日       
2012-02-22 2012 年 2 月 22 日       
2012-02-23 2012 年 2 月 23 日       
2012-02-24 2012 年 2 月 24 日       
2012-02-25 2012 年 2 月 25 日       
2012-02-26 2012 年 2 月 26 日       
2012-02-27 2012 年 2 月 27 日       
2012-02-28 2012 年 2 月 28 日       
2012-02-29 2012 年 2 月 29 日       
2012-03-01 2012 年 3 月 1 日        
2012-03-02 2012 年 3 月 2 日        
2012-03-03 2012 年 3 月 3 日        
2012-03-04 2012 年 3 月 4 日        
2012-03-05 2012 年 3 月 5 日        
2012-03-06 2012 年 3 月 6 日        
2012-03-07 2012 年 3 月 7 日        
2012-03-08 2012 年 3 月 8 日        
2012-03-09 2012 年 3 月 9 日        
2012-03-10 2012 年 3 月 10 日       

...假设你把A4的内容填入前两列(例子中,随意扩展),并且在Sheet1中有显示的数据。

更改“基准”日期,显示将会适应,使用基准日期月份的天数作为行数。

“起始行”是 match() 使用基准日期作为参数在第一张工作表上找到的行。

“count” 是该月中的天数。

然后在 A4 中的公式中使用这些值,通过 OFFSET()、计算 ROWS() 和 COLUMNS() 来挑选出数据的相关部分。

尝试将其保存为“Test.csv”并在 Excel 中打开,以获取输入的公式:

base,2012-02-02,=MATCH(B1;Sheet1!A2:A9999),"=""< 起始行"""
结束,=B1+(DATE(YEAR(B1);MONTH(B1)+1;DAY(B1))-B1)-1,=B2-B1,"=""< count"""
=工作表 1!A1,=工作表 1!B1,,
"=IF(ROWS($A$4:A4)<=($C$2);OFFSET(Sheet1!$A$2;$C$1+ROWS($A$4:A4)-2;COLUMNS($A$4:A4)-1);"""")","=IF(ROWS($A$4:B4)<=($C$2);OFFSET(Sheet1!$A$2;$C$1+ROWS($A$4:B4)-2;COLUMNS($A$4:B4)-1);"""")",,

相关内容