首页 > 解决方案 > Excel CODE 函数返回关于不可打印字符的奇怪结果

问题描述

我在使用 excel CODE 功能时遇到了奇怪的行为。我有一个宏(工作正常),可以从系统数据提取中清除/替换奇怪的字符,以便在 excel 中对提取的数据进行后处理时的数据兼容性。今天我在一个字符串中间发现了一个新的不可打印字符,它正在欺骗 VLOOKUP 函数。所以我尝试使用 CODE 函数在 ANSI 代码表中识别它,并将其包含在我的宏中以替换或删除它。但是 CODE 返回 150(一个常规的 ndash 字符),这是错误的。我错过了什么?

这是一个奇怪字符串的例子。它位于 APPROVER 和 PME 单词之间,并用空格包围。第二行是与常规“-”破折号字符相同的字符串。

注意:我使用的是 excel 2013 巴西葡萄牙语版本。我翻译了公式以便于理解。

原始字符串 正确的结果 代码结果 原始字符串的搜索结果 在正确的字符串上搜索结果
批准人 PME =右(A2;5) =代码(B2) =搜索(字符(150);A2;1) =搜索(字符(150);B2;1)
批准人——PME =右(A3;5) =代码(B3) =搜索(字符(150);A3;1) =搜索(字符(150);B3;1)

这些是结果:

原始字符串 正确的结果 代码结果 原始字符串的搜索结果 在正确的字符串上搜索结果
批准人 PME PME 150 #价值! #价值!
批准人——PME – PME 150 10 1

价值!错误是“不正确的数据类型”。

更新:另一个奇怪的事情是,当我从单元格中复制这个字符并将其粘贴到 Visual Basic 代码中时,它显示为常规破折号字符“-”。

标签: excel

解决方案


推荐阅读