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

时间:2017-01-06 01:59:50

标签: excel excel-formula excel-2007

我目前正在使用excel工作表,我必须将最新更改的单元格的值捕获到另一个单元格中,而不使用VBA

场景:

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

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

这是示例输出:

sample ouput

1 个答案:

答案 0 :(得分:1)

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

公式需要作为数组输入(在公式栏中点击 Ctrl + Shift + Enter

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

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

INDEX然后使用此列号从其定义的范围内的该单元格返回结果:INDEX(array, row_num, [column_num])。行号始终为1,因为我们只使单元格的范围INDEX在1行中搜索并且在公式中包含列1(或&#34; A&#34;),MAX正在计算的列号将返回正确的结果。

希望这就是您所寻找的,如果您正在寻找最后一次修改单元格,您可以使用=CELL("contents")而无需定义单元格引用,它将针对上一个修改过的单元格运行但是只能运行每张纸一次,我还没有办法让它在一行中表现出来。

enter image description here