簡體   English   中英

Excel Index Match Formula最后更改

[英]Excel Index Match Formula last change

我有U列和L列。
我需要獲取的是在U列中搜索時L列中的值。

    Column L          Column U  
      516               11  
      123               11   
      74                5  
      46                11
      748               21  
      156               11  
      189               21
      187               21

例如:
我想在U列中搜索21,但是我需要從最后一次更改中找到第一個值
(該數字在此列中保持不變)。
因此,如果我想要屬於21的值,則需要獲得189。

我嘗試過(感謝Scott Craner):
=INDEX($L:$L,AGGREGATE(14,6,ROW($U$10:$U$500)/($U$10:$U$500=D2),1))
但這使我得到最后的21個值,所以187為答案。

有人知道如何解決這個問題嗎?

如果我對您的理解正確,我相信這可以完成任務:

=INDEX($L:$L,MATCH(INDEX($L:$L,AGGREGATE(14,6,ROW($U$9:INDIRECT("$U$"&MATCH(INDEX($L:$L,AGGREGATE(14,6,ROW($U$10:$U$500)/($U$10:$U$500=D2),1)),$L:$L,0)))/($U$9:INDIRECT("$U$"&MATCH(INDEX($L:$L,AGGREGATE(14,6,ROW($U$10:$U$500)/($U$10:$U$500=D2),1)),$L:$L,0))<>D2),1)),$L:$L,0)+1)

它建立在Scott的概念上,找到187,然后將搜索數​​組限制為找到187的行,然后找到沒有您要搜索的數字的最后一行(21)。 然后,它索引之后的第一行,這將是最后一個系列中的第一個匹配項。

在此處輸入圖片說明

您需要使用D2中的值查找U列中的最后一行,而緊接其上方的行不是同一值。

=INDEX(L:L, AGGREGATE(14,6,ROW(U$10:U$500)/((U$10:U$500=D2)*(U$9:U$499<>D2)),1))

在此處輸入圖片說明

現在將U15更改為另一個21。結果變為

在此處輸入圖片說明

要獲取L和U列中的動態值(從第10行開始),請使用,

=INDEX(L:L, AGGREGATE(14,6,ROW(U$10:INDEX(U:U, MATCH(1E+99, U:U)))/((U$10:INDEX(U:U, MATCH(1E+99, U:U))=D2)*(U$9:INDEX(U:U, MATCH(1E+99, U:U)-1)<>D2)),1))

暫無
暫無

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

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