【问题标题】:Google Scripts Generated VLOOKUP Formula Does not Calculate ProperlyGoogle 脚本生成的 VLOOKUP 公式计算不正确
【发布时间】:2018-03-30 20:44:44
【问题描述】:

我正在以编程方式将公式写入单元格。

以下代码行: 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 编写时,公式默认为错误标志“需要类别”,但如果我将相同的公式手动写入 Google 表格,则 VLOOKUP 结果识别的实际项目。

这太令人沮丧了!

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

请帮忙!为什么使用手动输入的相同公式,Google Scripts 生成的公式计算不正确?

【问题讨论】:

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


    【解决方案1】:

    好的,在认为我已经用尽了我的脑力资源之后,我尝试了最后一件事,它确实奏效了。

    由于某些未知原因,尽管公式准确,但 Google 脚本生成的公式不能很好地与 VLOOKUP 配合使用,该 VLOOKUP 会在无限范围内搜索解决方案。因此,即使 VLOOKUP 找到了正确的解决方案,它也不会将其显示为公式结果。

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

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

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

    【讨论】:

      【解决方案2】:

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

      您可以切换到 setFormula() 并仅传递 A1 表示法,但我认为与 Google Apps 脚本结合使用命名范围是一种非常好的做法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-18
        • 1970-01-01
        相关资源
        最近更新 更多