Xlookup查找空值返回0值的解决方案

1.原因

xloookup在查到的值为空值的单元格会返回0。
在这里插入图片描述

这个问题大老火的地方在于填一些公司的表格他不需要显示0值,而是需要显示空值。
比如我就遇到了如下图所示的这种搞笑情况:
在这里插入图片描述

2.用空值代替0值的方案

2.1 用T函数解决

T函数:手册

T函数的问题在于,如果值是文字或引用文字,则 T 返回值。 如果值未引用文字,则 T 返回 “”(空文字)。这个就取决于你的值是不是文字。如果是数字,T函数也会把它抹成空值。

原函数:
=XLOOKUP(E2,表1[查找列],表1[值列],"")
返回0值

新函数:
=T(XLOOKUP(E2,表1[查找列],表1[值列],""))
返回空值

在这里插入图片描述

2.2 让公式连接一个空字符

连接符放在前面和后面都没有影响。

原函数:
=XLOOKUP(E2,表1[查找列],表1[值列],"")
返回0值

新函数:
=XLOOKUP(E2,表1[查找列],表1[值列],"")&""
返回空值

新函数:
=""&XLOOKUP(E2,表1[查找列],表1[值列],"")
返回空值

在这里插入图片描述
这个方案比T函数的方案的好处是数值不会被抹去,但相对应的,数值格式会变成文本而无法保留原格式。

if函数解决

if函数:手册
if函数的解决方案比上面两个方案好的地方在于,自定义的程度稍微高一点,毕竟你可以一个真值和一个假值的返回都可以自行定义。坏处也很明显,公式长度很长。

原函数:
=XLOOKUP(E2,表1[查找列],表1[值列],"")
返回0值

新函数:
=IF(XLOOKUP(E2,表1[查找列],表1[值列],"")="","",XLOOKUP(E2,表1[查找列],表1[值列],""))
返回空值

在这里插入图片描述

if函数中嵌套len函数或者isblank函数的解法

这点我觉得其实没有必要,对于我目前的应用场景属实有点画蛇添足,但是还是说一下
len函数:手册
isblank函数:手册
用len函数判断单元格中字符的长度,毕竟空值的长度肯定是0。

原函数:
=XLOOKUP(E2,表1[查找列],表1[值列],"")
返回0值

if函数:
=IF(XLOOKUP(E2,表1[查找列],表1[值列],"")="","",XLOOKUP(E2,表1[查找列],表1[值列],""))
返回空值

新函数:
=IF(LEN(XLOOKUP(E2,表1[查找列],表1[值列]))=0,"",XLOOKUP(E2,表1[查找列],表1[值列]))
返回空值

在这里插入图片描述
用isblank就是在if判断的时候,真值就是空值。

原函数:
=XLOOKUP(E2,表1[查找列],表1[值列],"")
返回0值

嵌套len函数:
=IF(LEN(XLOOKUP(E2,表1[查找列],表1[值列]))=0,"",XLOOKUP(E2,表1[查找列],表1[值列]))
返回空值

嵌套isblank函数:
=IF(ISBLANK(XLOOKUP(E2,表1[查找列],表1[值列])),"",XLOOKUP(E2,表1[查找列],表1[值列]))
返回空值

在这里插入图片描述

XLOOKUP函数是在Excel中用于查找数据的强大工具之一,它能够替代VLOOKUP、HLOOKUP以及INDEX+MATCH组合,在处理复杂的查询需求上更为灵活高效。当涉及到多条件查找时,可以结合数组公式或者通过构造特殊的辅助列来实现。 ### 使用 XLOOKUP 进行多条件查找的方式: #### 方式一:使用乘法运算符(*)连接条件 假设我们有一个包含销售记录的数据表,其中A列为产品名称,B列为地区,C列为日期,D列为销售额。现在想要基于“产品”和“地区”两个条件找到对应的“销售额”。 可以在任意空白单元格输入如下的公式,并按 Enter 键确认: ```excel =XLOOKUP(1, (A:A=指定的产品)*(B:B=指定的地区), D:D) ``` 这里 `(A:A=指定的产品)` 和 `(B:B=指定的地区)` 分别代表你要匹配的第一个和第二个条件,“*” 表示同时满足这两个逻辑表达式的交集部分;`D:D` 则是指定返回的结果范围即销售额所在列。 注意:此方法适用于 Excel 365 或者更新版本支持动态数组计算的功能下才能正常工作。 #### 方式二:创建辅助列合并键后再做单条件查找 对于较低版本的Excel而言,由于无法直接解析上述含有布尔乘积形式的复合条件结构,所以我们可以采用添加辅助列的方式来间接达成目的。 例如在同一张表格里新增E列作为“辅助搜索标识”,其内容由 A 列与 B 列拼接而成(可用 `&` 操作符完成),然后对 E 列应用简单版的一维精确查找即可获得目标结果了。 ```excel =XLOOKUP("指定的产品" & "指定的地区", E:E , D:D ) ``` 这种方法兼容性强,易于理解和操作。 ### 注意事项: - 当涉及更大规模的数据集时,请尽量减少整个列的选择(`A:A`)以提高性能; - 对于非连续区域或多工作簿间跨引用的情况需要适当调整路径或结构调整以保证公式的有效性; - 如果有重复项存在而你只想获取第一个符合条件的结果,则无需额外设置,默认情况下 XLOOKUP 只会给出首次命中项的信息;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值