如何从列表中查找相应的值?

时间:2019-12-19 06:30:37

标签: arrays google-sheets google-sheets-formula array-formulas gs-conditional-formatting

Google表格-根据列表将一些值转换为相应的名称。

例如:工作表具有类别名称,我需要将其转换为类别 ID 。 在另一个选项卡中有一个具有名称-ID对的查找表。

我该如何编写一个公式来扫描查找表中的匹配项,然后在右边的下一个单元格中获取值并输入?

基本上,请为我提供列表中所有项目的相应ID值。

列表:

  • 小部件
  • 小部件
  • 小工具
  • 小部件
  • 配件
  • 小工具
  • 小工具
  • 小工具
  • 小部件
  • 小部件
  • 小部件

查询表:

  • 配件| 29
  • 小部件| 34
  • 小配件| 72

结果是我需要什么

  • 小部件34
  • 小部件34
  • 小工具72
  • 小部件34
  • 附件29
  • 小工具72
  • 小工具72
  • 小工具72
  • 小部件34
  • 小部件34
  • 小部件34

实际列表比3个示例长得多,因此手工完成很繁琐。我确定答案在那里...

2 个答案:

答案 0 :(得分:0)

弄清楚了。扯掉我的头发多一点后。

= VLOOKUP(P2,CF:CG,2,TRUE)

其中CF和CG列包含category-name:category-ID值。 Category-ID是该范围内的第二列,因此为“ 2”。它按字母顺序排序,因此为“ TRUE”。

现在,由于Google表格“有效地”自动增加了公式,因此完全复制该公式会破坏引用。

使用Control-Shift-V粘贴公式而不自动递增也会破坏结果,因为如果看第二行,它会“卡住”(无论公式被复制多远)。

解决方案:使用“ $”“锁定”查找的单元格引用,但允许源单元格引用增加:

= VLOOKUP(P2, $ ** CF: $ ** CG,2,TRUE)

问题2:任何没有值的单元格都会产生“ N / A”错误。以后会插入问题。

解决方案:添加IFNA包装:

= IFNA(VLOOKUP(P2,$ CF:$ CG,2,TRUE),“”)

(执行VLOOKUP;如果结果不是N / A,则显示结果;如果结果是N / A,则不显示任何内容(“”)。)

答案 1 :(得分:0)

使用此数组公式:

=ARRAYFORMULA(IFNA(VLOOKUP(P2:P, CF:CG, 2, 0)))