返回列表 上一主題 發帖

[發問] match函數處理重複數值,如何傳回最後符合的列?

看了這一篇文章後想了很久,才慢慢有點了解...
於是找了其他函數&修改一下版主的公式,想知道是不是一定要用 1/(A1:A9="A") 製造出 #DIV/0!,
發現 =LOOKUP(2,FIND("A",A1:A9),ROW(A1:A9)) 也是可以找到最後一個值,
感覺意思有點像,但是不是如gong版主所說的一樣,我還需要再研究。

想到另一個問題,若是要找第n個(不是第1個或最後1個,而是第2 or 3 or 4個)數值的時候,公式應該如何修改?

TOP

回復 11# lukychien

找第n大(小)的話,大概就是像我首篇那用,用large(small)函數了吧
large(if($A$1:$A$9="A",row($A$1:$A$9),""),n)=8

TOP

=LOOKUP(N,(A1:A9="A")*COUNTIF(OFFSET(A1,,,ROW(A1:A9),),"A"),ROW(1:9))

TOP

回復  lukychien

找第n大(小)的話,大概就是像我首篇那用,用large(small)函數了吧
large(if($A$1A$ ...
Bodhidharma 發表於 2013-3-15 22:14


好像不行...

TOP

=LOOKUP(N,(A1:A9="A")*COUNTIF(OFFSET(A1,,,ROW(A1:A9),),"A"),ROW(1:9))
ANGELA 發表於 2013-3-15 23:35



有時候找的到,有時候找不到...

活頁簿1.rar (7.68 KB)

TOP

回復 15# lukychien
{=SMALL(IF((A1:A20=E9),ROW(A1:A20)),D9)}

TOP

回復 16# JBY

原來是這樣...   謝謝您

一個主題學到二樣東西,還不錯...


#12樓的先進 (Bodhidharma) ...

不好意思,是我搞錯了,難怪抓不出來...  抱歉抱歉

TOP

回復 15# lukychien
=LOOKUP(2,1/((A1:A20=E9)*(COUNTIF(OFFSET(A1,,,ROW(A1:A20),),E9)=D9)),ROW(A1:A20))
學海無涯_不恥下問

TOP

本帖最後由 Bodhidharma 於 2013-3-19 01:36 編輯
回復  lukychien
=LOOKUP(2,1/((A1:A20=E9)*(COUNTIF(OFFSET(A1,,,ROW(A1:A20),),E9)=D9)),ROW(A1:A20))
...
Hsieh 發表於 2013-3-16 23:47


1. G3~G5格似乎把E9誤植為E8了
2. G4格=INDEX(MATCH(2,1/(A1:A20=E9)),),似乎用=MATCH(2,1/(A1:A20=E9))即可,不需再加index?
3. G9格=LOOKUP(2,1/((A1:A20=E9)*(COUNTIF(OFFSET(A1,,,ROW(A1:A20),),E9)=D9)),ROW(A1:A20)),其中(A1:A20=E9)*(COUNTIF(OFFSET(A1,,,ROW(A1:A20),),E9)=D9))好像就已經是0與1的陣列,而且只有一個1是正確的位置,因此似乎也可以用=MATCH(1,(A1:A20=E9)*(COUNTIF(OFFSET(A1,,,ROW(A1:A20),),E9)=D9),0)或=MATCH(E9&D9,A1:A20&COUNTIF(OFFSET(A1,,,ROW(A1:A20),),E9),0)
4. 上面這個函式有趣歸有趣,不過我覺得還是用large最簡單方便(而且應該也不會沒效率吧)

TOP

=LOOKUP(N,(A1:A9="A")*COUNTIF(OFFSET(A1,,,ROW(A1:A9),),"A"),ROW(1:9))
ANGELA 發表於 2013-3-15 23:35


lookup函數是用二分搜尋法,搜尋矩陣沒有遞增的時候會出問題

TOP

        靜思自在 : 修行要繫緣修心,藉事練心,隨處養心。
返回列表 上一主題