在预定义的答案列表中查找A中的数据答案 - VLOOKUP - Google Spreadsheets

时间:2016-01-26 16:39:19

标签: google-apps-script google-sheets vlookup gs-vlookup

我有一个带有String.valueOf(partA)标签的Google电子表格。列A包含一堆公司名称,其中一些重复,并且包含多次。在B列中,我想为每个公司预定义唯一代码。例如,如果我在a10,a14,a21中有一个公司名称Nike,那么我每次都会在b10,b14,b21中使用相同的代码。

我最初在查看if / else阻止和切换语句(不确定谷歌电子表格是否可以做到这些)来实现这一目标,但由于单行代码将涉及数百个公司名称,因此它们将变得庞大且无法管理。

相反,我设置了另一个名为main sheet的标签,其中包含A列中所有公司名称的预定义列表以及B列中的代码。此列表将随着时间的推移而添加。

我要做的是在Codes Data列B中有一个公式,用于检查相应列A单元格的值,在main sheet标签中找到该公司的唯一代码并将该代码放在B列中。

我开始使用VLOOKUP,起初它似乎工作,但现在我得到了不一致的结果(即输出Codes DataAddidas | am-1121根据代码数据表它应该输出ACMECO RESTAUR | am-1121)。

我在这里提供了一个示例电子表格:https://docs.google.com/spreadsheets/d/156Lla5IyLjB-hp7s50jpotC1qcaov9RdFkpUzATe710/edit#gid=458436476

VLOOKUP是正确的功能吗?如果是这样,我怎样才能更恰当地使用它,如果不是更好的方法呢?

1 个答案:

答案 0 :(得分:2)

您必须将FALSE添加到查找公式中,否则它将无法正常工作:

=VLOOKUP(A5, 'Codes Data'!$A:$B, 2, FALSE)

使用“帮助”菜单,选择"表格帮助",然后输入" vlookup"。您将获得文档:

  

is_sorted - [OPTIONAL - 默认为TRUE] - 指示要搜索的列(指定范围的第一列)是否已排序。

     

如果is_sorted为TRUE或省略,则返回最接近的匹配(小于或等于搜索键)。如果搜索列中的所有值都大于搜索键,则返回#N / A.

     

如果将is_sorted设置为TRUE或省略,并且该范围的第一列未按排序顺序排列,则可能会返回不正确的值。

     

如果is_sorted为FALSE,则仅返回完全匹配。如果有多个匹配值,则返回与找到的第一个值对应的单元格内容,如果未找到此值,则返回#N / A.