我有2张桌子:
tblCodes 包含2列:
代码(4个字符的代码可以是文本或数字),代码名称(文本描述)
tblSerialNum 包含3列:
SerialNum列(可以是文本或数字)
代码列是使用LEFT()函数的SerialNum的第1个4个字符,
代码名称列使用索引/匹配来查找与代码匹配的代码名称:
= INDEX(tblCodes [代码名称],MATCH([@@ Code],tblCodes [代码],0))
问题在于序列号1234001:当代码全为数字时,MATCH不起作用,因为LEFT()函数始终返回字符串“ 1234”,并且在代码表中找不到它,因为读为数字1234。
我无法将tlbSerialNum [Code]列中的值转换为数字,因为其中一些是文本“ x333”。
我尝试将tblCodes [Code]列设置为文本格式,但该功能仍将1234视为数字。
我可以使用撇号将'1234输入到tblCodes [Code]中,强制将其作为文本输入,但是我不想依靠用户始终记住以这种方式输入它。
有什么建议吗?
答案 0 :(得分:0)
将所有内容更改为公式中的文本:
=INDEX(tblCodes[Code Name],MATCH([@Code]&"",tblCodes[Code]&"",0))
这是一个数组公式,在退出编辑模式时,可能需要使用Ctrl-Shift-Enter而不是Enter来确认具体取决于版本。