【问题标题】:Return the difference, in the first cell, between two cells with a certain value返回第一个单元格中具有特定值的两个单元格之间的差异
【发布时间】:2019-12-02 22:53:37
【问题描述】:

目标:将单元格C5中显示的日期差异返回到单元格C4,将C6中显示的日期差异返回到单元格C5等。

目前我正在获取带有字母“s”的单元格的日期差异,但它在下一个相应的行中显示为“s”

C2中的当前公式然后向下拖动如下所示:

=IFERROR(IF(B2="s",A2-INDIRECT("A"&LOOKUP(2,1/($B$1:$B1="s"),ROW($B$1:$B1))),"-"),"n/a")

这就是我的工作表目前的样子

提前致谢。

【问题讨论】:

  • 我一辈子都无法理解你的目标。你能提供起点和预期的结果吗?两个值之间存在差异,哪两个值?
  • 对不起,“C”列正在做的是查找带有字母“s”的行并获取日期并找到下一个对应日期与字母“s”的差异排。我想要做的是让第一行有字母“s”显示下一行与字母“s”而不是n/a之间的区别(这是因为没有前一行有字母“s”。将 C 列中发现的差异基本向上移动,因此 C15 中有“N/A”,C4 中有“1”。希望更清楚,如果不是,我会尝试更好地解释它!
  • 在这种情况下,您将在最后一个“s”上获得N#/A(因为没有“下一个”“s”可以从中获取值)。可以吗?
  • 是的,没关系!

标签: excel subtraction excel-indirect


【解决方案1】:

以下公式将查找下一个“s”,只要它在当前行的 1000 行内。把这个放在C2:

 =IF(B2="s",INDEX(A3:A1002,MATCH("s",B3:B1002,0))-A2,"-")

然后向下填充

为避免最后一个“s”给出#N/A 的结果,您可以将整个内容包装在IFERROR 语句中:

 =IFERROR(IF(B2="s",INDEX(A3:A1002,MATCH("s",B3:B1002,0))-A2,"-"),"-")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多