【问题标题】:Get array of matching cells获取匹配单元格数组
【发布时间】:2017-04-14 16:11:19
【问题描述】:

我有一个文档,其中一个包含公司名称的工作表和另一个具有相同名称的列和每个公司的不同位置的另一行。它看起来类似于:

 Company  |   Location
Company1  |  Location1
Company1  |  Location2
Company2  |  Location1

等等。我需要一个公式来返回与特定公司名称匹配的行号数组,例如 Company1 的 [0, 1] 和 Company2 的 [2]。有没有公​​式可以做到这一点?

【问题讨论】:

  • Excel 和 Google 表格数组处理功能的工作方式不同。您使用的是哪个应用程序?

标签: google-sheets formulas


【解决方案1】:

您可以使用将返回行号的MATCH 公式,

=MATCH(A1,Sheet2!A:A,0)

其中 A1 是当前工作表中的公司名称,A:A 是工作表 2 中的公司名称(带有位置)。此公式返回行号。

要记住的一点 - 行号从 A1 开始,这将是 1,依此类推。

【讨论】:

  • 这绝对是一个好的开始。但是有没有办法让它返回字符串出现的所有行?因此,如果我正在寻找“Compan1”,它会返回类似“[1, 2]”的内容?
  • @CodyHarness 你能用你想要的输出来更新这个问题吗?
  • 您可能需要查看此链接,eimagine.com/…
【解决方案2】:

试试

=filter(row(A:A),A:A="Company1")

=filter(row(A:A),A:A=A2)

将它们放在一个单元格中

=arrayformula(left(concatenate(filter(row(A:A),A:A=A2)&","),len(concatenate(filter(row(A:A),A:A=A2)&","))-1))

【讨论】:

  • 非常接近。有什么方法可以将所有值放入一个单元格,而不是同一列中的多个单元格?
  • 是的,您可以将它们连接起来。我不知道删除最后一个逗号的捷径,所以公式变得有点长
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-14
  • 1970-01-01
  • 2019-01-23
  • 1970-01-01
  • 2017-05-07
相关资源
最近更新 更多