我目前正在使用excel工作表,我必须将最新更改的单元格的值捕获到另一个单元格中,而不使用VBA
场景:
单元格A2 - 应包含最新的单元格值 单元格B2 - 其中输入的值 单元格D2 - 输入的值 单元格F2 - 其中输入的值 单元格H2 - 其中输入的值
所以在单元格A2中,它应该捕获最新更改的单元格B2,D2,F2,H2的值,而不使用VBA
这是示例输出:
答案 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")
而无需定义单元格引用,它将针对上一个修改过的单元格运行但是只能运行每张纸一次,我还没有办法让它在一行中表现出来。