簡體   English   中英

Excel VBA索引匹配動態范圍

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM