【问题标题】:Using Index and Match but changing the column when I drag down instead of the row使用索引和匹配但在我向下拖动而不是行时更改列
【发布时间】:2016-07-14 14:10:04
【问题描述】:

我正在使用这个公式来提取列中的第一个非 0 值:

{=INDEX(FT!D$16:D$610,MATCH(TRUE,FT!D$16:D$610 >0,0))}

我希望能够向下拖动此公式并移动列。例如,当我向下拖动时,下一个公式将是:

{=INDEX(FT!E$16:E$610,MATCH(TRUE,FT!E$16:E$610 >0,0))}

然后:

{=INDEX(FT!F$16:F$610,MATCH(TRUE,FT!F$16:F$610 >0,0))}

请注意,在应用这些公式时,我必须执行 control-shift-enter。 我在某个地方读到我可能需要使用偏移量,但我无法让它工作。 谢谢!

【问题讨论】:

  • 欢迎来到本站!查看tour,了解有关有效堆栈溢出问题的更多信息。请edit your question添加您尝试过的内容以及得到的结果?您的公式在哪些单元格中?当你拖动时,你得到什么公式?谢谢!
  • 您能否提供第一个公式的数据和结果的屏幕截图。我对公式应该返回的内容有点困惑。一旦我明白这一点,我(和其他人)可能会帮助您更有效地实现目标。

标签: arrays excel match offset


【解决方案1】:

显示的公式不采用列中的第一个非0值,而是第一个大于0的值。即使文本会大于0。负值将被排除。

但是,如果您有 D 到 H 的列,则以下内容将与您的公式相同,并且可以向下填充 5 行(D 到 H)。

{=INDEX(FT!$D$16:$H$610,MATCH(TRUE,INDEX(FT!$D$16:$H$610,0,ROW(A1))>0,0),ROW(A1))}

Row(A1) 在第一个公式中。在填写时,它会更改为 Row(A2)、Row(A3)、...,这导致 1、2、3、...、5 作为 INDEX 中的列参数。

【讨论】:

  • 谢谢!让我进一步测试您的知识。如果有一列包含所有日期,我将如何提取第一个值的相应日期?
  • 让我们在C 列中获取日期,然后在{=INDEX(FT!$C$16:$C$610,MATCH(TRUE,INDEX(FT!$D$16:$H$610,0,ROW(A1))>0,0))} 列中获取日期。我通过考试了吗? ;-)
  • 色彩斑斓!
猜你喜欢
  • 2020-06-14
  • 1970-01-01
  • 2020-04-23
  • 2014-04-10
  • 2016-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-20
相关资源
最近更新 更多