【问题标题】:Google Sheets ArrayFormula with Index or Offset带有索引或偏移量的 Google Sheets ArrayFormula
【发布时间】:2015-12-10 19:13:16
【问题描述】:

我正在制作一个电子表格模板来转换数据库信息,并且正在寻找一种更自动化的方式来实现这一点。目前我有一个项目目录和一个资产列表。我的目标是阅读所有资产的产品名称并在目录中查找并提取有关该产品的信息行。

我可以创建一个数组列表来匹配目录中的产品名称列表,(这会返回与目录对应的索引列表)

=ArrayFormula(match(Data!T3:T,Data!L3:L,0))

我可以从目录中提取单个产品名称的信息。 (这将返回在目录中找到产品名称的索引处的行)

=index(Catalog,match(Data!T3,Data!L3:L,0))

但是,当我尝试将操作合并到

=ArrayFormula(index(Catalog,match(Data!T3:T,Data!L3:L,0)))

ArrayFormula 不起作用,它只是提取列表中第一项的信息。

有谁知道我可能做错了什么,或者 ArrayFormula 是否有能力做这样的事情?

这里是一个示例电子表格的链接

https://docs.google.com/spreadsheets/d/1ML-jAx2O_0FY0p42ytVmJEF12P92mi4WOa1wl2Wx8tY/edit#gid=1397027595

谢谢

【问题讨论】:

  • 能否添加一个示例电子表格的链接?
  • 我已将链接指向我正在处理的示例。我还遇到了将 OR 语句与 arraylists 一起使用也不起作用的问题。 (如 student_staff_ID 列中所述)
  • 文档上的权限不正确,你需要让任何人都可以看到它
  • 权限已设为公开
  • 谢谢,我今天晚些时候下班去看看 :)

标签: google-sheets lookup-tables array-formulas


【解决方案1】:

所以我不能 100% 确定这是否是您的具体要求,但是在这种特殊情况下,arrayformula 无法提取更多内容,但是例如,如果您将此公式放在 B6 中并复制相同的公式,它与该部分等匹配,您可以根据要返回的数据继续对其进行修改。

=INDEX(Data!M:Q,MATCH(A6,Data!L:L,0))

尽管样本上没有那么多数据,但电子表格的工作似乎确实慢得令人难以置信 - 您是否在其中导入了其他内容?

【讨论】:

  • 这就是我最初拥有的那种,但我正在考虑避免为每个添加的新资产检查手动复制几行。对于这么少的计算,它似乎运行得非常慢。我相信我在 H6 和 K6 中的数组公式也在检查列中的所有空白值。我可能只是对电子表格提出了太多要求。
  • 是的,很抱歉,这不是一个更好的解决方案——我倾向于在我因各种原因创建的所有工作表上做的,就是用“if(istext(A1), 一堆其他代码等)”因此,无论它所依赖的值是什么,它只会减慢工作表的速度并在其中有相关数据供其处理时运行
猜你喜欢
  • 2020-08-15
  • 2015-07-16
  • 2012-08-25
  • 2020-12-03
  • 1970-01-01
  • 2021-07-20
  • 1970-01-01
  • 2021-07-25
  • 1970-01-01
相关资源
最近更新 更多