Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Excel公式:获取列表中最大数值和对应的条目

Excel公式:获取列表中最大数值和对应的条目

作者头像
fanjy
发布于 2023-02-24 12:20:51
发布于 2023-02-24 12:20:51
1.2K0
举报
文章被收录于专栏:完美Excel完美Excel

excelperfect

引言:本文的练习整理自chandoo.org。多一些练习,想想自己会怎么解决这个问题,看看别人又是怎样解决的,这样能够快速提高Excel公式编写水平。

本次的练习是:给定一个包含数字和文本条目的单列列表,查找数字总和最大值对应的条目。示例数据如下图1所示,公式应该返回“c”,因为其对应的数字总和9是最大的。

图1

公式应该是仅涉及Excel函数的单个公式,该公式引用一个包含值列表的命名区域x(示例中,该命名区域代表单元格区域A1:A12)。

同时,假设数字都是正的。

请写下你的公式。

解决方案

公式1:数组公式。

=INDEX(x,MATCH(MAX(MMULT(TRANSPOSE(ROW(x)^0),IFERROR((LOOKUP(ROW(x),1/ISERR(-x)*ROW(x),x)=TRANSPOSE(x))*x,0))),MMULT(TRANSPOSE(ROW(x)^0),IFERROR((LOOKUP(ROW(x),1/ISERR(-x)*ROW(x),x)=TRANSPOSE(x))*x,0)),0))

公式2:数组公式。

=INDEX(x,ROUND(MOD(MAX(MMULT(IFERROR((TRANSPOSE(LOOKUP(ROW(x),1/ISERR(-x)*ROW(x),x))=x)*TRANSPOSE(x),0),ROW(x)^0)+MATCH(ROW(x),ROW(x),0)%),1)*100,0))

公式3:数组公式。

=INDEX(x,INDEX(SMALL(IF(ISTEXT(x),ROW(x)),ROW(INDIRECT("1:"&SUM(--ISTEXT(x))))),MATCH(MAX(SUMIF(OFFSET(x,SMALL(IF(ISTEXT(x),ROW(x)),ROW(INDIRECT("1:"&SUM(--ISTEXT(x))))),,IFERROR(SMALL(IF(ISTEXT(OFFSET(x,1,)),ROW(OFFSET(x,1,))),ROW(INDIRECT("1:"&SUM(--ISTEXT(x)))))-1,ROWS(x))-SMALL(IF(ISTEXT(x),ROW(x)),ROW(INDIRECT("1:"&SUM(--ISTEXT(x))))),),"<>0")),SUMIF(OFFSET(x,SMALL(IF(ISTEXT(x),ROW(x)),ROW(INDIRECT("1:"&SUM(--ISTEXT(x))))),,IFERROR(SMALL(IF(ISTEXT(OFFSET(x,1,)),ROW(OFFSET(x,1,))),ROW(INDIRECT("1:"&SUM(--ISTEXT(x)))))-1,ROWS(x))-SMALL(IF(ISTEXT(x),ROW(x)),ROW(INDIRECT("1:"&SUM(--ISTEXT(x))))),),"<>0"),)))

公式4:数组公式。

=INDEX(x,MATCH(1,FREQUENCY(-9999,-MMULT(IFERROR((TRANSPOSE(LOOKUP(ROW(x),1/ISERR(-x)*ROW(x),x))=x)*TRANSPOSE(x),0),ROW(x)^0)),0))

公式5:数组公式。

=LOOKUP(1,1/FREQUENCY(-9999,-MMULT(IFERROR((TRANSPOSE(LOOKUP(ROW(x),1/ISERR(-x)*ROW(x),x))=x)*TRANSPOSE(x),0),ROW(x)^0)),x)

或者:

=LOOKUP(1,1/FREQUENCY(-9^9,-MMULT((TRANSPOSE(LOOKUP(ROW(x),ROW(x)/ISERR(-x),x))=x)*N(TRANSPOSE(x)),ROW(x)^0)),x)

或者:

=LOOKUP(1,1/FREQUENCY(-9^9,MMULT(N(TRANSPOSE(LOOKUP(ROW(x),ROW(x)/ISERR(-x),x))=x),IFERROR(-x,0))),x)

