返回列表 上一主題 發帖

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

回復 1# Bodhidharma

=LOOKUP(2,1/(A1:A9="A"),ROW(A1:A9))
學海無涯_不恥下問

TOP

回復 3# p212

詳細請看LOOKUP函數說明
因為在無排序狀態要找到最後一個符合小於等於搜尋值最方便的就是LOOKUP
此例中2為搜尋值
1/(A1:A9="A")
會產生一個1與除以0的錯誤值陣列
在此陣列找到最後一個小於等於2的位置即為所求
學海無涯_不恥下問

TOP

學海無涯_不恥下問

TOP

回復 8# p212
函數說明都只是基本功能說明
應用完全是依據個人思考而產生不同程度的效果
這類書籍似乎還沒有,因為畢竟這會與表格配置、資料型態等因素
而有不同的思考,只有自己多看、多想才能夠融會貫通
學海無涯_不恥下問

TOP

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

TOP

回復 21# Bodhidharma
函數使用不必拘泥於何種方式
只要能夠達到所需的方法都是好方法
至於您提到COUNTIF(OFFSET(A1,,,ROW(A1:A20),),E9)=D9不會被視為是一個矩陣
其中的前段(A1:A20=E9)會得到一個陣列無虞
當公式使用ENTER直接輸入,並未告知EXCEL要使用陣列,所以ROW(A1:A20)會傳回範圍的第一個儲存格列位
做為A1:A20=E9這個陣列中每個元素的相同倍數
唯有使用陣列公式,才會讓ROW(A1:A20)傳回1~20的陣列
學海無涯_不恥下問

TOP

        靜思自在 : 一個人不怕錯,就怕不改過,改過並不難。
返回列表 上一主題