Excel formula VLOOKUP值对公式或函数不可用,但应为

Excel formula VLOOKUP值对公式或函数不可用,但应为,excel-formula,excel-2010,Excel Formula,Excel 2010,我使用以下公式: =VLOOKUP(E9, 'Raw data'!$A$1:$I$45857, 9, FALSE) 我有两个选项卡,我希望在我的第一张工作表中有一列查找“原始数据”中的#值,该值与在列E中找到的ID号关联(数据从单元格E9开始)。我的第二个选项卡“原始数据”包括数据范围A1:I45857内从表1中E9开始的相同字段。我希望从“原始数据”返回的列是第9列。我只想精确匹配 我认为excel在想什么-在数组“原始数据”中查找e9,当我看到它时,返回在数组“原始数据”中该行第9列中找到

我使用以下公式:

=VLOOKUP(E9, 'Raw data'!$A$1:$I$45857, 9, FALSE)
我有两个选项卡,我希望在我的第一张工作表中有一列查找“原始数据”中的#值,该值与在列E中找到的ID号关联(数据从单元格E9开始)。我的第二个选项卡“原始数据”包括数据范围A1:I45857内从表1中E9开始的相同字段。我希望从“原始数据”返回的列是第9列。我只想精确匹配

我认为excel在想什么-在数组“原始数据”中查找e9,当我看到它时,返回在数组“原始数据”中该行第9列中找到的值

excel所说的-公式或函数没有可用的值

我感到困惑,因为该值实际上在该数组中可用。当我只过滤和搜索其中一个ID时,我会在两个表中都找到它。两列的数据类型都是number,并且没有rogue空格或任何内容

我的目标最终是获取ID的子集,并查看sheet1上的#与“原始数据”上的数字之间的差异。我正在查看,这样我可以获取“原始数据”上的#值,将其设置在#表1上的#值旁边,然后我可以根据ID旋转数据以聚合这两个数字,并创建一个计算字段,显示两者之间的百分比差异


非常感谢任何关于如何修复我的vlookup的输入,或基于公共ID将我的“原始数据”连接到sheet1的解决方法。

通过将“原始数据”中的我的ID字段设置为最左边的列来实现它。

通过将“原始数据”中的我的ID字段设置为最左边的列来实现它。

您不需要启动a列中的vlookup。如果ID列不在列A中,只要ID列位于要返回的列的左侧,Vlookup仍然可以工作。因此,如果您想从第I列返回值,并且ID列在第F列中,您可以保持表的原样,并将Vlookup更改为

=VLOOKUP(E9, 'Raw data'!$F$1:$I$45857, 4, FALSE)

这将在F列中查找匹配项,并从第四列(即I列)返回值。

您不需要在A列中启动Vlookup。如果ID列不在A列中,Vlookup仍然可以工作,只要ID列位于要返回的列的左侧。因此,如果您想从第I列返回值,并且ID列在第F列中,您可以保持表的原样,并将Vlookup更改为

=VLOOKUP(E9, 'Raw data'!$F$1:$I$45857, 4, FALSE)

这将在F列中查找匹配项,并从第四列返回值,即第I列。

对于此类情况,我建议您研究索引与匹配的组合,而不是VLOOKUP。VLOOKUP有两个主要缺陷:(1)您必须对数据进行排序,以便您的搜索项是连续数据块中最左边的列(正如您刚才看到的);(2)它是易变的,这意味着当在数据块中插入一列时,它将不再正确地“计算”要移动以检索数据的列数

这场比赛就像是瓦卢库普的一半。您给MATCH指定一个特定的列或行,以及一个要搜索的值,它只会返回为找到该值而必须移动的单元格数

=MATCH(A1,B:B,0)
这表示‘看B:B,告诉我A1的值出现在哪一行’

索引就像VLOOKUP的另一半。为索引指定一组单元格(行、列或二维范围)和特定的行号(加上可能的列号),它将返回该单元格的值

=INDEX(C:C,5)
这将为您提供单元格C5的值,它是在给定给索引的列中找到的第5行。组合这两个公式,它将返回C列的值,其中B列与A1匹配:

=INDEX(C:C,MATCH(A1,B:B,0))
这个公式给出了与之相同的结果

=VLOOKUP(A1,B:C,0)
VLOOKUP在这里看起来更简单,但索引和匹配功能更为广泛-在您的情况下,您不需要重新排序数据以使其正常工作,您可以使用以下公式:

=INDEX('Raw Data'!I:I,MATCH(E9,'Raw Data'!E:E,0))

一旦你养成了在vlookup上使用索引/匹配的习惯,你会发现你的数据管理起来更加灵活。

对于这种情况,我建议你研究索引和匹配的组合,而不是vlookup。VLOOKUP有两个主要缺陷:(1)您必须对数据进行排序,以便您的搜索项是连续数据块中最左边的列(正如您刚才看到的);(2)它是易变的,这意味着当在数据块中插入一列时,它将不再正确地“计算”要移动以检索数据的列数

这场比赛就像是瓦卢库普的一半。您给MATCH指定一个特定的列或行,以及一个要搜索的值,它只会返回为找到该值而必须移动的单元格数

=MATCH(A1,B:B,0)
这表示‘看B:B,告诉我A1的值出现在哪一行’

索引就像VLOOKUP的另一半。为索引指定一组单元格(行、列或二维范围)和特定的行号(加上可能的列号),它将返回该单元格的值

=INDEX(C:C,5)
这将为您提供单元格C5的值,它是在给定给索引的列中找到的第5行。组合这两个公式,它将返回C列的值,其中B列与A1匹配:

=INDEX(C:C,MATCH(A1,B:B,0))
这个公式给出了与之相同的结果

=VLOOKUP(A1,B:C,0)
VLOOKUP在这里看起来更简单,但索引和匹配功能更为广泛-在您的情况下,您不需要重新排序数据以使其正常工作,您可以使用以下公式:

=INDEX('Raw Data'!I:I,MATCH(E9,'Raw Data'!E:E,0))

一旦你养成了在vlookup上使用索引/匹配的习惯,你会发现你的数据管理起来更加灵活。

是的。这就是它的匹配方式。:)尼克,参见@Grade'Eh'Bacon关于索引/匹配的回复。它类似于vlookup,但功能更强大,因为您不必像vlookup那样从“左到右”排列数据。还需要检查您是否已按升序排列查找列。是的。这就是它的匹配方式。:)尼克,看到了吗@