跳至主要内容

根据条件查找最长的文本字符串

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

在本教程中,我们将讨论如何借助 INDEXMATCHLEN 和 MAX 函数,在 Excel 中按条件查找列或行中的最长文本字符串。

find longest text string with criteria 1

如何在 Excel 中根据条件查找最长的测试字符串?

要快速找到来自美国且名字最长的人(名字列在上述名称范围内),结合使用 INDEX、MATCH、LEN 和 MAX 函数的公式将帮助您实现这一目标:MAX 函数将检索 LEN 函数提供的字符串长度范围内的最大值。然后 MATCH 将定位该范围内第一个最长值的位置,而 INDEX 将检索相应位置的值。

通用语法

=INDEX(返回范围,MATCH(MAX(LEN(返回范围)*(条件范围=条件值)),LEN(返回范围)*(条件范围=条件值),0))

√ 注意:这是一个数组公式,需要您使用 Ctrl + Shift + Enter 输入。

  • 返回范围:希望组合公式从中返回最长名称的范围。这里指的是名称范围。
  • 条件范围:列出条件的范围。这里指的是国家范围。
  • 条件值:您设置的条件。

要找到来自美国且名字最长的人,请复制或在单元格 F6 中输入以下公式,并按 Ctrl + Shift + Enter 获取结果:

=INDEX(B5:B11,MATCH(MAX(LEN(B5:B11)*(C5:C11="美国")),LEN(B5:B11)*(C5:C11="美国"),0))

或者,使用单元格引用来使公式动态化:

=INDEX(B5:B11,MATCH(MAX(LEN(B5:B11)*(C5:C11=F5)),LEN(B5:B11)*(C5:C11=F5),0))

find longest text string with criteria 2

公式解释

=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(MAX(LEN(B5:B11)*(C5:C11=F5))) = MAX(MAX({0;0;6;0;4;0;5})): MAX 函数随后从数组 {0;0;6;0;4;0;5} 中返回最大值,即 6
  • MATCH(MATCH(MAX(LEN(B5:B11)*(C5:C11=F5)LEN(B5:B11)*(C5:C11=F5)),,LEN(B5:B11)*(C5:C11=F5)LEN(B5:B11)*(C5:C11=F5),0),0) = MATCH(MATCH(6,,{0;0;6;0;4;0;5},0),0): 匹配类型 0 强制 MATCH 函数在数组 {0;0;6;0;4;0;5} 中找到第一个精确数字 6 的位置。因此,它返回 3,因为该数字位于第 3 位。
  • INDEX(B5:B11B5:B11,,,MATCH(MAX(LEN(B5:B11)*(C5:C11=F5)LEN(B5:B11)*(C5:C11=F5))),,,LEN(B5:B11)*(C5:C11=F5)LEN(B5:B11)*(C5:C11=F5),0))) = INDEX(B5:B11B5:B11,,,3): INDEX 函数返回名称范围 B5:B11 中的第 3 个值,即 Oliver

相关函数

Excel INDEX 函数

Excel INDEX 函数根据给定的位置从范围或数组中返回显示的值。

Excel MATCH 函数

Excel MATCH 函数在一个单元格范围内搜索特定值,并返回该值的相对位置。

Excel LEN 函数

LEN 函数返回文本字符串中的字符数。


相关公式

查找列或行中最长或最短的文本字符串

要在 Excel 中查找列或行中最长或最短的文本字符串,您可以结合使用 INDEX、MATCH、LEN 和 MAX 或 MIN 函数。

使用 INDEX 和 MATCH 进行近似匹配

有时我们需要在 Excel 中找到近似匹配来评估员工的表现、给学生的分数打分、根据重量计算邮费等。在本教程中,我们将讨论如何使用 INDEX 和 MATCH 函数来获取我们所需的结果。

使用多个条件查找最接近的匹配值

在某些情况下,您可能需要基于多个条件查找最接近或近似的匹配值。通过结合使用 INDEX、MATCH 和 IF 函数,您可以快速在 Excel 中完成此操作。


最佳的办公生产力工具

Kutools for Excel - 助您脱颖而出

🤖 Kutools AI 助手:基于以下功能彻底改变数据分析方式:智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用Kutools函数
热门功能查找、高亮或标记重复项  |  删除空行  |  合并列或单元格而不丢失数据  |  四舍五入无需公式 ...
超级VLookup多条件  |  多值  |  跨多个工作表  |  模糊查找...
高级下拉列表简易下拉列表  |  级联下拉列表  |  多选下拉列表...
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的可见状态  比较列以 选择相同和不同的单元格 ...
精选功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿与工作表管理器 | 资源库(自动文本)  |  日期提取  |  合并数据  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊筛选(筛选粗体/斜体/删除线...) ...
排名前15的工具集12个 文本 工具添加文本删除特定字符 ...)  |  50多种 图表 类型甘特图 ...)  |  40多种实用 公式基于生日计算年龄 ...)  |  19个 插入 工具插入二维码从路径插入图片 ...)  |  12个 转换 工具小写金额转大写汇率转换 ...)  |  7个 合并与拆分 工具高级合并行分割Excel单元格 ...)  |  ... 还有更多

Kutools for Excel拥有超过300种功能,确保您需要的功能只需一键即可实现...


Office Tab - 在Microsoft Office(包括Excel)中启用标签式阅读和编辑

  • 一秒内切换数十个打开的文档!
  • 每天为您减少数百次鼠标点击,告别鼠标手。
  • 在查看和编辑多个文档时,您的工作效率将提高50%。
  • 为Office(包括Excel)带来高效的标签页,就像Chrome、Edge和Firefox一样。