Skip to main content

獲取列或行中的第一個非空值

Author: Amanda Li Last Modified: 2025-05-12

要從單列或單行範圍中檢索第一個值(第一個非空的單元格,忽略錯誤),您可以使用基於INDEXMATCH函數的公式。但是,如果您不想忽略範圍中的錯誤,可以在上述公式中添加ISBLANK函數。

get first non-blank value in column row 1

獲取列或行中的第一個非空值(忽略錯誤)
獲取列或行中的第一個非空值(包括錯誤)


獲取列或行中的第一個非空值(忽略錯誤)

如上所示,若要檢索列表中忽略錯誤的第一個非空值,您可以在MATCH函數內使用INDEX函數“INDEX((range<>0),0)”來查找非空的單元格。然後使用MATCH函數定位第一個非空單元格的位置。該位置將被傳遞到外部的INDEX以檢索該位置的值。

通用語法

=INDEX(range,MATCH(TRUE,INDEX((range<>0),0),0))

  • 範圍:返回第一個非空單元格(包含文本或數字值)的一列或一行範圍,同時忽略錯誤。

要獲取列表中忽略錯誤的第一個非空值,請在E4單元格中複製或輸入以下公式,然後按Enter鍵以獲得結果:

=INDEX(B4:B15,MATCH(TRUE,INDEX((B4:B15<>0),0),0))

get first non-blank value in column row 2

公式的解釋

=INDEX(B4:B15,MATCH(TRUE,INDEX((B4:B15<>0),0),0))

  • INDEX((B4:B15<>0),0) : 此片段評估範圍 B4:B15 中的每個值。如果單元格為空,則返回FALSE;如果單元格包含錯誤,該片段將返回錯誤本身;如果單元格包含數字或文本,則返回TRUE。由於此INDEX公式的row_num參數為0,因此該片段將返回整個列的值陣列,例如:{FALSE;#REF!;TRUE;TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE}
  • MATCH(TRUE,INDEX((B4:B15<>0),0),0) = MATCH(TRUE,{FALSE;#REF!;TRUE;TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE},0): match_type 0 強制MATCH函數返回陣列中第一個完全匹配TRUE的位置。因此,該函數將返回3。
  • INDEX(B4:B15,MATCH(TRUE,INDEX((B4:B15<>0),0),0)) = INDEX(B4:B15,3): 然後INDEX函數返回範圍B4:B15中的第3個值,即extendoffice

獲取列或行中的第一個非空值(包括錯誤)

要檢索列表中包括錯誤的第一個非空值,您可以簡單地使用ISBLANK函數檢查列表中的單元格是否為空。然後INDEX將根據MATCH提供的位置返回第一個非空值。

通用語法

=INDEX(range,MATCH(FALSE,ISBLANK(range),0))

√ 注意:這是一個陣列公式,需要您使用Ctrl + Shift + Enter輸入,除非是在Excel 365和Excel 2021中。

  • 範圍:返回第一個非空單元格(包含文本、數字或錯誤值)的一列或一行範圍。

要獲取列表中包括錯誤的第一個非空值,請在E7單元格中複製或輸入以下公式,然後按Ctrl + Shift + Enter以獲得結果:

=INDEX(B4:B15,MATCH(FALSE,ISBLANK(B4:B15),0))

公式的解釋

=INDEX(B4:B15,MATCH(FALSE,ISBLANK(B4:B15),0))

  • ISBLANK(B4:B15): ISBLANK函數檢查範圍B4:B15中的單元格是否為空。如果是,則返回TRUE;如果不是,則返回FALSE。因此,該函數將生成如下陣列:{TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE}
  • MATCH(FALSE,MATCH(FALSE, ISBLANK(B4:B15) ,0),0) = MATCH(FALSE,MATCH(FALSE, {TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE} ,0),0) : match_type 0 強制MATCH函數返回陣列中第一個完全匹配FALSE的位置。因此,該函數將返回2
  • INDEX(B4:B15,MATCH(FALSE,ISBLANK(B4:B15),0)) = INDEX(B4:B15,2): 然後INDEX函數返回範圍B4:B15中的第2個值,即#REF!

相關函數

Excel INDEX函數

Excel INDEX函數根據給定的位置從範圍或陣列中返回顯示的值。

Excel MATCH函數

Excel MATCH函數在單元格範圍內搜索特定值,並返回該值的相對位置。


相關公式

使用INDEX和MATCH進行精確匹配

如果您需要找出Excel中關於特定產品、電影或人物等的資訊,您應該充分利用INDEX和MATCH函數的組合。

獲取列中的第一個文本值

要從單列範圍中檢索第一個文本值,您可以使用基於INDEX和MATCH函數的公式,也可以使用基於VLOOKUP函數的公式。

使用通配符定位第一個部分匹配

有時候,您需要獲取Excel中數值範圍內包含特定數字的第一個部分匹配的位置。在這種情況下,一個結合了星號(*)(匹配任意數量字符的通配符)的MATCH和TEXT公式會對您有所幫助。如果您還需要知道該位置的確切值,可以將INDEX函數添加到公式中。

查找第一個部分匹配的數字

有時候,您需要獲取Excel中數值範圍內包含特定數字的第一個部分匹配的位置。在這種情況下,一個結合了星號(*)(匹配任意數量字符的通配符)的MATCH和TEXT公式會對您有所幫助。如果您還需要知道該位置的確切值,可以將INDEX函數添加到公式中。


最佳的辦公生產力工具

Kutools for Excel - 幫助您脫穎而出

? Kutools AI 助手:基於智能執行生成代碼創建自訂公式分析數據並生成圖表調用 Kutools 函數…來徹底改變數據分析方式。
熱門功能查找、標記或識別重複值  |  刪除空行  |  合併列或單元格而不丟失數據  |  四捨五入無需公式 ...
超級 VLookup多條件  |  多值  |  跨多工作表  |  模糊查找...
高級下拉列表簡易下拉列表  |  依賴下拉列表  |  多選下拉列表...
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  比較列以選擇相同和不同的單元格 ...
特色功能網格聚焦  |  設計檢視  |  增強編輯欄  |  工作簿與工作表管理器 | 資源庫(自動文本)  |  日期提取器  |  合併資料  |  加密/解密儲存格  |  按清單發送電子郵件  |  超級篩選  |  特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 種工具集12 個文字工具添加文本刪除特定字符 ...)  |  50+ 圖表 類型甘特圖 ...)  |  40+ 實用 公式基於生日計算年齡 ...)  |  19 個插入工具插入QR碼從路徑插入圖片 ...)  |  12 個轉換工具金額轉大寫匯率轉換 ...)  |  7 個合併與分割工具高級合併行分割Excel單元格 ...)  |  ... 還有更多

Kutools for Excel 擁有超過 300 種功能,確保您需要的功能只需點擊一下即可實現...


Office Tab - 啟用 Microsoft Office(包括 Excel)中的分頁閱讀和編輯功能

  • 一秒鐘內在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標點擊,告別滑鼠手。
  • 當查看和編輯多個文檔時,您的工作效率提高 50%。
  • 為 Office(包括 Excel)帶來高效的分頁功能,就像 Chrome、Edge 和 Firefox 一樣。