如何根據 Excel 中的標題將列從一張工作表複製到另一張工作表?

如何根據 Excel 中的標題將列從一張工作表複製到另一張工作表?

我有一個數據表,其中有許多可能會更改位置的列。為了使其更易於使用,我想建立第二個工作表,使列保持指定的順序。我可以指望列標題保持不變,因此我想根據標題複製列,或者更確切地說,列中的第一個單元格與字串匹配。

例如,工作表 1 中的三列是

id     name     due date

但在工作表 1 的另一個實例中,它們可能顯示為

id     due date     name

我希望我的第二張表指定第一行是“id”,第二行是“name”等。為我。關於使用 Excel 中的函數執行此操作的方法有什麼想法嗎?除非絕對必要,否則我寧願不使用巨集。

答案1

=HLOOKUP(A$1,Sheet1!$A:$C,ROW(),FALSE)

當您向下填寫公式時,ROW() 會充當查看表中下一列的偏移量。

答案2

我經常遇到這種情況。解決這個問題的一個簡單方法是讓列引用帶有偏移的第一頁。假設 Sheet1 上的這些變數資料在 A1:Q499 中,然後在 Sheet 2 上,我會將其放入儲存格 B2 中:

OFFSET(Sheet1!$A$2,0,MATCH(A$1,Sheet1!$A$1:$Q$1,0)-1,499,)

如果需要額外的花哨,您可以在 Sheet2, A1:Q1 中設定儲存格保護,僅允許清單中的值,並使用 Sheet1 A1:q1 作為該清單。

相關內容