如何处理 Excel vlookup 中的特殊字符才能正确显示?

如何处理 Excel vlookup 中的特殊字符才能正确显示?

我将单元格的验证值设置为一些列表温丁斯字符,这些单元格使用温丁斯字体:

具有验证值和验证标准的单元格

“Choix_coches”列表使用了 fas 验证标准

如果我手动使用组合验证来设置一个值,它可以完美地运行。

但是,如果我使用一个将vlookup{empty,VRAI=TRUE,FAUX=FALSE} 之间某个函数的结果用作值,名为xProcessus,并将前一个列表作为范围,其中第一列对应于这些值,名为coches,形式为:=vlookup(xProcessus;coches;2;FAUX)

我有奇怪的结果:

在此处输入图片描述

我试过其他配方奶粉,没有出现vlookup类似情况=car(254),所以这不是问题。请问哪里出了问题?

答案1

当使用VLOOKUP()FALSE 作为第四个参数时,即使查找列中的数据出现并且对其进行的基本测试表明查找值和查找列的值相同,查找仍会失败……查找失败,但几乎总是查找值和查找列的值实际上并不相同。

鉴于使用 xProcessus 等进行的查找所显示的字符看起来相同,因此看起来很像这三种情况下的公式输出都是相同的,因此,由于输入不同但返回相同的结果,查找要么没有看到输入彼此不同,要么出现错误(不是 Excel !ERROR#,只是错误),当发生控制输出的故障类型(无论是什么)时会发生这种情况。

最常见的是,这种情况“在现实中”出现,其中一个值是实数,而另一个值是文本格式的“数字”,因此不匹配,或者一个干净的值(例如:它确实就是它看起来的样子)与一个被污染的值匹配(例如:它实际上并不只是它看起来的样子(如“5”和一个不显示的字符,只与“5”匹配,这是从网站上抓取的值中经常遇到的情况))。

您没有提供实际(和可辨别)的数据,因此根本无法确定。但同样,这个问题几乎总是由于这个原因造成的。

检查查找输出,即 xProcessus 的输出。例如,您可以简单地用其输出填充单元格,直到获得所有可能的输出,然后将它们复制并粘贴为一组其他单元格。然后打开一个您知道失败的单元格VLLOOKUP()(您可以只获取这一个输出,然后将其复制并粘贴为值,但​​如果一开始没有什么特别之处,那么检查更多内容可能会更方便...)使用 F2 和 Ctrl-Home 转到编辑器中值的开头,并查找明显的问题,例如“1”是输出,有空间来开始它,而查找列可能只有裸露的数字。使用右箭头在您看到的内容中逐个字符缓慢移动。仔细观察,因为您正在查找可能没有宽度的字符,所以光标只是轻微闪烁,而它没有向右移动。任何似乎不属于的东西。

请注意,这是针对此问题更常见情况的一般方法。如果没有具体示例,人们只能猜测。

但是,您的情况更有可能涉及 xProcessus 不仅将某种值或字符传递给 Excel 以供使用,VLOOKUP()而且还传递了它的格式。并且该格式造成了 Excel 在查找值与查找列的值中看到的差异。唯一真正的解决方案是(因为人们可能无法深入研究 xProcessus 所做的一切)重新格式化查找列值以匹配 xProcessus 包含的格式。

唯一能想到的另一个角度是评估返回的字符。看起来您正在寻找字符 111、253 和 254,但得到的是字符 61。(或其他两组字符 6Exx 或 6dxx)。那里没有明显的偏移,因为函数返回的是相同的 61,而不是 61 和 202 和 203。xProcessus 的哪种输入可能导致它返回 61,而不是 111、253 和 254。如果它VLOOKUP()通过在查找范围的第 2 列中找到它来返回 61,那么该查找范围必须只包含 61,您应该很明显哪里出了问题,所以如果这个角度有用的话,它就不可能是函数,而是错误的输入。)因此,xProcessus 的某些故障导致它返回 61,就好像它是一个错误代码一样。或者,如果表中包含第 2 列包含 61 的行,那么它可能就是查找表的第 2 列。对于 xProcessus 来说,它仍然归结为“是什么和为什么”。

手动输入(“硬编码”输入)不会导致问题,这一事实也要求问题出在 xProcessus 的输出中,而不是 coches 数据中。(并且,以免从上面没有理解,也不在VLOOKUP()两者中。)因此,设置 xProcessus 的输出,如前几段所述,并将它们作为值复制并粘贴到方便的地方,然后开始非常认真地查看它们。检查 coches 表,即使不是为了别的,也是为了兴趣,因为看看为什么返回 61 会很有趣。第 2 列为 61 的行的第 1 列是什么?这不仅可能有帮助,而且出于智力原因关注这样的小细节是您建立知识的方式,这些知识可以让您在未来几年内发现微妙的事情。

相关内容