【问题标题】:Generically return array between cells with arrayformula?使用arrayformula 通常在单元格之间返回数组?
【发布时间】:2019-12-15 18:33:00
【问题描述】:

间接和偏移不适用于arrayformula,例如

a
c
x
s
q
p

所以我可以使用 match 或 vlookup 来找出 c 是第 2 行,q 是第 5 行,但是我想返回一个 {c,x} 数组,使用偏移或间接很容易完成,但你会怎么做当它是一个单元格中的数组公式(想要返回多个组合)时执行此操作,该单元格可以返回 c 和 q 之间以及 x 和 p 之间的所有内容,等等。

【问题讨论】:

  • 与所需输出的示例共享您的工作表副本

标签: arrays google-sheets google-sheets-formula array-formulas


【解决方案1】:

也许:

=INDIRECT(
 ADDRESS(MATCH(B1, A:A, 0), 1, 4)&":"&
 ADDRESS(MATCH(B2, A:A, 0), 1, 4))

【讨论】:

  • 是的,对不起,我应该发布一个更具体的例子,我只是从阅读一些最近的问题中受到这个问题的启发,所以我没有确切的表格,但我想采取您刚刚制作的示例将其应用于 ArrayFormula,这样您就可以拥有 x 和 p 以及 c 和 q。我不认为 ArrayFormula 可以使用间接来做到这一点。
  • 这完全取决于数据集的外观以及您希望输出的外观
  • 我在使用 arrayformula 的日期之间的日子里看到了你最近的答案,我也处于解决方案的中间,但突然意识到,即使使用辅助列,我通常也无法返回数组的子集至少据我所知,使用数组公式。所以基本上是您制作的示例,但添加了通常有效的 arrayformula 组件。因此,例如,您清楚地演示了如何在没有 arrayformula 的情况下执行此操作,现在添加第二个标准输入...您真的不能正确地做,因为间接和偏移不支持它?但是考虑通用替代方案
  • 就像我说的那样,这取决于数据集...日期之间的天数是数字的,因此所需要做的就是生成从 0 到每一行的天数差异的数字,然后只需用这个生成的数组求和起始日。如果数据集不是数字,则我们需要将其转换为 ROW 项,然后将其与 A 列中的序列重叠
【解决方案2】:

使用 hlookup 有一种更简单的方法。

你是问如果给定 2 和 5,你能把 {c,x} 拉到一个数组公式中吗?

【讨论】:

  • 我是说用一个公式返回数组 {c,x} 但也返回 {s,q} 基本上我返回一个数组没有问题但是如果我想用一个公式返回多个数组怎么办.
  • 举个例子,试试这个公式... =ARRAYFORMULA(HLOOKUP("X",{"X";A1:A},{2,3;4,5},0))
  • 啊,但是如果您不知道两个值之间的单元格数量,您将如何使用它?可能您应该包含一些匹配公式以使其成为完整的解决方案。
  • 也许吧。我想我只需要了解真正的目标。这是一个实际的例子吗?也许你可以模拟一个用例?
  • 搜索 c,q 和 x,p 但在列中有一个随机和未知的列表我认为是最好的例子,它更像是一个通用的问题解决方法你的 hlookup非常接近,直到我意识到它实际上不适用于超过 2 的范围。
【解决方案3】:

在更好地理解了这个问题之后,我想我可以提供这个样本表作为一个潜在的选择。单个数组公式位于单元格 E2 中。如果我仍然不太明白,请随意创建一个新标签来重新说明问题。

Sample Sheet

干杯, 马特

【讨论】:

    猜你喜欢
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多