[英]Excel VBA Index Match Dynamic Range
更新:斜體的所有措詞都已更改,因為我不認為我的問題已得到回答。
不幸的是,所有其他類似命名的問題都比我認為的更為詳盡。 因此,我所有的Google搜索結果都為零,我回頭問您excel向導如何。
基本上我想索引匹配一個動態范圍。 輸入數據是可變的,取決於要查詢的是一周中的數據,但好處是工作表始終與列相同, 但是列長是可變的 。 通常,我會在這里使用LastRow函數,但這是不可能的,因為它在公式中使用了參考單元格。 對於某些人來說,這可能非常簡單。 見下文:
ActiveCell.FormulaR1C1 = _
"=INDEX('Consolidation Sheet'!R8C2:R6477C2,MATCH('Workbook 1'!RC[-1],'Consolidation Sheet'!R8C6:R6477C6,0))"
LastRow = Cells(Rows.Count, "E").End(xlUp).Row
Range("F4").AutoFill Destination:=Range("F4:F" & LastRow), Type:=xlFillDefault 'fill F column
作為參考,“合並表”列在參考代碼中為B列或“ 2” 。 我要索引匹配要做的是根據員工人數查找員工輪班,但是每天的信息輸入是可變的,因為它是加班數據,所以我需要列長是動態的。 任何幫助都會有所幫助。
不確定是否需要使用索引/匹配計算什么,但是以下顯示了進行動態索引/匹配查找的階段。 假設數據是按員工排序的
ColumnA - EmployeeName
ColumnB - EmployeeHours
ColumnC - StartRowOfEmployee =MATCH(A3,A:A,0)
ColumnD - EndRowOfEmployee =C3+COUNTIF(A:A,A3)-1
ColumnE - SumOfEmployeeHours =SUM(INDEX(B:B,C3,0):INDEX(B:B,D3,0))
這將是快速且非易失的。 本質上,動態元素是通過將INDEX鏈接到SUM(Rng1:Rng2)來構建的,其中Rng1和Rng2是數據的動態開始和結束行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.