簡體   English   中英

如果不是列中的第一個單元格,如何根據其值在Excel中獲取單元格的位置?

[英]How can I get the location of a cell in Excel based on its value if it's not the first one in the column?

我知道如何使用indexmatch公式來獲取匹配單元格的值或位置。 但是我不知道該怎么做,是在我要查找的單元格不會成為第一個匹配項時獲取該信息。

以下面的圖片為例。 我想獲取顯示“成功交付”的單元的位置。 在此示例中,第11行和第30行有一個與之匹配的單元格。這些位置將來可能會有所不同,因此我需要一個足夠聰明的公式來處理該問題。

我如何獲得“成功交付”的第二個實例的位置? 我認為我可以使用第24行的“組合2統計”值作為起點。

我嘗試使用此公式:

=MATCH("Successful Deliveries:",A24:A1000,0)

但是它返回的行號7剛好與我開始比賽時所用的A24單元格有關。

我的最終目標是從單元格中直接在“成功交付”的第二個匹配項的右側獲取值。

在此處輸入圖片說明

在公式中,無需進一步的智能,您只需添加23即可將結果調整為7:

=MATCH("Successful Deliveries:",A24:A1000,0) + 23

您知道要添加的數字是23,因為您是從第24行開始搜索的。

完整答案在這里:

https://exceljet.net/formula/get-nth-match-with-index-match

您使用以下公式:

=INDEX(B1:B100,SMALL(if(A1:A100 = "Successful Deliveries:",ROW(A1:A100) - ROW(INDEX(A1:A100,1,1))+1),2))

...其中2是您想要的實例。

確保通過按ctrl-shift-enter完成輸入公式。 (您知道您做對了,因為該公式使用大括號{})

這個怎么運作

通常,我們使用INDEX / MATCH查找值。 Index函數為您提供范圍內的第n個值,而Match函數確定哪個“ n”與我們的條件匹配。

在這里,我們以相同的方式使用INDEX,但是我們需要更多的情報來找到“ n”,因為它是與條件匹配的第二個。 這就是SMALL的用處。Small函數“獲得數組中的第n個最小值”。 因此,我們為Small提供所需實例的編號(在本例中為2),並為其提供一個空白數組和所需行的行號。

我們使用If函數獲得了空白和行號數組,要求它檢查我們的條件(=“ Successful ...”)並使其返回條件通過的行號(= Row(A1:A100)) 。 通過將If函數用作數組函數(通過為其提供數組並使用ctrl-shift-enter),可以傳遞完整的值列表。

我們的最終值只是一個數字,因為Small函數使用了IF中的數組來返回一件事:我們給它的第二小行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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