【问题标题】:How to keep previous excel cell value if VLOOKUP return with error如果 VLOOKUP 返回错误,如何保留以前的 excel 单元格值
【发布时间】:2018-01-30 16:13:49
【问题描述】:

参考表: https://docs.google.com/spreadsheets/d/1UQVeVLLuZbre_RL0H68K1yQ_3ybY3mRIBYPJUfmf1k0/edit?usp=sharing

在上面的参考表中,在行下,如果我将“alpha”更改为“beta”,则相应的值将返回错误 #N/A,因为公式无法找到名称参考。但我试图保留以前的值,而不是显示#N/A。

例如:当前寻找 alpha 的公式和对应的值是 10,所以 VLOOKUP 用 10 填充值字段。如果我在“Row”中将 alpha 更改为 beta,之前填充的与 alpha 对应的值,即 10,将变为#N/A 因为 vlookup 无法找到正在查找的名称。但我需要将之前的值 10 保留在那里而不是 #N/A 即使 vlookup 无法找到它。

【问题讨论】:

  • 我认为您的问题是您之前的问题的延续:即使在删除参考单元格后,如何将公式结果保持在原位?我认为最好找到一个全局解决方案,而不是试图在每个步骤中解决相同的问题。如果您非常清楚地解释您的整体运营和目标,我们可能会找到绕过此问题的全球解决方案。
  • @AHC 我将编辑问题以添加我想要执行的所有步骤..谢谢
  • 请提供更多示例,例如 alpha1、alpha2、beta1 等。请为我们提供您真正想要实现的目标的代表性快照,而不是点点滴滴。谢谢。

标签: excel excel-formula vba


【解决方案1】:

公式将始终评估先例的当前值,并且无法有条件地恢复为这些先例的先前值。

您所描述的可以通过宏来实现,其中 VBA 可用于在备份方案中存储以前的值。这样的场景对于少数细胞可能是可行的,但对于大型数据集是不切实际的。

您可能需要重新考虑您的数据架构。除了您要求的方法之外,可能还有其他方法。

【讨论】:

    【解决方案2】:

    实际上,我可以使用公式来做到这一点。

    =IFNA(VLOOKUP(value, table, col_index, [range_lookup]),current_cell)

    current_cell 将是您放置公式的单元格。 使用它的警告是您将创建一个循环引用,这可能会导致您的某些计算无法正常工作。但是启用迭代可以解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-02
      • 1970-01-01
      • 2021-08-04
      • 1970-01-01
      • 1970-01-01
      • 2021-02-16
      • 1970-01-01
      相关资源
      最近更新 更多