2 回答

TA貢獻1801條經驗 獲得超16個贊
為此,您需要兩個函數:
MATCH 將在范圍內查找值并返回其位置。 INDIRECT 將允許您指定表示范圍的字符串,并將返回該范圍中包含的值。
匹配功能
間接函數
做了這樣的測試:
我在K9中的公式是:
=INDIRECT("A"&MATCH(L4;A:A;0)&":B"&(MATCH(L4;A:A;0)-1+L5))
它是這樣工作的:
MATCH(L4;A:A;0)
會在A列中找到ID位置。因為我說我是在整列中搜索,所以返回的值是ID所在的行號。所以如果我想找到 ID 2,它將返回3
。我們將上一步中的數字與字符串結合起來,得到一個像 一樣的字符串
A3:B5
。5 是從MATCH(L4;A:A;0)-1+L5)
我想要查找的 ID 的行號中獲得的,將要獲取的行數相加,然后減去 1。INDIRECT("A3:B5")
是我想要的并且已返回。
注意:根據您的 Excel 版本,間接是否會自動擴展到相鄰單元格。
注 2:如果未找到 id,MATCH 將引發錯誤,并且公式將不起作用。
首先使用 COUNTIF 檢查 ID 是否存在于 A 列中,如果為真,則執行 MATCH 和 INDIRECT。像這樣的東西:
=IF(COUNTIF(A:A;L4)>0;INDIRECT("A"&MATCH(L4;A:A;0)&":B"&(MATCH(L4;A:A;0)-1+L5));"ID NOT FOUND")
如果返回的行數為 0 或更少,則相同。

TA貢獻1111條經驗 獲得超0個贊
根據您的 Excel 版本,有多種公式。
如果您有動態數組(Excel 2016+,如果我沒記錯的話),您可以在單個單元格中輸入以下內容。如果您的 Excel 沒有動態數組,則需要進行修改。
=INDEX(fruitTbl,Start,0):INDEX(fruitTbl,Count+Start-1,0)
我將數據范圍轉換為 Excel 表,但如果您愿意,也可以使用常規尋址。對于表,第一行數據將是,1
因為表僅返回數據主體范圍。
如果您沒有動態數組,請嘗試
在某個單元格中輸入:
=IFERROR(INDEX(INDEX(fruitTbl,Start,0):INDEX(fruitTbl,Count+Start-1,0),ROWS($1:1),COLUMNS($A:A)),"")
然后向右拖動一列
選擇兩個單元格并向下拖動至少直到您開始看到空白單元格
添加回答
舉報