![](/img/trans.png)
[英]Lookup rate with Index/Match with two criteria including one date range
[英]How to find at match between two rows in excel based on multiple criteria, including fitting inside a date range
這讓我不堪重負,在考慮完成此任務所需的邏輯的同時,我一直在失去兔子。 我的VBA知識幾乎不存在,所以我很抱歉不包括我到目前為止已經嘗試過的內容。
我有兩張5欄。 第一頁包含將來日期的時間表。 第二張紙包含該時間表的當天更改。 我想查找當日更改對應於原始計划中的日期,ID和顏色的實例(這意味着不必進行當日更改或計划有誤)。
這是兩張時間表表
和Sane日單
理想情況下,我想從同一個工作日表中返回第3行和第6行,或者在F列中使用“ 1”。
我完全迷失了方向,即使向正確的方向踢也將是巨大的幫助。
謝謝。
這將在F列中放置“ 1”; 它不適用於任何錯誤值-生成類型不匹配錯誤
Option Explicit
Public Sub FindConflicts()
Dim ws1 As Worksheet, ws2 As Worksheet
Dim ur1 As Variant, ur2 As Variant, r1 As Long, r2 As Long
Dim lb1 As Long, ub1 As Long, lb2 As Long, ub2 As Long
Set ws1 = Worksheets("Schedule")
Set ws2 = Worksheets("Same Day")
ur1 = ws1.UsedRange: lb1 = LBound(ur1): ub1 = UBound(ur1)
ur2 = ws2.UsedRange: lb2 = LBound(ur2): ub2 = UBound(ur2)
ur2 = ws2.UsedRange.Resize(, ws2.UsedRange.Columns.Count + 1)
For r2 = lb2 + 1 To ub2
For r1 = lb1 + 1 To ub1
If ur2(r2, 1) = ur1(r1, 1) Then 'compare columns 1
If ur2(r2, 2) = ur1(r1, 2) Then 'compare columns 2
'compare 1st date in col 4 of ws2, if between col 4 and col 5 of ws1
'or 2nd date in col 5 of ws2, if between col 4 and col 5 of ws1
If (ur2(r2, 4) >= ur1(r1, 4) And ur2(r2, 4) <= ur1(r1, 5)) Or _
(ur2(r2, 5) >= ur1(r1, 4) And ur2(r2, 5) <= ur1(r1, 5)) Then
ur2(r2, 6) = 1
End If
End If
End If
Next
Next
ws2.UsedRange.Resize(, ws2.UsedRange.Columns.Count + 1) = ur2
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.