返回列表 上一主題 發帖

[發問] 如何尋找最後一筆資料,及最後一筆相符資料?

[發問] 如何尋找最後一筆資料,及最後一筆相符資料?



D3及E3為D2及E2應該顯示的資料

我使用=LOOKUP(REPT("讚",255),B:B)可以查詢到最後一筆資料
但對應到日期...用MATCH及index函數卻又抓不對

有人可解惑一下
謝謝

D2儲存格我知道該怎用了
  1. =LOOKUP(REPT("讚",255),B:B,A:A)
複製代碼
這樣就抓到最後一筆資料時間了

但是E2還是想不出來,有那位高手可以解答
謝謝

TOP

本帖最後由 p212 於 2014-4-15 16:05 編輯

回復 2# easygo
1、請圈選狀態(A1:B20),按Ctrl+Shift+F3,以「頂端列」為範圍名稱。
2、輸入下列陣列公式 (按Ctrl+Shift+Enter輸入公式)
儲存格D2  =INDEX(日期,MAX(IF(LEN(狀態)>0,ROW(狀態),FALSE))-1)
儲存格E2  =INDEX(狀態,MAX(IF(LEN(狀態)>2,ROW(狀態),FALSE))-1)
請參考!

TOP

本帖最後由 easygo 於 2014-4-16 12:09 編輯
回復  easygo
1、請圈選狀態(A1:B20),按Ctrl+Shift+F3,以「頂端列」為範圍名稱。
2、輸入下列陣列公式 ...
p212 發表於 2014-4-15 15:59


可以了,謝謝

所以要使用陣列公式才能解決??
陣列公式對我還說還有點霧煞煞... :L
只慢慢摸索.

TOP

D2 =LOOKUP(1,0/("數量"=LEFT($B2:$B20,2)),A2:A20)
右拉
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

本帖最後由 p212 於 2014-4-16 14:31 編輯

回復 5# ML089
版大真厲害!
可以解析一下公式?(還不太瞭解LOOKUP函數,第二個引數0/("數量"=LEFT($B2:$B20,2)),是在造 {#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!...} 的結果?)
謝謝!

TOP

回復 6# p212

>> 可以解析一下公式?(還不太瞭解LOOKUP函數,第二個引數0/("數量"=LEFT($B2:$B20,2)),是在造 {#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!...} 的結果?)
   
一、0/("數量"=LEFT($B2:$B20,2)) 就是 當 $B2:$B20 前2字為 "數量" 時   0/TRUE=0,否時 0/FALSE=#DIV/0!,造 {#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!...} 這樣的陣列。

二、利用LOOKUP特性
1.  第二個引數有錯誤資料#DIV/0!時會忽略。 用 0/FALSE=#DIV/0! 將不要的資料去除。
2.  第二個引數只剩下 0 為有效資料。用 0/TRUE=0 將符合的資料轉為0(除0的精神)。
3. 第一個引數 1 大於 第二個引數所有資料 0 時,會回傳最後一組 0 所對應 第三個引數資料。

三、利用 絕對($)與相對儲存格關係,做成單一公式
D2 =LOOKUP(1,0/("數量"=LEFT($B2:$B20,2)),A2:A20)
右拉複製公式為E2公式如下
E2=LOOKUP(1,0/("數量"=LEFT($B2:$B20,2)),B2:B20)

主要判斷式是B欄,$B2:$B20將欄位設定成絕對($)位置,讓右拉複製公式時不會改變
D2回傳值 A2:A20,將欄位設定成相對位置,讓右拉複製公式時改變為 B2:B20

四、LOOKUP除用來找區間值外,下式最常使用的一種方式
=LOOKUP(1,0/(比較式),回傳值)
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

本帖最後由 p212 於 2014-4-16 16:39 編輯

回復 7# ML089
 超感謝ML089版大解開吾人關卡
【第一個引數 1 大於 第二個引數所有資料 0 時,會回傳最後一組 0 所對應 第三個引數資料。
LOOKUP除用來找區間值外,下式最常使用的一種方式 =LOOKUP(1,0/(比較式),回傳值)】
謝謝老師熱心指導!開心收藏!

TOP

D2 =LOOKUP(1,0/("數量"=LEFT($B2B20,2)),A2:A20)
右拉
ML089 發表於 2014-4-16 14:05


謝謝,答覆

但是最後一次的日期D2顯示還有有誤,應該是抓最後一筆日期,而不是最後有數量的日期

E3儲存格公式用
  1. =LOOKUP(1,0/("數量"=LEFT($B2:$B20,2)),B2:B20)
複製代碼
顯示就正確了

但我用EXECL可以用這方式
套用到google試算表....就無法用這方式,使用會顯示#DIV/0!

TOP

回復 9# easygo

7樓已經說明
D2 =LOOKUP(1,0/("數量"=LEFT($B2:$B20,2)),A2:A20)
右拉複製公式為E2公式如下
E2=LOOKUP(1,0/("數量"=LEFT($B2:$B20,2)),B2:B20)


GOOGLE 中 LOOKUP使用方式與EXCEL不同,所以不能使用
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

        靜思自在 : 信心、毅力、勇氣三者具備,則天下沒有做不成的事。
返回列表 上一主題