[英]How can I find the LAST match in a MMULT lookup in Excel?
我是我們教會的歌曲領袖,我正在使用電子表格來跟蹤我們最近使用贊美詩書中的每首贊美詩的情況。 (為了讓我們每周唱的歌曲有一些輪播。)
在 Exceljet 上使用一些非常有用的指南,我能夠構建一個幾乎完全符合我想要的公式......它告訴我多少周前我們使用了我們贊美詩書中的每首歌。 問題是它目前只顯示我們第一次使用這首歌的時間,而不是最后一次或最近一次,這是我真正想要做的。
我遇到的關鍵問題是如何從MMULT()
公式中獲取最后一個條目。 下面顯示了一個簡化的示例...我想返回A
列中的最后一個日期,其中示例贊美詩 #15 列在B
、 C
或D
列中。
我當前的公式在獲取第一個匹配行(第 3 行)方面做得很好,但沒有給我最后一行(第 5 行)。
{=INDEX(ServiceDate,MATCH(1,MMULT(--(HymnNumbers=F2),TRANSPOSE(COLUMN(HymnNumbers)^0)),0))}
( ServiceDate
= A:A
和HymnNumbers
= B:D
)
是的,我意識到還有其他方法可以找到最后一個匹配項,如果我構建一個非常復雜的表達式來單獨搜索每列中的最后一個匹配項並找到最大的日期值,則使用MATCH
和LOOKUP
,但性能也是一個問題我正在使用的實際電子表格中數據的大小。
我可以在當前的MMULT
函數中調整一些簡單的東西來返回最后一個匹配而不是第一個匹配嗎?
您的公式可以修改如下...
=INDEX(ServiceDate,MATCH(2,1/MMULT(--(HymnNumbers=F2),TRANSPOSE(COLUMN(HymnNumbers))^0)))
但是,您可以避免使用 MMULT,如下所示...
=INDEX(ServiceDate,LARGE(IF(HymnNumbers=F2,ROW(ServiceDate)-MIN(ROW(ServiceDate))+1),1))
請注意,這兩個公式都需要使用 CONTROL+SHIFT+ENTER 進行確認。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.