首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel -在XLOOKUP中查找带有条件语句的行

Excel -在XLOOKUP中查找带有条件语句的行
EN

Stack Overflow用户
提问于 2022-03-10 18:04:15
回答 1查看 86关注 0票数 0

我试图使用XLOOKUP来根据用户输入找到一个值。

这张桌子是这样的:

代码语言:javascript
复制
Type  Start  End   33    36   42    48
---------------------------------------
4002    1     7   1.17  1.34  1.5  1.84
4002    8     12  1.84  1.67  2.1  3.45

用户选择类型、编号(可以介于开始和结束之间)和33-48。

我可以嵌套XLOOKUP来指定三个条件

代码语言:javascript
复制
=XLOOKUP(*type* & *number* , *typeRange* & *numberRange* ,XLOOKUP(*33-48* , *33-48Range* , *ResultRange* ))

我可以找到列之间是否有一个值

代码语言:javascript
复制
=IF(AND(*number*>=*Start*,*number*<=*End*),TRUE,FALSE)

我能把两者结合起来吗?数字1-7的数据是多余的,我想把表保持得很小。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-10 21:43:38

你可以把它们结合起来。我向表中添加了几行,以查看如果您有不同的Type值和number值,会发生什么情况。问题是,如果您使用了近似匹配,并输入一个13这样的数字超出范围,您可能最终得到下一行的表,这将是不正确的。一种方法是使用Xlookup中的选项,在开始列中搜索下一个较小的项,在End列中搜索下一个更大的项,并查看结果是否匹配:

代码语言:javascript
复制
=IF(XLOOKUP(I2&TEXT(J2,"00"),A2:A7&TEXT(B2:B7,"00"),XLOOKUP(K2,D1:G1,D2:G7),,-1)=XLOOKUP(I2&TEXT(J2,"00"),A2:A7&TEXT(C2:C7,"00"),
XLOOKUP(K2,D1:G1,D2:G7),,1),XLOOKUP(I2&TEXT(J2,"00"),A2:A7&TEXT(C2:C7,"00"),XLOOKUP(K2,D1:G1,D2:G7),,1),"Error")

如果您有一些检查,使数字不可能超出范围,那么您可以简化公式:

代码语言:javascript
复制
=XLOOKUP(I2&TEXT(J2,"00"),A2:A7&TEXT(B2:B7,"00"),XLOOKUP(K2,D1:G1,D2:G7),,-1)

代码语言:javascript
复制
=XLOOKUP(I2&TEXT(J2,"00"),A2:A7&TEXT(C2:C7,"00"),XLOOKUP(K2,D1:G1,D2:G7),,1)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71428793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档