彰化一整天的論壇

 找回密碼
 立即註冊
查看: 380|回復: 7

[分享]找出列或欄第一個或最後一個非空白儲存格

[複製鏈接]
發表於 2017-8-11 09:08:10 | 顯示全部樓層 |閱讀模式
本帖最後由 goodnight 於 2017-8-11 09:22 編輯

這個是適用於不連續的資料, 有時資料列或資料欄中間有空白時, 會影響excel的判斷, 不過網路上已有相關的資料了
以下公式也是從網路上找的, 修改成我自己需要的公式

這只是為了我自己的需求, 要找出列或欄第一個或最後一個非空白儲存格

找出第一個非空白儲存格, 只能使用陣列公式 (公式打完後, 需要按 ctrl+shift +[enter])
  1. {=INDEX($AD$1:$IV$1,1,MATCH(TRUE,AD5:IV5<>"",))}

  2. 說明 :
  3. =INDEX(標題列,要取出的位置,MATCH(TRUE,AD5:IV5<>"",))}
  4. $AD$1:$IV$1 是標題列範圍 (依各位需求自行修改)
  5. AD5:IV5: 資料列 (依各位需求自行修改)
  6. 要取出的位置: 因為我想要從有資料的位置, 取出標題列的名稱, 所以是1 , 各位也可以自行修改
複製代碼

找出最後一個非空白儲存格, 非陣列公式, 抓結束標題欄日期
  1. =LOOKUP(9^9,AD5:IV5,$AD$1:$IV$1)
複製代碼


為什麼是 9^9 , 要請老師來幫忙解答了, 我想可能是 9.9E+307 的另一種寫法

回復

使用道具 舉報

發表於 2017-8-11 09:31:26 | 顯示全部樓層
本帖最後由 imingho 於 2017-8-11 09:32 編輯

lookup會忽略錯誤值,查找比9^9小且最接近的數字.
那個9^9只是會為了比您找的資料大就可以.您也可以直接用數字輸入,只是用次方是比較快的表示.
您可以參考底下這個網頁說明.
http://www.officezhushou.com/vlookup/4538.html
回復 支持 反對

使用道具 舉報

發表於 2017-8-11 15:07:55 | 顯示全部樓層
本帖最後由 imingho 於 2017-8-11 21:31 編輯

我幫您試了.您這個公式只可以找出有數字的最後一列.所以它要用一個比您輸入的值還大的數字,所以它用9^9若您設的數字太小,就會回傳不對的欄位.

回復 支持 反對

使用道具 舉報

發表於 2017-8-11 21:41:26 | 顯示全部樓層
imingho 發表於 2017-8-11 15:07
我幫您試了.您這個公式只可以找出有數字的最後一列.所以它要用一個比您輸入的值還大的數字,所以它用9^9若您 ...

底下是我試的過程分享.
lookup_value_01.jpg

1.若只有1欄是數字.會回傳那一欄

lookup_value_02.jpg

2.若全部都是數字.會有不同的結果.例如數字5

lookup_value_03.jpg

3.若全部都是文字,就找不到

lookup_value_04.jpg

4.若是找文字.也會有大小區別.




您也可以參考微軟網頁的介紹
https://support.office.com/zh-tw/article/LOOKUP-%E5%87%BD%E6%95%B8-446d94af-663b-451d-8251-369d5e3864cb
其中有提到
重要: lookup_vector 中的值必須以遞增順序排列:..., -2, -1, 0, 1, 2, ...、A-Z、FALSE、TRUE,否則,LOOKUP 可能不會傳回正確的值。 文字不區分大小寫。
  • [size=1em]如果 LOOKUP 函數找不到 lookup_value,就會比對 lookup_vector小於或等於 lookup_value 的最大值
  • [size=1em]如果 lookup_value 小於 lookup_vector 中的最小值,LOOKUP 函數會傳回 #N/A 的錯誤值。


lookup_last_cells.xlsx

9.94 KB, 下載次數: 0

售價: 1 金錢  [記錄]  [購買]

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-8-16 09:58:01 | 顯示全部樓層
imingho 發表於 2017-8-11 15:07
我幫您試了.您這個公式只可以找出有數字的最後一列.所以它要用一個比您輸入的值還大的數字,所以它用9^9若您 ...

Dear 老師
9^9 是 9的9次方, 對嗎? 如果是, 我就不擔心了, 因為不會超過 10萬
所以應該是足夠, 但如果不是 9的9次方, 那我還真的錯了
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-8-16 10:31:12 | 顯示全部樓層
imingho 發表於 2017-8-11 21:41
底下是我試的過程分享.

1.若只有1欄是數字.會回傳那一欄

我記得, 文字的判斷和數字的判斷, 參數是不同的, 可能還要再找一次
回復 支持 反對

使用道具 舉報

發表於 2017-8-16 10:56:33 | 顯示全部樓層
goodnight 發表於 2017-8-16 10:31
我記得, 文字的判斷和數字的判斷, 參數是不同的, 可能還要再找一次

對.9^9 是 9的9次方
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-8-16 11:01:19 | 顯示全部樓層
我又找到一些資料
數值: =LOOKUP(9^9,資料範圍,要傳回對應的範圍)
文字: =LOOKUP(CHAR(65535),資料範圍,要傳回對應的範圍)

但若文數字混合, 我想就沒這麼單純了, 可能要用很複雜的公式了

只是因為我不想用VBA , 不然簡單多了
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

 ㄚ母滴雞湯
 員林香純滴雞精

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)  |网站地图

GMT+8, 2018-5-22 19:55 , Processed in 0.039929 second(s), 13 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表