答案 0 :(得分:1)
使用基于Excel公式的方法非常简单:
尝试以下公式:
=INDEX(B:B,MATCH(TODAY(),A:A,0))
当然,此公式可以在任何其他工作表上,并且不必与上述数据值在同一工作表上。只需确保A
列中的日期是没有时间的日期。有关详细信息,您可能需要阅读:http://stackoverflow.com/a/38001028/1153513
根据评论中提出的其他问题详细说明答案。
如果您要查找的日期与Today()
不同,则可以使用Date()
函数构建。此功能适用于2017年10月30日:
=Date(2017, 10, 30)
与功能Year,Month和Day一起,您可以将今天的日期重写为:
=DATE(YEAR(TODAY()),MONTH(TODAY()),DAY(TODAY()))
像这样,您可以根据今天的日期动态调整您要搜索的日期。因此,如果您要比提前一年查找完全相同的日期:
=DATE(YEAR(TODAY())-1,MONTH(TODAY()),DAY(TODAY()))
因此,上面针对单元格E24
发布的调整后的公式将是(搜索过去一年的今天日期):
=INDEX(B:B,MATCH(DATE(YEAR(TODAY())-1,MONTH(TODAY()),DAY(TODAY())),A:A,0))
答案 1 :(得分:0)
那么你现在没有指定你希望粘贴数据的sheet2上的位置,所以我只是把它们放在A1:A2
Sub test()
Dim lLastUsed As Long
Dim ws1 As Worksheet
Dim ws2 As Worksheet
lLastUsed = Cells(1048576, 1).End(xlUp).Row
Set ws1 = Sheets("Sheet1")
Set ws2 = Sheets("Sheet2")
For i = 2 To lLastUsed
If Replace(Date, "-", ".") = Range("A" & i).Value Then
ws1.Range("B" & i & ":C" & i).Copy
End If
Next i
ws2.Range("A1").PasteSpecial
End Sub