ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 求助:关于多条件查找引用

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-8-6 00:59 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请教:关于多条件查找引用
条件有逻辑要求,为区间要求,非固定值;
条件有纵向、横向区间,非完全是列.

用IF函数会很长,相当于排列组合很多.

求助大神,是否有更好的办法,例如数组公式等等.

非常感谢!
QQ图片20210806005329.jpg

210806-工作簿1-1.rar

12.4 KB, 下载次数: 6

TA的精华主题

TA的得分主题

发表于 2021-8-6 07:00 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 niko88819 于 2021-8-6 07:02 编辑

G2 下拉
  1. =CHOOSE(SUM(--(B2>={"A","B","C"})),E2*IF(C2<=1,INDEX({0,2.5,25}%,MATCH(F2+1%,{-0.1,2,4,8})),INDEX({0,5,50}%,MATCH(F2+1%,{-0.1,2,4,8}))),E2*IF(C2<=1,INDEX({0,1,2.5,5}%,MATCH(F2+1%,{-0.1,2,4,8})),INDEX({0,0.6,1.25,2.5}%,MATCH(F2+1%,{-0.1,2,4,8}))),E2*IF(C2<=1,INDEX({0,2.5,5}%,MATCH(F2+1%,{-0.1,2,4,8})),INDEX({0,6,20}%,MATCH(F2+1%,{-0.1,2,4,8}))))
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-8-6 10:50 | 显示全部楼层

太厉害了!非常感谢。

但是我换了一个表,变成两个数据的时候出现错误,请问是什么原因呀?
原始数据测试是OK的.

测试的是好的

测试的是好的

换了一个表>8年就出现错误

换了一个表>8年就出现错误

TA的精华主题

TA的得分主题

发表于 2021-8-6 13:48 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 niko88819 于 2021-8-6 17:59 编辑

没有附件可以测试,把原来公式换成这样   
  1. =CHOOSE(SUM(--(B2>={"MASS","MOLD","TEMPORARY"})),E2*IF(C2<=1,INDEX({0,2.5,25}%,MATCH(F2+1%,{-0.1,2,4,8})),INDEX({0,5,50}%,MATCH(F2+1%,{-0.1,2,4,8}))),E2*IF(C2<=1,INDEX({0,1,2.5,5}%,MATCH(F2+1%,{-0.1,2,4,8})),INDEX({0,0.6,1.25,2.5}%,MATCH(F2+1%,{-0.1,2,4,8}))),E2*IF(C2<=1,INDEX({0,2.5,5}%,MATCH(F2+1%,{-0.1,2,4,8})),INDEX({0,6,20}%,MATCH(F2+1%,{-0.1,2,4,8}))))
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-8-6 19:15 | 显示全部楼层
本帖最后由 vicky9891 于 2021-8-6 20:07 编辑



感谢小姐姐.  我大概能看明白,但是没完全理解。


TA的精华主题

TA的得分主题

 楼主| 发表于 2021-8-6 19:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
niko88819 发表于 2021-8-6 13:48
没有附件可以测试,把原来公式换成这样

谢谢小姐姐,真的好厉害.

我大概能看懂反向查询的逻辑,但是里面SUM后面的原理还不是很理解。

例如,如果我的条件只有2项,例如“MASS” & “TEMPERARY Mold”,那后面的IF的3段需要变化吗?

另外,F2+1%,应该表示的是8.01年,那match返回的应该是“1”的话,返回的应是小于最大值,怎么就可以计算出>8年的数据,好厉害。

我感觉应该是我没有理解透.

TA的精华主题

TA的得分主题

发表于 2021-8-6 21:58 | 显示全部楼层
本帖最后由 niko88819 于 2021-8-6 22:06 编辑

没有附件可以测试,把原来公式换成这样 , 这样就没有 第三项 C 了
一步步分析,妳理解是正确的,由于条件有合并单元格且要订单<=1 , >1 , 如果等于0 要怎么处理呢? 因此没办法引用表格


  1. =CHOOSE(SUM(--(B2>={"MASS","TEMPORARY MOLD"})),E2*IF(C2<=1,INDEX({0,2.5,25}%,MATCH(F2+1%,{-0.1,2,4,8})),INDEX({0,5,50}%,MATCH(F2+1%,{-0.1,2,4,8}))),E2*IF(C2<=1,INDEX({0,1,2.5,5}%,MATCH(F2+1%,{-0.1,2,4,8})),INDEX({0,0.6,1.25,2.5}%,MATCH(F2+1%,{-0.1,2,4,8}))))
复制代码

评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2025-1-16 02:58 , Processed in 0.022180 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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