索引匹配不适用于数据库连接

我有excel从一个工作表“数据”的ODBC数据库中提取信息,并试图使用INDEX MATCH在另一个工作表“价格手册数据”上的数据。 当我将数字键入非数据连接工作表时,我所做的INDEX MATCH公式不起作用,但是如果我剪切并粘贴从数据连接工作表中匹配的确切单元格,则公式可以正常工作。

我尝试在非数据连接工作表中将单元格重新格式化为文本和数字,但都不能用于成功匹配。 我用vbatesting了varttypes,非数据连接vartype返回“5”(“双精度浮点数”),数据连接工作表返回“8”(“String” – 两个单元格都是的UPC)。 我的猜测是INDEX MATCH由于这种差异而无法工作,但我将非数据连接单元更改为数字和文本,都不工作,也不知道如何继续。

我也得到了非VBA单元格格式,并确保两个单元格匹配“G”(“常规”格式),即使如此它仍然无法正常工作。

问题是,如何适当地重新格式化非数据连接单元格以使INDEX MATCH起作用?

将数据复制到Excel中时,有时数字将被视为文本,这就是为什么我使用VALUE()语法将文本转换为数字的原因。 试试这个数组公式吧 (在配方栏里面点击Ctrl + Shift + Enter ):

=INDEX(Data!B:B,MATCH('Price Book Data'!A2,VALUE(Data!A:A),0))

这应该看起来像下面的图片: