請看下面的截圖:
這只是一個例子,我真正的工作表比這更複雜並且有數百行。
我目前的公式是=HLOOKUP(A7,A1:D4,2,0)
,但該公式不允許我將其拖到列中,以便我也可以獲得 Tom 的“2-Jan-12”和“3-Jan-12”。如何更改公式以使其適合向下拖曳?
更新:我嘗試過=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_num
in變更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)