因此,在Excel工作表的顶部,我有2个单元格,A2
和B2
,人们可以在其中输入开始和结束日期。
在单独的表格中,我在列A
和B
中列出了大量的开始和结束日期,以及D
列到{G
列中每个“事件”的相应数据{1}}。我需要我的函数来复制开始日期在两个指定日期之间的所有行,并将数据复制到第一个工作表,在单元格A4 - G4
到A100 - G100
中。 (我只选择100作为一个大数字,以确保放置数据的区域足够大)
我猜这个我需要的功能包括INDEX
功能,但我只知道如何使用它来一次查找一个数据单元,而不是如何复制整个单元格范围。
有人可以帮忙吗?
答案 0 :(得分:1)
无需帮助列。
将此公式输入单元格A4:
=IFERROR(INDEX(data!D$2:D$9999,SMALL(IF((data!$A$2:$A$9999>=$A$2)*(data!$A$2:$A$9999<=$B$2),ROW(data!$D$2:$D$9999),9E+99),ROW(1:1))-1),"")
这是一个数组公式,必须使用 Ctrl + Shift + Enter 确认。
现在将公式复制到范围B4:D4。
现在将A4:D4复制到A5:D100范围内。
那就是它。
答案 1 :(得分:0)
我们假设数据表中的C列是空白的,可以自由添加公式。
我们还假设数据从第2行开始。
然后可以将以下公式放入C2&amp;复制下来:
=IF(AND(A2>=Sheet1!$A$2,B2<=Sheet1!$B$2),C1+1,C1)
基本上它是说如果当前记录的开始日期大于或等于用户正在查找的日期,并且结束日期同样在范围内,则重复记录,否则不重复。
此时用户工作表可以有一个简单的VlookUp,如下所示:
在D1中:=VLOOKUP(ROW($A1),Sheet2!$C:$G,COLUMN(B$1),0)
将其复制到G并向下复制你想要的很多行。