Note: The other languages of the website are Google-translated. Back to English

如何在Excel中查找第一個非零值並返回相應的列標題?

假設您有一個數據范圍,現在,您想返回出現第一個非零值的那一行的列標題,如下面的截圖所示,本文中,我將為您介紹一個有用的公式來處理此任務在Excel中。

doc查找第一個非零1

查找第一個非零值,並使用公式返回相應的列標題


箭頭藍色右氣泡 查找第一個非零值,並使用公式返回相應的列標題

要返回行中第一個非零值的列標題,以下公式可能會幫助您,請這樣做:

輸入以下公式: =INDEX($B$1:$I$1,MATCH(TRUE,INDEX(B2:I2<>0,),0)) 放入要查找結果的空白單元格中, K2,例如,然後將填充手柄向下拖動到要應用此公式的單元格,並且返回第一個非零值的所有相應列標題,如以下屏幕截圖所示:

doc查找第一個非零2

備註:在以上公式中, B1:I1 是您要返回的列標題, B2:I2 是您要查找第一個非零值的行數據。


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (13)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
se volessi "l'ultimo" Valore Diverso Da Zero E Restituire L'intestazione Della Colonna Corrispondente Con La Formula?
網站主持人對此評論進行了最小化
如何返回第二個和第三個等非零值? 你的公式很棒,但我正在嘗試從文本中搜索更多關鍵字,所以有時它們在同一個句子中是 2 或 3
網站主持人對此評論進行了最小化
你能解釋一下這個公式是如何工作的嗎
網站主持人對此評論進行了最小化
您好 Priya,我很高興為您提供幫助。 我將公式 = INDEX($B$1:$I$1,MATCH(TRUE,INDEX(B2:I2<>0,),0)) 分成 3 個部分,一步一步給你解釋公式。
首先,讓我們看看最裡面的公式 =INDEX(B2:I2<>0,)。 此公式返回一個 TRUE 和 FALSE 的數組,範圍 B2:I2 的值是否等於 0。請看截圖 1,公式 =INDEX(B2:I2<>0,) 返回 {FALSE,FALSE,FALSE,FALSE,真,真,真,真}。
其次,=MATCH(TRUE,INDEX(B2:I2<>0,),0) =MATCH(TRUE, {FALSE,FALSE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE}, 0)。 它返回第一個值“TRUE”的位置,而公式中的 0 表示完全匹配。 我們可以看到第一個值“TRUE”出現在數組的第 5 個位置。 然後第二個公式返回 5。見截圖 2。
最後,=INDEX(B1:I1,MATCH(TRUE,INDEX(B2:I2<>0,),0))=INDEX(B1:I1,5)。 它返回數組 B5:I1 的第 1 個值。 我們可以在屏幕截圖中看到該值為“May”。 所以最終公式返回“May”。 
PS:要將填充柄向下拖動公式以獲得其餘結果,我們必須使范圍 B1:I1 為絕對值。 所以我們將 $ 添加到範圍 B1:I1 以保持絕對值。 
希望我的解釋能解決你的疑惑。 祝你今天過得愉快。
真誠的,曼迪
查看附件 (3 / 5)
網站主持人對此評論進行了最小化
嗨曼迪週,

謝謝你的解釋!
我有一個後續問題。
如果您也必須查找年份,公式會發生什麼變化?
因此,在上面的示例中,我們假設 J 列是“年份”,並且在單元格 J2 中寫入“2015”。
在單元格 K2 中,我需要 L2 中年份的第一個非零值的列標題(2015 年,因此我需要在單元格 K2 中找到“Jun”)。

在此先感謝您的幫助!
賈森
網站主持人對此評論進行了最小化
您如何查找第二個、第三個和第四個非零值?
網站主持人對此評論進行了最小化
你好,羅伯特,
要查找第二個、第三個或第四個非零值並返回它們的列,請應用以下公式:(粘貼公式後,請按 Ctr + Shift + 回車 鍵在一起。)
=INDEX($B$1:$I$1,SMALL(IF(B2:I2<>0, COLUMN(B2:I2)-COLUMN(A2)),2))


備註:要提取第三或第四個結果,只需根據需要將數字 2 更改為 3,4 即可。

請試一試,希望對您有所幫助!
網站主持人對此評論進行了最小化
如果您需要數組中的最後一個非零值怎麼辦?

PS這真的很有幫助,非常感謝!
網站主持人對此評論進行了最小化
你好,阿里,
要根據最後一個非零值獲取列標題,請應用以下公式,請參見屏幕截圖:
=INDEX($B$1:$H$1,MAX((COLUMN(B2:H2)-MIN(COLUMN(B2:H2))+1)*(B2:H2<>0)))
請記住按 按Ctrl + Shift + Enter組合 關鍵在一起。
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-last-non-zero.png
請嘗試,希望對您有所幫助!
網站主持人對此評論進行了最小化
公式超級有用,幫我解決了問題! 謝謝!!! 您是否有機會幫助解釋它是如何工作的?
網站主持人對此評論進行了最小化
E como faço pra procurar o primeiro valor diferente de zero da esquerda pra direita?
網站主持人對此評論進行了最小化
你好,馬修斯
如果要返回一行中的第一個非零值,請應用以下公式:
=INDEX(B2:F2,MATCH(TRUE,INDEX(B2:F2<>0,),0))
請試一試,希望對您有所幫助!
網站主持人對此評論進行了最小化
如果包含零的單元格中有公式,有誰知道您會怎麼做? 當我使用這個公式時,不管第一列標題是否為零,我都會得到任何結果。
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護