我需要在许多单元格上设置以下公式:
=VLOOKUP(MAX(Historical!$A$5:$FZ$99999),Historical!$A$5:$FZ$99999,7,1)
此公式在历史记录表中查找最近的日期,并返回指定的值。这里我返回第 7 列。
我如何粘贴单元格并自动增加“7”所在的值。换句话说,我需要将该汇总公式粘贴到几百个单元格上,并将每个单元格的值更改为 7。
答案1
一种选择是使用 INDEX 和 MATCH 函数而不是 VLOOKUP。这样做的好处是,您可以明确看到结果来自哪一列......并且通过使用正确的 $ 符号组合,您可以复制以每次增加列,例如使用此公式返回 B 列的值
=INDEX(Historical!B$5:B$99999,MATCH(MAX(Historical!$A$5:$FZ$99999),Historical!$A$5:$A$99999,1))
并复制穿过并且参考列将变为C,D等。
如果你想复制公式向下那么我会采纳 Lèse majesté 建议的变体。ROWS
在原文中使用函数来增加稳健性,例如再次使用 B 列
=VLOOKUP(MAX(Historical!$A$5:$FZ$99999),Historical!$A$5:$FZ$99999,ROWS(D$2:D2)+1,1)
假设你想在 D2 中启动公式
答案2
通常情况下是的。只要您不使用绝对引用,那么每当您粘贴或向下填充时,Excel(以及大多数其他电子表格程序,包括 Calc 和 Google Docs)都会更新引用中的行号和列号。
但是,由于您使用的函数接收的是列索引而不是单元格引用,因此这有点棘手。我不相信 Excel 知道将该参数识别为列引用,因为 Excel 无法知道您想要的是绝对引用还是相对引用。
幸运的是,有ROW
和COLUMN
函数,给定引用,它们将分别返回行和列索引。
对于您来说,只需将其替换7
为COLUMN(A:1)
或您想要使用的任何单元格引用即可。然后 Excel 将A:1
根据新单元格的相对位置进行更改。