如何在 Excel 中找出並傳回特定列或欄中的倒數第二個數值?
處理大型 Excel 工作表時,您需要的往往不只是列或欄中的最後一個值,而是特別要取得倒數第二個值。例如,如下圖所示,在表格範圍 A1:E16 中,您可能需要擷取第 6 列或 B 欄的倒數第二個值。這類需求常見於追蹤近期變更、監控時間序列資料,或分析資料集中最新但非當前的項目。相較於單純找出最後一個值,取得倒數第二個值可能較不直觀,尤其當資料包含空白儲存格或經常更新時更是如此。本文提供清晰、逐步的解決方案,助您提升工作效率並避開常見陷阱。

使用公式在特定列或欄中找出並傳回倒數第二個值
如上圖所示,當您在範圍 A1:E16 中需要找出並傳回第 6 列或 B 欄的倒數第二個值時,Excel 公式能提供動態且高效的解決方案。尤其當資料經常更新,或因新增/刪除作業導致倒數第二個值的位置可能變動時,使用公式更顯理想。相較於手動方式,公式可確保結果自動根據最新資料即時調整。
在 B 欄中找出並傳回倒數第二個值
1. 選取一個空白儲存格以顯示倒數第二個值。在編輯欄中輸入下列陣列公式,然後按下 Ctrl + Shift + Enter(適用於舊版 Excel)以確認其為陣列公式;在 Excel 365 或 Excel 2021 中,只需按 Enter 即可,系統會自動處理陣列公式。
=INDEX(B:B,LARGE(IF(B:B<>"",ROW(B:B)),2)) 
注意:在此公式中,B:B 代表 B 欄。若您需要取得其他欄的倒數第二個值,只需將 B:B 修改為對應的欄參照(例如改為 )C:C 即可取得 C 欄的值)。此方法適用於包含或不含空白儲存格的區域;但若資料中含有隱藏值或已被篩選排除的項目,請留意可能產生的差異。若未顯示預期結果,請務必再次確認您的數據範圍是否正確。
在第 6 列中找出並傳回倒數第二個值
選取一個空白儲存格以顯示第 6 列的結果,接著在編輯欄中輸入下列公式,並按下 Enter 確認。
=OFFSET($A$6,0, COUNTA(6:6)-2,1,1) 
注意:在上述公式中,$A$6 是第 6 列的第一個儲存格,而 6:6 則代表整列第 6 列。如有需要,請調整這些參照以套用至其他列。此公式會動態計算第 6 列中非空儲存格的數量,並依此從起始儲存格進行偏移,精準定位倒數第二個已填入資料的儲存格。若您的儲存格包含傳回空字串()"")的公式,COUNTA 仍可能將其視為非空白,進而影響計算結果。針對同時包含常數與公式的範圍,務必再次確認結果,以確保準確無誤。
使用公式的小技巧:
- 處理大型資料集時,使用整欄參照(例如 )
B:B)可能影響效能。若可行,建議將範圍精確限定於所需區域(例如B1:B100),以提升運算效率! - 若您的資料包含隱藏列或已套用篩選,公式仍會將隱藏及被篩選排除的儲存格納入計算。針對篩選後的資料,建議改用專門的 SUBTOTAL 函數或輔助欄位。
- 若目標列或欄中的所有值皆為空白,這些公式可能會傳回錯誤或非預期結果;請務必確保您的資料至少包含兩個非空白值。
VBA 程式碼 – 使用巨集在指定列或欄中找出倒數第二個值
對於經常需要在不同或大型範圍中找出倒數第二個值的使用者來說,使用 VBA 巨集自動化此流程能大幅節省寶貴時間,尤其在處理動態或複雜表格時更顯高效。當您在資料集大小頻繁變動、希望避免反覆調整公式,或需以相同方式從多個不同位置擷取該值時,巨集正是理想選擇。以下 VBA 程式碼解決方案會提示您輸入目標列或欄,隨即自動傳回倒數第二個值,無需手動計數或調整。
1. 前往 Excel 功能區中的開發人員工具,點選 Visual Basic 以開啟 VBA 編輯器。在編輯器中,點選插入> 模組,並將下列 VBA 程式碼貼到新建立的模組中:
Sub GetSecondToLastValue()
Dim rng As Range
Dim arr As Variant
Dim values As Collection
Dim i As Long
Dim secondLast As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.InputBox("Select the row or column range to analyze", xTitleId, Selection.Address, Type:=8)
If rng Is Nothing Then Exit Sub
arr = rng.Value
Set values = New Collection
If rng.Rows.Count = 1 Then
For i = 1 To rng.Columns.Count
If arr(1, i) <> "" Then
values.Add arr(1, i)
End If
Next i
ElseIf rng.Columns.Count = 1 Then
For i = 1 To rng.Rows.Count
If arr(i, 1) <> "" Then
values.Add arr(i, 1)
End If
Next i
Else
MsgBox "Please select a single row or single column range.", vbExclamation
Exit Sub
End If
If values.Count < 2 Then
MsgBox "There are less than two non-blank values in the selected range.", vbInformation
Exit Sub
End If
secondLast = values(values.Count - 1)
MsgBox "The second-to-last value is: " & secondLast, vbInformation
End Sub 2. 輸入程式碼後,返回 Excel,點擊
執行按鈕,或按下 Alt + F8,從清單中選取 GetSecondToLastValue。系統將提示您選取單一列或欄的範圍(例如欄使用 B1:B16,列使用 A6:E6)。確認選取後,巨集會在對話方塊中顯示倒數第二個值。
注意事項:
- 此巨集僅計算非空白儲存格,並自動跳過所選列或欄中的空白儲存格。
- 若選取範圍中的非空白值少於兩個,系統將顯示警告訊息,且不傳回任何數值。
- 此巨集適用於單一列或單一欄的選取範圍。若您同時選取多個列與欄,系統將提示您調整選取範圍。
- 若需自動化,您可進一步修改程式碼,將結果直接複製到工作表中的指定儲存格,而非顯示訊息方塊。
此 VBA 解決方案特別適合處理動態表格或頻繁變更的資料集,有效減少手動錯誤與重複性工作。
其他 Excel 內建方法 – 過濾所有空白,手動識別倒數第二個值
雖然公式與巨集能自動找出倒數第二個值,但有時您可能更偏好快速直觀的方式——特別是在處理不規則或非連續資料,或僅需偶爾確認數值時。善用 Excel 內建的篩選工具,即可暫時隱藏空白或無關的儲存格,輕鬆辨識目標項目,無需編輯或撰寫任何公式。
篩選方法:
- 選取您要處理的數據範圍(處理欄時,請選取 B1:B16;處理列時,請選取工作表中的 A6:E6)。
- 在 Excel 功能區上,按一下資料 > 篩選,即可啟用篩選箭頭。接著,在欄標題或所選區域旁,點選篩選下拉式清單。
- 取消勾選(空白),即可隱藏空儲存格,僅顯示非空白值。
- 處理欄時,請捲動至篩選清單底部,查看倒數第二個值;處理列時(若可篩選),請從右側開始計數,找出倒數第二個非空白項目。
注意事項與小技巧:
- 篩選法最適合用於小型至中型清單,或當您需要透過視覺確認數值位置時。
- 若您的資料集極為龐大,篩選可能會影響效能,並不適合用於自動化或重複執行。
- 套用篩選時,請務必確認您檢視的是正確內容(篩選清單可能會略過隱藏的列或欄)。
- 若要移除篩選,請在資料索引標籤中點擊清除。
此方法雖不適合用於持續性的動態分析或大型資料集,卻能提供透明的手動檢查方式,快速找出倒數第二個非空白項目,非常有助於即時疑難排解與驗證。
相關文章:
- 如何在 Excel 中找出文字字串中第一個或最後一個數字的位置?
- 如何在 Excel 中找出每月的第一個或最後一個星期五?
- 如何在 Excel 中運用 VLOOKUP 找出第一筆、第二筆或第 N 筆相符的值?
- 如何在 Excel 中找出範圍內出現次數最多的值?
最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……
Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!
- 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
- 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
- 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!
所有 Kutools 增益集,一個安裝程式
Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用