首页 文章

Google Scripts生成的VLOOKUP公式无法正确计算

提问于
浏览
1

我正在以编程方式向单元格编写公式 .

以下代码行: formulaCells.setFormulaR1C1('=iferror(VLOOKUP(R[0]C[3],AutoCat!A:B,2,FALSE),"Requires Category")');

将此公式充分写入由 formulaCells 表示的目标Google表格文件中的所有单元格

=iferror(VLOOKUP(D2,AutoCat!A:B,2,FALSE),"Requires Category")

但问题是,当Google Scripts编写公式时,公式默认为错误标记“Requires Category”,但如果我手动将相同的公式写入Google表格,则VLOOKUP会识别实际项目 .

这太令人沮丧了!

如果我将鼠标悬停在Google Script生成的公式上,VLOOKUP的真正解决方案甚至会出现在天桥中,但由于某种原因,不会出现在单元格中 .

请帮忙!为什么Google Scripts生成的公式无法正确计算,手动输入的公式是否相同?

2 回答

  • 2

    好吧,在想到我已经耗尽了我的心理资源之后,我尝试了最后一件事,它确实奏效了 .

    由于某些未知原因,虽然公式是准确的,但Google Scripts生成的公式与使用VLOOKUP无法很好地搜索无限范围的解决方案 . 因此,即使VLOOKUP找到了正确的解决方案,它也没有将其显示为公式结果 .

    我通过在Google表格文件中创建VLOOKUP将搜索的名为 AutoCategory 的数据的命名范围,然后将该命名范围插入到Google Scripts生成的公式和BOOM中来解决此问题 . 公式开始起作用了 .

    这是脚本中的最终代码: formulaCells.setFormulaR1C1('=iferror(VLOOKUP(R[0]C[3],AutoCategory,2,FALSE),"Requires Category")');

    以下是在Google表格中生成的最终公式:= iferror(VLOOKUP(D2,AutoCategory,2,FALSE),“需要类别”)

  • 3

    setFormulaR1C1 需要R1C1表示法,您使用 R[0]C[3] 提供,但 AutoCat!A:B 是A1表示法 .

    您可以切换到 setFormula() 并仅传入A1表示法,但我认为使用命名范围与Google Apps脚本结合使用时非常好 .

相关问题