依據條件找出最長的文字字串
本教學將說明如何在 Excel 中結合使用 INDEX、MATCH、LEN 與 MAX 函數,依據條件在欄或列中找出最長的文字字串。

如何在 Excel 中根據條件找出最長的文字字串?
若要快速找出上述姓名範圍中來自美國且姓名最長的人,可運用 INDEX、MATCH、LEN 與 MAX 函數組合的公式輕鬆達成:首先,LEN 函數計算各姓名的字串長度,MAX 函數從中取出最大值;接著,MATCH 函數定位該最大值在範圍中的第一個位置;最後,INDEX 函數即傳回對應位置的姓名。
通用語法
=INDEX()return_range,MATCH(MAX(LEN()))return_range)*(criteria_range=criteria_value)),LEN(return_range)*(criteria_range=criteria_value),0))
√ 注意:此為陣列公式,輸入後需按 Ctrl+Shift+Enter。
- return_range:您希望組合公式從中傳回最長姓名的範圍,即姓名所在範圍。
- criteria_range:指定條件所在的範圍,此處指國家資料的範圍。
- criteria_value:您所設定的條件。
若要找出來自美國且姓名最長的人,請將下列公式複製或輸入至儲存格 F6,然後按 Ctrl+Shift+Enter 以取得結果:
=INDEX()B5:B11,MATCH(MAX(LEN()))B5:B11)*(C5:C11="America")),LEN(B5:B11)*(C5:C11="America"),0))
或者,使用一個儲存格引用讓公式更具動態性:
=INDEX()B5:B11,MATCH(MAX(LEN()))B5:B11)*(C5:C11=F5)),LEN(B5:B11)*(C5:C11=F5),0))

公式說明
=INDEX()B5:B11,MATCH()MAX()LEN(B5:B11)*(C5:C11=F5)),LEN(B5:B11)*(C5:C11=F5),0))
- LEN(B5:B11)*(C5:C11=F5):LEN 函數會傳回 B5:B11 中每個姓名長度所組成的陣列,如下所示:{5;5;6;3;4;8;5};而 (C5:C11=F5) 這部分會逐一檢查 C5:C11 範圍中的值是否等於 F5 儲存格中的值,並產生如下陣列:{FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE}。由於後續會進行相乘運算,該陣列將自動轉換為 {0;0;1;0;1;0;1},相乘後即可得到以下結果:{0;0;6;0;4;0;5}。
- MAX()LEN(B5:B11)*(C5:C11=F5))=MAX(){0;0;6;0;4;0;5}): 接著,MAX 函數會從陣列 {0;0;6;0;4;0;5} 中傳回最大值,也就是 6.
- MATCH()MAX()LEN(B5:B11)*(C5:C11=F5)),LEN(B5:B11)*(C5:C11=F5) 參數 match_type 0 會強制 MATCH 函數在陣列 {0;0;6;0;4;0;5} 中尋找第一個完全相符的數字 6. 因此,函數傳回 3,因為該數字位於第 3 個位置。
- INDEX()B5:B11,MATCH()MAX()LEN(B5:B11)*(C5:C11=F5)),LEN(B5:B11)*(C5:C11=F5)INDEX 函數會傳回姓名範圍 B5:B11 中第 3 個值,即 Oliver。
相關函數
Excel INDEX 函數會根據指定的位置,從範圍或陣列中傳回對應的顯示值。
Excel MATCH 函數會在儲存格範圍中搜尋特定值,並傳回該值的相對位置。
LEN 函數會傳回文字字串中的字元數。
相關公式
若要在 Excel 的欄或列中找出最長或最短的文字字串,您可以結合使用 INDEX、MATCH、LEN 與 MAX 或 MIN 函數。
有時我們需要在 Excel 中進行近似比對,例如評估員工績效、評定學生成績、根據重量計算郵資等。本教學將說明如何運用 INDEX 與 MATCH 函數取得所需結果。
在某些情況下,您可能需要根據多項條件查找最接近或近似的比對值。透過結合 INDEX、MATCH 與 IF 函數,即可在 Excel 中快速完成此操作。
最佳 Office 生產力工具
Kutools for Excel -助您脫穎而出
| 🤖 | KUTOOLS AI 助手:以以下方式革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、標示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 超級 VLookup:多重條件 | 多重值 | 跨多個工作表 | 模糊查找…… | |
| 進階下拉列表:簡易下拉式清單 | 相依下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位 | 移動欄位 | 切換隱藏欄位的可見狀態 |比較欄位以選擇相同/不同單元格…… | |
| 精選功能:網格聚焦 | 設計視圖 | 增強編輯欄 | 工作簿與工作表管理員|資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符……)| 50+ 圖表 類型(甘特圖……)| 40+ 實用公式(基於生日計算年齡……)| 19 插入工具(插入二維碼,從路徑插入圖片……)| 12 轉換工具(金額轉大寫,匯率轉換……)| 7 合併和拆分工具(高級合併行,拆分 Excel 儲存格……)|……還有更多 |
Kutools for Excel 擁有超過 300 項功能,確保您所需的功能僅需一鍵即可取得……
Office Tab -在 Microsoft Office(包含 Excel)中啟用分頁式閱讀與編輯
- 一秒內在數十份開啟的文件間快速切換!
- 每天為您減少數百次滑鼠點擊,遠離滑鼠手困擾。
- 在檢視與編輯多份文件時,讓您的生產力提升高達 50%。
- 為 Office(包含 Excel)帶來如 Chrome、Edge 與 Firefox 般的高效能分頁體驗。