公式6:数组公式。

=LOOKUP(1,1/FREQUENCY(-9^9,MMULT(N(TRANSPOSE(LOOKUP(ROW(x),ROW(x)/ISERR(-x)))=ROW(x)),IFERROR(-x,0))),x)

公式7:数组公式。

=LOOKUP(1,1/FREQUENCY(0,IFERROR(1/SUBTOTAL(9,OFFSET(x,ROW(x)-MIN(ROW(x)),,FREQUENCY(-ROW(x),-ISTEXT(x)*ROW(x)))),-1)),x)

或者:

=LOOKUP(1,1/FREQUENCY(-9^9,-IFERROR(SUMIF(OFFSET(x,ROW(x)-ROW(INDEX(x,1)),,FREQUENCY(-ROW(x),-ISTEXT(x)*ROW(x)),1),"<>"),0)),x)

……

公式并没有给出详细的解析,有兴趣的朋友可以参照前面推送的有关分析公式的文章对这些公式进行解析,相信对理解Excel函数,编写公式解决问题会有很大的帮助。

也许有人会问,为什么要编写这么复杂的公式?其实,在这里的主要目的,是通过编写公式解决复杂的Excel问题来磨练公式与函数应用技能,也让研究Excel的大脑时刻保持良好的状态。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Excel公式:有重复的?没重复的?又要判断了
对于简单的少量的数据,一眼就看得出来。然而,对于大量的数据,最好借助于Excel提供给我们的工具,譬如,公式。
fanjy
2022/11/16
2K0
Excel公式:有重复的?没重复的?又要判断了
疯狂的Excel公式,只为条件求和
示例数据如下图1所示。工作表中有两个表,一个是活动的全部数据,另一个列出了其中暂停活动的列表。
fanjy
2022/11/16
1.4K0
疯狂的Excel公式,只为条件求和
Excel公式技巧14: 在主工作表中汇总多个工作表中满足条件的值
我们可能熟悉使用INDEX、SMALL等在给定单列或单行数组的情况下,返回满足一个或多个条件的值的列表。这是一项标准的公式技术。
fanjy
2020/03/12
10.4K0
Excel公式练习51: 获取指定区域中每行首次出现指定值的位置
导语:继续研究来自于excelxor.com的案例。建议结合本文阅读原文,会了解更多的细节,会有更大的收获。
fanjy
2020/03/25
1.2K0
Excel公式练习51: 获取指定区域中每行首次出现指定值的位置
Excel公式练习40: 从单元格区域的字符串中提取唯一值
导语:继续研究来自于excelxor.com的案例。坚持到现在的,应该都有感觉了!
fanjy
2020/02/26
2.4K0
Excel公式练习:合并单元格中的条件求和
引言:本文的练习整理自chandoo.org。多一些练习,想想自己会怎么解决这个问题,看看别人又是怎样解决的,这样能够快速提高Excel公式编写水平。
fanjy
2022/11/16
2.8K0
Excel公式练习:合并单元格中的条件求和
发现007,谁的公式更优雅
007是风靡全球的一系列谍战片,也是影片主人公特工詹姆斯·邦德的代号。然而,这里不是让你找到007这个人,而是判断数据中是否隐藏有007,如下图1所示。
fanjy
2022/03/07
3021
发现007,谁的公式更优雅
Excel公式练习:求三列数值之和等于指定值的组合数
引言:本文的练习整理自chandoo.org。多练习,这是我们从小就在使用的学习方法。在练习的过程中,认真思考,不断尝试,以此来磨练自己的公式与函数应用技能,也让研究Excel的大脑时刻保持着良好的状态。同时,想想自己怎么解决这个问题,看看别人又是怎样解决的,从而快速提高Excel公式应用水平。
fanjy
2022/11/16
1.7K0
Excel公式练习:求三列数值之和等于指定值的组合数
Excel公式练习45: 从矩阵数组中返回满足条件的所有组合数
导语:继续研究来自于excelxor.com的案例。这个案例很复杂,但解决方案却很精彩,值得好好研究。建议结合本文参阅原文,会有更大的收获。
fanjy
2020/03/12
3.6K0
Excel公式练习46: 获取最大年增长率对应的值
导语:继续研究来自于excelxor.com的案例。这个案例不是很复杂,但解决方案却很巧妙。
fanjy
2020/03/12
1.3K0
精通Excel数组公式021:提取唯一值列表并排序
本文将综合使用前面系列中学习到的技术,包括布尔逻辑、动态单元格区域、提取满足条件的数据、统计唯一值等,创建出一个解决问题的大型公式。当然,如果你不需要自动动态更新数据,完全可以使用Excel内置的高级筛选或数据透视表功能。
fanjy
2021/03/12
5.4K0
Excel公式练习:根据条件获取唯一的第n个值(续)
引言:本文的练习整理自chandoo.org。多一些练习,想想自己会怎么解决这个问题,看看别人又是怎样解决的,这样能够快速提高Excel公式编写水平。
fanjy
2022/11/16
2.1K0
Excel公式练习:根据条件获取唯一的第n个值(续)
这个公式查找,有点难
在《判断两个区域是否具有相同的值》中,我们比较了两个相同大小的区域,看看这两个区域中的值是否完全相同。下面更进一步,查找一组数据在另一个表中出现的位置。如下图1所示,单元格区域B4:B8命名为“source”,单元格区域D4:I8命名为“target”,如果source在targe中出现,求出现的位置(即该区域上方标注的数字)。
fanjy
2021/11/17
5050
这个公式查找,有点难
恼人的部分匹配查找
这天有空,小范照常开始了Excel的研习。俗话说,一天不练,手生脚慢;两天不练,功夫减半;三天不练,成了门外汉。对于自己热爱的Excel,小范从不马虎。
fanjy
2021/10/15
2K0
Excel公式练习94:统计子列表在列表中出现的次数
引言:本文的练习整理自chandoo.org。多一些练习,想想自己怎么解决问题,看看别人又是怎解决的,能够快速提高Excel公式编写水平。
fanjy
2021/09/22
2.4K0
Excel公式练习92:统计两个字符串共有的唯一字符数
引言:本文的练习整理自chandoo.org。多一些练习,想想自己怎么解决问题,看看别人又是怎解决的,能够快速提高Excel公式编写水平。
fanjy
2021/08/31
1.1K0
Excel公式练习92:统计两个字符串共有的唯一字符数
Excel公式:基于层次等级求和
引言:本文的练习整理自chandoo.org。多一些练习,想想自己会怎么解决这个问题,看看别人又是怎样解决的,这样能够快速提高Excel公式编写水平。
fanjy
2022/11/16
9040
Excel公式:基于层次等级求和
精通Excel数组公式022:提取唯一值列表并排序(续)
下图12展示了两个对数字进行排序的公式。使用SMALL/ROWS函数从小到大排序,使用LARGE/ROWS函数从大到小排序。
fanjy
2021/03/12
5.6K0
Excel公式练习37: 找到和的加数(增强版)
导语:继续研究来自于excelxor.com的案例。在《Excel公式练习36:找到和的加数》中,讲解了一个公式,可以标出指定和的加数,然而,如果有几种组合都可以得到这个和数,该公式只能标出其中一种组合,本文讲解的公式就来解决这个问题,将所有的组合都标出来。
fanjy
2020/02/14
1.1K0
Excel公式练习37: 找到和的加数(增强版)
36条常用Excel技巧 收藏备用!
1、两列数据查找相同值对应的位置 =MATCH(B1,A:A,0) 2、已知公式得结果 定义名称=EVALUATE(Sheet1!C1) 已知结果得公式 定义名称=GET.CELL(6,Sheet1!C1) 3、强制换行 用Alt+Enter 4、超过15位数字输入 这个问题问的人太多了,也收起来吧。一、单元格设置为文本;二、在输入数字前先输入' 5、如果隐藏了B列,如果让它显示出来? 选中A到C列,点击右键,取消隐藏 选中A到C列,双击选中任一列宽线或改变任一列宽 将鼠标移到到AC列之间,等鼠标变为双竖线
CDA数据分析师
2018/02/24
3.7K0
推荐阅读
相关推荐
Excel公式:有重复的?没重复的?又要判断了
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档