Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4021|回复: 10

[已解决]函数区高人多,在这里请教

[复制链接]
发表于 2014-2-16 14:50 | 显示全部楼层 |阅读模式
之前有研究过,可是,因为是组合型,弄不懂,特请高人,可以给个详细的示例和讲解,本人只是工作中要用到,让我可以依样画葫芦就可。
如果只是单纯的多条件引用,可以用sumprduct
单条件引用可以用 Vlookup
可是涉及到,带数值范围的多条件查找引用就不会了,本人实在搞不懂了,而且,急用,特来求助

比如有如下条件:
高度在 18-36m时候,系数为0.2-0.6的 SD机型,后面有参数A B C D所对应的内容
高度在 37-50m时候,系数为0.8-1.5的 SX机型,后面有参数A B C D所对应的内容

条件区域是有 机型 高度 系数  上述条件自动将值返回填入参数A B C D
最佳答案
2014-2-16 16:08
本帖最后由 baksy 于 2014-2-20 20:20 编辑

D2单元格
=IFERROR(TEXT(INDEX(源表!D$1:D$6,MIN(IF((源表!$A$2:$A$6=$A2)*(源表!$B$2:$B$6=LOOKUP(($B2*1.1)&"*",源表!$B$2:$B$6))*(源表!$C$2:$C$6=LOOKUP(($C2*1.1)&"*",源表!$C$2:$C$6)),ROW(D$2:D$6),99))),"#"),"")
三键回车,右拉、下拉。

感谢各位大师支持!!!
LOOKUP($C2&"*",源表!$C$2:$C$6)   
在“源表!$C$2:$C$6”区域内模拟查找C2单元格文字开头内容。

抱歉!公式已更新!

求助.rar

6.54 KB, 下载次数: 33

示例

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-2-16 15:52 | 显示全部楼层
先写个长的,
D2 =INDEX(源表!D$1:D$7,TEXT(SUMPRODUCT((LOOKUP($B2,{18;37;50})=--LEFT(源表!$B$2:$B$6,2))*(LOOKUP($C2,{0.2;0.6;0.8;1.5})=--LEFT(源表!$C$2:$C$6,3))*($A2=源表!$A$2:$A$6)*ROW($A$2:$A$6)),"0;;7"))&""

评分

参与人数 2 +23 金币 +20 收起 理由
josonxu + 20 + 20
ghostjiao + 3 赞一个!都厉害,级别只够这么多

查看全部评分

回复

使用道具 举报

发表于 2014-2-16 16:08 | 显示全部楼层    本楼为最佳答案   
本帖最后由 baksy 于 2014-2-20 20:20 编辑

D2单元格
=IFERROR(TEXT(INDEX(源表!D$1:D$6,MIN(IF((源表!$A$2:$A$6=$A2)*(源表!$B$2:$B$6=LOOKUP(($B2*1.1)&"*",源表!$B$2:$B$6))*(源表!$C$2:$C$6=LOOKUP(($C2*1.1)&"*",源表!$C$2:$C$6)),ROW(D$2:D$6),99))),"#"),"")
三键回车,右拉、下拉。

感谢各位大师支持!!!
LOOKUP($C2&"*",源表!$C$2:$C$6)   
在“源表!$C$2:$C$6”区域内模拟查找C2单元格文字开头内容。

抱歉!公式已更新!

求助.rar

7.99 KB, 下载次数: 1

点评

B2=18 时出错。  发表于 2014-2-16 17:47

评分

参与人数 6 +113 金币 +90 收起 理由
风林火山 + 30 + 30 很给力!高人领导函数新潮流。
笨笨四 + 20 + 20 赞一个!学习了。
josonxu + 20 + 20 学习了
冠军欧洲2010 + 20 + 20 学习啦。
ghostjiao + 3 赞一个!哎,慢慢学习吧,顺便感叹一下

查看全部评分

回复

使用道具 举报

发表于 2014-2-16 16:59 | 显示全部楼层
baksy 发表于 2014-2-16 16:08
D2单元格
=IFERROR(TEXT(INDEX(源表!D$1:D$6,MIN(IF((源表!$A$2:$A$6=$A2)*(源表!$B$2:$B$6=LOOKUP($B2&"* ...

高人。
能不能,把=LOOKUP($B2&"*",源表!$B$2:$B$6)给解释一下啊。
这个看不明白 。
{:021:}
回复

使用道具 举报

发表于 2014-2-16 17:02 | 显示全部楼层
本帖最后由 ghostjiao 于 2014-2-16 17:22 编辑
baksy 发表于 2014-2-16 16:08
D2单元格
=IFERROR(TEXT(INDEX(源表!D$1:D$6,MIN(IF((源表!$A$2:$A$6=$A2)*(源表!$B$2:$B$6=LOOKUP($B2&"* ...

求解释这里的lookup的原理? 对数据区有要求吗?{:191:}不会啊{:311:}
回复

使用道具 举报

发表于 2014-2-16 17:35 | 显示全部楼层
3楼LOOKUP妙。
我也来一发:161字符
INDEX(源表!D:D,TEXT(MAX(($A2=源表!$A$2:$A$6)*(2=MMULT(N(($B2/MID(源表!$B$2:$B$6,{1,4},2)>=1)+($C2/MID(源表!$C$2:$C$6,{1,5},3)>=1)={2,0}),{1;1}))*ROW($2:$6)),"0;;7"))&""

评分

参与人数 1 +3 收起 理由
baksy + 3 赞一个! 级别只够这么多,金币还送不了~

查看全部评分

回复

使用道具 举报

发表于 2014-2-16 19:41 | 显示全部楼层
baksy 发表于 2014-2-16 16:08
D2单元格
=IFERROR(TEXT(INDEX(源表!D$1:D$6,MIN(IF((源表!$A$2:$A$6=$A2)*(源表!$B$2:$B$6=LOOKUP($B2&"* ...

该方法中   Lookup(18&“*”,B2:B6)   有问题 18&"*"  是小于  18-36 的 是查不到18这个条件对应的区域
回复

使用道具 举报

 楼主| 发表于 2014-2-16 21:29 | 显示全部楼层
兰色幻想 发表于 2014-2-16 15:52
先写个长的,
D2 =INDEX(源表!D$1:D$7,TEXT(SUMPRODUCT((LOOKUP($B2,{18;37;50})=--LEFT(源表!$B$2:$B$6,2 ...

求解释
回复

使用道具 举报

 楼主| 发表于 2014-2-16 21:30 | 显示全部楼层
笨笨四 发表于 2014-2-16 17:35
3楼LOOKUP妙。
我也来一发:161字符
INDEX(源表!D:D,TEXT(MAX(($A2=源表!$A$2:$A$6)*(2=MMULT(N(($B2/MID ...

求解释

点评

查找值分别除前端后端大于等于1,如果均为大于1,则大于范围,如果均小于1,则小于范围。你的范围是先小后大,所以如果在范围之中,分别相除必定是前大于等于1,后部小于等于1。其余解释你按F9  发表于 2014-2-17 08:26
回复

使用道具 举报

发表于 2014-2-18 14:11 | 显示全部楼层
能帮我修改下表格吗我的QQ362768290
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 06:50 , Processed in 0.448176 second(s), 21 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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