【问题标题】:In Excel, how to fill blank cells in a column, with last preceding non-blank cell in row?在 Excel 中,如何填充列中的空白单元格,行中最后一个非空白单元格?
【发布时间】:2021-06-16 12:55:54
【问题描述】:

我需要一个公式来查找每行中最后一个非空白单元格,并使用该值填充最后一列同一行中的空白单元格。最后一列中具有值的任何单元格将保持不变。我还没有尝试过任何公式。下图可能更好解释:

【问题讨论】:

  • 我怀疑你是否能找到一个基于公式的解决方案,它写入应该从中读取值的同一列。我猜你总会遇到“循环引用”的问题。我建议您计算数据区域 outside 的数量,例如使用计算值再添加一列。为什么你需要它完全像这样?你想达到什么目标?你不是xyproblem.info 的受害者吗?
  • 这是使用“最后一次观察结转”过程处理缺失研究数据的一部分。我确切地知道我需要达到什么结果——我只是找不到正确的过程。所以你评论我是 XY-Problem 的受害者是断章取义的。我拥有的数据量巨大,跨越 10 年,因此手动解决方案是不可能的。我确实想过创建一个额外的列并将其填充到数据区域之外。但是我再次需要帮助来提出一个可行的解决方案。如果一个公式似乎不可能,请告诉我我在哪里发布这个问题。谢谢

标签: excel-formula


【解决方案1】:

通常公式不能引用公式所在的单元格。这会导致 Circular Reference 错误。

我不确定您是否可以使用迭代计算(其中一种允许循环引用)达到所需的结果,但迭代计算的一般目的是针对@ 987654322@,不用于搜索一行中的最后一个单元格:)

你的单元格值是如何填充的?

  • 如果您以编程方式填充它们,您知道您的数据中有什么,并且您可以计算编程过程中的最后一列。
  • 如果您手动填写它们,您可以使用额外的最后一列,然后将其复制到最后一列(仅限粘贴值)。

或者,正如您在评论中正确命名的那样,您可以使用“最后的观察结转”方法:

  1. 使用公式“从左侧复制值”填充所有单元格。
  2. 将您的数据放在您确实拥有它们的位置(即用实际数据覆盖公式),将您的公式留在您不使用的“空”单元格中'没有数据。
  3. 因此,在最后一列中,您的公式将包含最后一个已知值或您在此处输入的数字。

在不了解整个过程的情况下很难给你更好的建议-我仍然怀疑X-Y problem的一种,你没有说服我足够多:) 很明显你想要最后一个测量值,但它是一个最后一列中的自引用公式真的是实现目标的唯一方法吗?您不能开箱即用地看待您的问题并以其他方式解决吗?

【讨论】:

    【解决方案2】:

    您可以创建另一个工作表并使用以下内容来填充空白。

    Sheet1(数据)

    A B C D E F G H I
    12 14

    Sheet2(输出)

    A B C D E F G H I
    =Sheet1!A1 =IF(Sheet1!B1,Sheet1!B1,A1) =IF(Sheet1!C1,Sheet1!C1,B1) =IF(Sheet1!D1,Sheet1!D1,C1) -> Drag till end

    这将导致这样的事情

    A B C D E F G H I
    12 12 12 14 14 14 14 14 14

    【讨论】:

      【解决方案3】:

      您可以在 L 列的空单元格中使用此公式。

      =LOOKUP(2,1/(A2:K2<>""),A2:K2)
      

      要在空白单元格中输入它,请选择 L 列,转到查找和选择> 转到特殊...>空白,在公式栏中输入该列并使用 CTRL+ENTER 提交。

      【讨论】:

        猜你喜欢
        • 2013-08-25
        • 2019-11-21
        • 2019-10-01
        • 1970-01-01
        • 2021-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多