根据最新更改的单元格更新单元格值

Update cell value based on latest changed cell

我目前正在处理 excel 工作表,我必须在不使用 VBA

的情况下将最新更改的单元格的值捕获到另一个单元格中

场景:

单元格 A2 - 应包含最新的单元格值 单元格 B2 - 输入值的位置 单元格 D2 - 输入值的位置 单元格 F2 - 输入值的位置 单元格 H2 - 输入值的位置

所以在单元格 A2 中,它应该捕获最新更改的单元格 B2、D2、F2、H2 的值,而不使用 VBA

这里是示例输出:

sample ouput

这将用于检索每行最右边的条目。

公式需要以数组形式输入(当在公式栏中按 Ctrl+Shift+输入)

=INDEX(A2:H2,1,MAX(IF(B2:H2<>"",COLUMN(B2:H2))))

数组公式分解范围并一次计算一个单元格。 MAX 正在搜索的范围被分解为一个数组,IF 公式是 returning 0 表示 false(默认),列号表示 true,因此 MAX 然后从数组中获取最高的列号(8 或"H" 在下面的例子中)。

INDEX 然后使用此列编号 return 来自其定义范围内该单元格的结果:INDEX(array, row_num, [column_num])。行号始终为 1,因为我们仅使 INDEX 搜索的单元格范围为 1 行长,并且通过在公式中包含第 1 列(或 "A"),MAX 正在计算的列号将 return 正确的结果。

希望这就是您要查找的内容,如果您要查找最后一次修改单元格的时间,则可以使用 =CELL("contents") 而无需定义单元格引用,它会针对最后修改的单元格运行,但是每个 sheet 只工作一次,我还没有找到让它对单行起作用的方法。