ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 869|回复: 11

[求助] 满足两个条件下的查询数据(老师已答复)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-7-25 17:37 | 显示全部楼层 |阅读模式
本帖最后由 mumushiyi 于 2023-7-25 21:13 编辑

老师好!
求助查询公式:第一条件:满足大类代码,第二条件:满足在该类代码挑选差额排名前二或者倒数最后二位,查询对应企业编号、企业!
感谢感谢感谢!


同时满足两个条件查找.rar

16.06 KB, 下载次数: 13

TA的精华主题

TA的得分主题

发表于 2023-7-25 17:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
365版本

image.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-7-25 17:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
=INDEX(A:A,RIGHT(AGGREGATE(14,6,(ABS($G$2:$G31)*10000+ROW($2:31))/($C$2:$C31=LOOKUP(9^9,$J$3:$J3)),MOD(ROW(A1)-1,2)+1),3))

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-7-25 19:23 | 显示全部楼层

谢谢老师,第一次看到这个函数,拜读。不知道如何感谢。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-7-25 19:24 | 显示全部楼层
袁勇 发表于 2023-7-25 17:50
=INDEX(A:A,RIGHT(AGGREGATE(14,6,(ABS($G$2:$G31)*10000+ROW($2:31))/($C$2:$C31=LOOKUP(9^9,$J$3:$J3)),M ...

谢谢老师,大家都好厉害,太6了。膜拜。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-7-27 12:07 | 显示全部楼层
袁勇 发表于 2023-7-25 17:50
=INDEX(A:A,RIGHT(AGGREGATE(14,6,(ABS($G$2:$G31)*10000+ROW($2:31))/($C$2:$C31=LOOKUP(9^9,$J$3:$J3)),M ...

老师,  这里不懂,有时间的时候能解答下吗? abs是求绝对值函数,row是求行函数,lookup是寻找,但是联合在一起我就不懂了。ABS($G$2:$G31)*10000+ROW($2:31))/($C$2:$C31=LOOKUP(9^9,$J$3:$J3)

TA的精华主题

TA的得分主题

发表于 2023-7-27 14:27 | 显示全部楼层
mumushiyi 发表于 2023-7-27 12:07
老师,  这里不懂,有时间的时候能解答下吗? abs是求绝对值函数,row是求行函数,lookup是寻找,但是联 ...

LOOKUP(9^9,$J$3:$J3),区域内的最后一个数字,通常用于用于合并单元格或如果遇上空值时返回上一个非空数字。

ABS($G$2:$G31)*10000+ROW($2:31),绝对值值*10000+行号。

AGGREGATE(14,6,(ABS($G$2:$G31)*10000+ROW($2:31))/($C$2:$C31=LOOKUP(9^9,$J$3:$J3)),MOD(ROW(A1)-1,2)+1)
分别取第1大值、第2大值。

RIGHT(AGGREGATE(14,6,(ABS($G$2:$G31)*10000+ROW($2:31))/($C$2:$C31=LOOKUP(9^9,$J$3:$J3)),MOD(ROW(A1)-1,2)+1),3),返回行号。

=INDEX(A:A,RIGHT(AGGREGATE(14,6,(ABS($G$2:$G31)*10000+ROW($2:31))/($C$2:$C31=LOOKUP(9^9,$J$3:$J3)),MOD(ROW(A1)-1,2)+1),3)),取对应行号的值。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-7-27 15:35 | 显示全部楼层
袁勇 发表于 2023-7-27 14:27
LOOKUP(9^9,$J$3:$J3),区域内的最后一个数字,通常用于用于合并单元格或如果遇上空值时返回上一个非空数 ...

谢谢您,我在教学基础上修改了,按照排名*10000+行号计算了。
函数分开拆解看懂了其他,ROW($2:31))/($C$2:$C31=LOOKUP(9^9,$J$3:$J3)) 求行号,但这里的这种用法看不懂,用  /  号连接是什么意思,还是固定格式,只要套用即可?

TA的精华主题

TA的得分主题

发表于 2023-7-27 16:05 | 显示全部楼层
mumushiyi 发表于 2023-7-27 15:35
谢谢您,我在教学基础上修改了,按照排名*10000+行号计算了。
函数分开拆解看懂了其他,ROW($2:31))/($C ...

/代表的是加减乘除里面的除吧

TA的精华主题

TA的得分主题

发表于 2023-7-27 16:27 | 显示全部楼层
mumushiyi 发表于 2023-7-27 15:35
谢谢您,我在教学基础上修改了,按照排名*10000+行号计算了。
函数分开拆解看懂了其他,ROW($2:31))/($C ...

=aggregate(function_num,options,array,k)
比如:

=AGGREGATE(15,6,{2.6;3.5;3.3;#DIV/0!;4;1.2},2) 返回数组{2.6;3.5;3.3;#DIV/0!;4;1.2}的第2小值。

15表示从小到大,6表示忽略错误值,2表示第2个。

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 13:19 , Processed in 0.038008 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表