Excel - 在 XLOOKUP 中使用条件语句查找行
Excel - Find row with conditional statement in XLOOKUP
我正在尝试使用 XLOOKUP 查找基于用户输入的值。
table 看起来像这样:
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 来指定 3 个条件
=XLOOKUP(*type* & *number* , *typeRange* & *numberRange* ,XLOOKUP(*33-48* , *33-48Range* , *ResultRange* ))
而且我可以找到列之间是否有值
=IF(AND(*number*>=*Start*,*number*<=*End*),TRUE,FALSE)
我可以把两者结合起来吗?数字 1-7 的数据是多余的,我想保持 table 小。
您sort-of可以将它们组合起来。我在 table 中添加了几行,以查看如果您具有不同的类型值和数字值会发生什么情况。那么问题是,如果您使用近似匹配并输入一个像 13 这样超出范围的数字,您最终可能会得到 table 的下一行,这是不正确的。一种方法是使用 Xlookup 中的选项在开始列中搜索 next-smaller-item 并在结束列中搜索 next-larger-item 并查看结果是否匹配:
=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)
我正在尝试使用 XLOOKUP 查找基于用户输入的值。
table 看起来像这样:
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 来指定 3 个条件
=XLOOKUP(*type* & *number* , *typeRange* & *numberRange* ,XLOOKUP(*33-48* , *33-48Range* , *ResultRange* ))
而且我可以找到列之间是否有值
=IF(AND(*number*>=*Start*,*number*<=*End*),TRUE,FALSE)
我可以把两者结合起来吗?数字 1-7 的数据是多余的,我想保持 table 小。
您sort-of可以将它们组合起来。我在 table 中添加了几行,以查看如果您具有不同的类型值和数字值会发生什么情况。那么问题是,如果您使用近似匹配并输入一个像 13 这样超出范围的数字,您最终可能会得到 table 的下一行,这是不正确的。一种方法是使用 Xlookup 中的选项在开始列中搜索 next-smaller-item 并在结束列中搜索 next-larger-item 并查看结果是否匹配:
=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)