【问题标题】:Using arrayformula() like continue with nested if()使用 arrayformula() 像 continue 和嵌套 if()
【发布时间】:2015-08-15 03:44:03
【问题描述】:

我的目标是在相邻列中存在数据时填写公式。

这是我原来的公式:

=index(lookups!$M$2:$M30,match($A3,lookups!$N$2:$N30,0))

此公式的工作原理是按预期返回结果。

然后我尝试了这个,希望它可以复制下来:

=index(lookups!$M$2:$M30,match($A3:A,lookups!$N$2:$N30,0))

这导致 #N/A “未在匹配中找到值”

然后我阅读了this 的帖子并查看了第二个投票最多的答案,并尝试将我的公式编辑为:

=arrayFormula(index(lookups!$M$2:$M30,match($A3:A,lookups!$N$2:$N30,0)))

这一次,公式如我所愿复制下来,但出现#VALUE 错误“函数 IF 参数 1 需要布尔值。但“ADT-阿拉斯加旅游供应商活动(搜索)”是文本,不能强制转换为布尔值。”

当 A 列中存在数据时,我如何告诉工作表一直复制索引(Match())?

【问题讨论】:

  • 看起来 VLOOKUP 在这里可能会更好。你能分享一个带有预期结果的示例电子表格吗?
  • 我不认为 Vlookup 会在这里工作? “查找”只是我拥有的包含查找表的选项卡的名称。我将编辑公式,就像查找表在同一张表上一样。
  • 你可以让我试试,如果提供一个示例电子表格?
  • 你好克隆的可编辑表在这里,任何帮助表示赞赏:docs.google.com/a/envoke.com/spreadsheets/d/…
  • 该工作表不可访问。你能修复权限吗?

标签: google-sheets array-formulas


【解决方案1】:

看看这个公式是否提供了所需的输出?

=ARRAYFORMULA(iferror(vlookup(A3:A, {lookups!$B$2:$B, lookups!$A$2:$A}, 2, 0)))

【讨论】:

  • 确实如此!太感谢了?你能告诉我这里发生了什么吗?为什么要花括号?
  • 当然。花括号正在创建一个新数组(表),2 列宽,第一列是 B 列,第二列是工作表“查找”的 A 列。这样做是因为我们可以使用 vlookup 来预期第一列中的匹配项。然后我们检索第二列(witch 实际上是 A 列)并将 vlookup 包装在 arrayformula 中以启用数组。希望这是有道理的?
  • 再次感谢您。所以 vlookup() 适用于数组公式,但 index(match()) 不适用?
猜你喜欢
  • 1970-01-01
  • 2017-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多