msm3566360 发表于 2024-11-19 16:16

wps 公式求助!!!

=IF(ISERROR(VLOOKUP(E52001,对照表!$A:$B,2,0)),"",VLOOKUP(E52001,对照表!$A:$B,2,0))


这个公式我复制别人的但是什么意思啊?运行原理咋让我理解?

我把条码扫里面 它会直接跳出对应的型号!

shenake 发表于 2024-11-19 16:16

=IF(ISERROR(VLOOKUP(E52001,对照表!$A:$B,2,0)),"",VLOOKUP(E52001,对照表!$A:$B,2,0))

上面都是AI复制的,是否给分无所谓了,正确的逻辑是
先1 查找VLOOKUP
VLOOKUP(E52001,对照表!$A:$B,2,0)
查找值是E52001,   名称叫 对照表!    范围A B列, 返回第2列 =B列,精确匹配。

如果无法查找会返回#ref 无效引用
IF +ISERROR 判断是否错误值,如果错误的话,返回空 ""否则返回VLOOKUP(E52001,对照表!$A:$B,2,0)

正确来说,这公式过于冗长,

直接IFERROR (IF +ISERROR功能一样 )判断,如果是错误值返回“”

=IFERROR(VLOOKUP(E52001,对照表!$A:$B,2,0),"")   即可

我盲猜新手写的。

H5L231 发表于 2024-11-19 16:29

IF如果

ISERROR检查这个值是否错误

VLOOKUP查找指定值


爱学习的小妖精 发表于 2024-11-19 16:30

这个公式是Excel中的一个条件函数,用于在一个数据表中查找特定的值,并返回该值所在行的另一个单元格的值。如果查找的值不存在于数据表中,函数将返回一个错误值。


1. VLOOKUP函数:
   - `E52001`:要查找的值
   - `对照表!$A:$B`:数据表的范围,其中`$A:$B`表示从A列到B列的所有单元格
   - `2`:返回数据表中第2列的值
   - `0`:表示进行精确匹配

2. ISERROR函数:
   - 如果`VLOOKUP`函数返回错误值(例如,查找的值不存在于数据表中),`ISERROR`函数将返回`TRUE`
   - 如果`VLOOKUP`函数返回非错误值,`ISERROR`函数将返回`FALSE`

3. IF函数:
   - 如果`ISERROR`函数返回`TRUE`,即`VLOOKUP`函数返回错误值,`IF`函数将返回一个空字符串("")
   - 如果`ISERROR`函数返回`FALSE`,即`VLOOKUP`函数返回非错误值,`IF`函数将返回`VLOOKUP`函数的结果


这个公式的实际应用是在数据表中查找特定的值,并在找不到该值时返回一个空字符串,而不是错误值。这样可以避免在后续的计算中出现错误。

例如,如果`E52001`的值在`对照表!$A:$B`的数据表中不存在,公式将返回一个空字符串,而不是错误值`#N/A`。如果`E52001`的值存在于数据表中,公式将返回该值所在行的第2列的值。

sjx14023 发表于 2024-11-19 16:30

VLOOKUP(E52001,对照表!$A:$B,2,0)

VLOOKUP 是一个查找函数,用于在某个范围内寻找一个值并返回相关联的值。
E52001: 这是要查找的值,也就是在你工作表中输入或者扫描的条码。
对照表!$A:$B: 指明了查找的区域。这里是在名为“对照表”的工作表中查找,搜索范围是从A列到B列。
2: 代表在查找到匹配值后,返回的那一行中第二列的值。也就是说,从“对照表”中A列中找到了匹配的条码后,返回对应行的B列的值。
0: 表示精确匹配。如果找不到完全匹配的值,函数会返回错误。

ISERROR(VLOOKUP(…))
ISERROR 是一个用于判断某个表达式是否返回错误的函数。
把 VLOOKUP 置于 ISERROR 中的结果是用来判断查找是否成功。如果 VLOOKUP 返回错误(即没有找到匹配项),则 ISERROR 会返回 TRUE。

IF(ISERROR(…), “”, VLOOKUP(…))
IF 是一个条件判断函数,结构为 IF(逻辑测试, 真值结果, 假值结果)。
ISERROR(...) 是逻辑测试部分。如果 ISERROR(VLOOKUP(...)) 为真,说明 VLOOKUP 没能找到条码对应的“型号”,就返回空字符串 ""。
如果查找成功,则 ISERROR 为假,IF 函数返回 VLOOKUP(...) 的结果,也就是电子表格中该条码对应的“型号”。

运行原理
当你在单元格 E52001 输入或扫描一个条码时,公式立即触发。
VLOOKUP 函数在“对照表”中的 A 列查找这个条码。
如果找到条码,提取同一行 B 列的“型号”并显示在公式所在的单元格中。
如果找不到,则由 ISERROR 捕获错误,且 IF 返回空白。
这个公式的主要功能是在一个参考表中快速检索对应的型号信息,并处理可能找不到结果的情况。

sunnychen 发表于 2024-11-19 16:31

从“对照表”中第 A 列查找值 E52001,返回对应的第 B 列值。

jxxiohu 发表于 2024-11-19 16:38

用了才啊

Eric0203 发表于 2024-11-19 16:53

VLOOKUP(E52001,对照表!$A:$B,2,0)        意思是在“对照表”的A列和B列的第二列即B列中精确查找单元格E52001所匹配的值        你可以把这个值看成value1
简化公式        =IF(ISERROR(value1,"",value1))               
意思就是你扫条码后,在B列中是否有与E52001匹配的值,如果没有,就是空白,如果有,就返回这个值

l265275 发表于 2024-11-19 16:54

大神果然多啊,其实我也不知道,看了评论,学习到了。

Eric0203 发表于 2024-11-19 16:54

VLOOKUP(E52001,对照表!$A:$B,2,0)      意思是在“对照表”的A列和B列的第二列即B列中精确查找单元格E52001所匹配的值      你可以把这个值看成value1
简化公式      =IF(ISERROR(value1,"",value1))               
意思就是你扫条码后,在B列中是否有与E52001匹配的值,如果没有,就是空白,如果有,就返回这个值
页: [1] 2
查看完整版本: wps 公式求助!!!