KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在 Excel 中找出並傳回特定列或欄中的倒數第二個數值?

作者Siluvia修改日期

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

Excel 中顯示資料列與欄位資料的表格截圖


使用公式在特定列或欄中找出並傳回倒數第二個值

如上圖所示,當您在範圍 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))

在 Excel 中找出欄位倒數第二個值的公式截圖

注意:在此公式中,B:B 代表 B 欄。若您需要取得其他欄的倒數第二個值,只需將 B:B 修改為對應的欄參照(例如改為 )C:C 即可取得 C 欄的值)。此方法適用於包含或不含空白儲存格的區域;但若資料中含有隱藏值或已被篩選排除的項目,請留意可能產生的差異。若未顯示預期結果,請務必再次確認您的數據範圍是否正確。

在第 6 列中找出並傳回倒數第二個值

選取一個空白儲存格以顯示第 6 列的結果,接著在編輯欄中輸入下列公式,並按下 Enter 確認。

=OFFSET($A$6,0, COUNTA(6:6)-2,1,1)

在 Excel 中找出資料列倒數第二個值的公式截圖

注意:在上述公式中,$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 功能區上,按一下資料 > 篩選,即可啟用篩選箭頭。接著,在欄標題或所選區域旁,點選篩選下拉式清單。
  • 取消勾選(空白),即可隱藏空儲存格,僅顯示非空白值。
  • 處理欄時,請捲動至篩選清單底部,查看倒數第二個值;處理列時(若可篩選),請從右側開始計數,找出倒數第二個非空白項目。

注意事項與小技巧:

  • 篩選法最適合用於小型至中型清單,或當您需要透過視覺確認數值位置時。
  • 若您的資料集極為龐大,篩選可能會影響效能,並不適合用於自動化或重複執行。
  • 套用篩選時,請務必確認您檢視的是正確內容(篩選清單可能會略過隱藏的列或欄)。
  • 若要移除篩選,請在資料索引標籤中點擊清除

此方法雖不適合用於持續性的動態分析或大型資料集,卻能提供透明的手動檢查方式,快速找出倒數第二個非空白項目,非常有助於即時疑難排解與驗證。


相關文章:

最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 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 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用