我试图使用XLOOKUP来根据用户输入找到一个值。
这张桌子是这样的:
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来指定三个条件
=XLOOKUP(*type* & *number* , *typeRange* & *numberRange* ,XLOOKUP(*33-48* , *33-48Range* , *ResultRange* ))我可以找到列之间是否有一个值
=IF(AND(*number*>=*Start*,*number*<=*End*),TRUE,FALSE)我能把两者结合起来吗?数字1-7的数据是多余的,我想把表保持得很小。
发布于 2022-03-10 21:43:38
你可以把它们结合起来。我向表中添加了几行,以查看如果您有不同的Type值和number值,会发生什么情况。问题是,如果您使用了近似匹配,并输入一个13这样的数字超出范围,您可能最终得到下一行的表,这将是不正确的。一种方法是使用Xlookup中的选项,在开始列中搜索下一个较小的项,在End列中搜索下一个更大的项,并查看结果是否匹配:
=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")

如果您有一些检查,使数字不可能超出范围,那么您可以简化公式:
=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)https://stackoverflow.com/questions/71428793
复制相似问题