想用HLOOKUP把整列拖下来,怎么做?

想用HLOOKUP把整列拖下来,怎么做?

请参阅以下屏幕截图:

在此处输入图片描述

这只是一个例子,我的真实工作表比这更复杂,有数百行。

我当前的公式是=HLOOKUP(A7,A1:D4,2,0),但此公式不允许我将其拖到列的下方,这样我也可以为 Tom 获得“2012 年 1 月 2 日”和“2012 年 1 月 3 日”。我该如何更改公式以使其适合向下拖动?


更新:我试过了=HLOOKUP($A$7,$A$1:$D$4,2,0),但向下拖动时,我得到的“2-Jan-12”和“3-Jan-12”都是 5。我想将公式向下拖动,以便“2-Jan-12”显示 6,“3-Jan-12”显示 7。

答案1

您还需要更新 2,以便可以使用复制下来的 B8 中的这个版本

=HLOOKUP(A$7,$A$1:$D$4,ROWS(B$8:B8)+1,0)

ROWS当您向下拖动时,函数会增加,并将row_index_numin更改HLOOKUP为 3、4 等。

注意:以上内容实际上并不匹配日期,它只是从下一行获取值,而不管日期如何,要专门匹配日期请使用此版本

=INDEX(B$2:D$4,MATCH(A8,A$2:A$4,0),MATCH(A$7,B$1:D$1,0))

答案2

我不能 100% 确定这是否是您要找的东西,但是为了使单列或单行在拖动时不会发生变化,请$在它们前面添加:

  • A1将始终根据您拖动单元格的方向进行更新。
  • $A1仅当向上/向下拖动时才会更新行。
  • A$1仅在向左/向右拖动时才会更新列。
  • $A$1无论您如何/将单元格拖动到何处,都不会改变。

对于更新后的问题:

我针对该细胞测试了以下公式B8

=HLOOKUP($A$7,$B$1:$D$4,MATCH($A8,$A$1:$A$4,0),0)

MATCH根据第一列的日期确定第 n 行,然后使用从第一个表中选择正确的行HLOOKUP

答案3

你的方法是正确的。这是我使用的公式:

查找

=HLOOKUP($B$1,$C$1:$E$4,ROW(),FALSE)

HLOOKUP查看您的列并返回第一个值 $B$1(使用 $ 保持绝对引用)。查找范围也使用绝对值,因此在您拖动和填充公式时它不会“爬行”。该ROW函数返回同一行中的值,而无需进行任何额外计算。我还使用数据验证将 $B$1 中的查找值填充为您现有的查找值之一,为您提供快速下拉列表。通过将“目标”值保持在与源数据相同的数据布局(行和列)中,它使一切都更易于管理(与您的示例中的偏移行数相反)。良好的数据布局使 Excel 中的几乎所有事情都变得更容易。

答案4

您需要“修复”数组的引用:=HLOOKUP(A7,$A$1:$D$4,2,0)

相关内容