我有一张名为 External_Data 的工作表,其中包含通过连接提取的数据。第二张工作表使用简单的索引匹配公式引用这些数据,但由于某种原因返回错误,我快要疯了,想弄明白原因。当我将公式指向另一张包含类似数据的工作表(也是通过连接提取)时,它工作正常。我可以转到 External_Data 并查看值,我可以快速搜索该值,它会正常弹出,但公式就是不起作用。
有问题的公式是:
=INDEX(External_Data!J:J,MATCH(B2,External_Data!A:A,0))
B 列是序列号列表,其公式为:
=IFERROR(Calcs!G:G,"")
并且 External_Data 列 A 只是序列号列表(通过上述连接导入)
我尝试过的事情:
将 B 列的内容更改为值而不是公式
将查找值更改为 VALUE(B3)
将查找值更改为实际值
从头开始重建整个 External_Data
将公式更改为 vlookup (=VLOOKUP(B2,External_Data!A2:J750,10))
我不知道这个垃圾是怎么回事。它应该能用。它在其他地方也能用。当我将公式指向其他地方时,它也能用。但出于某种原因,它拒绝与这张特定的表格配合使用。
答案1
除了更改源格式外,为了 MATCH 的目的,还可以更改查找值的格式吗?您说您尝试了 VALUE(B3),但它已经是一个数字,问题在于将其与 External_Data 中的字符串进行比较。
怎么样
...MATCH(TEXT(B2,"0"),External_Data!A:A,0))
这样,您就可以在索引匹配中比较苹果与苹果(或更具体地说,字符串与字符串)而不需要改变数据源或设置帮助表?