如何在 Excel 中將多列與多欄轉換成欄位與列

套用到
Excel 2024 Excel 2021 Excel 2019 Excel 2016

摘要

當你使用本文底部列出的Microsoft Excel 產品時,可以使用工作表公式將跨越多列多欄的資料轉換成資料庫格式 (欄位) 。 

更多資訊

以下範例將每四列資料轉換成單列四列資料, (類似資料庫欄位與記錄佈局) 。 這與你打開包含郵寄標籤格式資料的工作表或文字檔時所遇到的情況相似。

範例

  1. 在新工作表中輸入以下資料:

    A1:史密斯,約翰
    A2:111 松樹街
    A3:加州聖地牙哥
    A4: (555) 128-549
    A5:瓊斯,蘇
    A6:222 Oak Ln.
    A7:紐約州紐約市
    A8: (555) 238-1845
    A9:安德森,湯姆
    A10:333 Cherry Ave.
    A11:伊利諾州芝加哥
    A12: (555) 581-4914

  2. 在 C1 格子輸入以下公式:

    =OFFSET($A$1,(ROW()-1)*4+INT((COLUMN()-3)),MOD(COLUMN()-3,1))

  3. 將此公式填入至F欄,再往下填到第3列。

  4. 視需要調整柱的大小。 請注意,資料現在顯示在 C1 到 F3 的格子裡,如下所示:

    C D E F
    1 史密斯,約翰 111 松樹街 加州聖地牙哥 (555) 128-549
    2 瓊斯,蘇 222 Oak Ln. 紐約,紐約州 (555) 238-1845
    3 安德森,湯姆 櫻桃大道333號。 芝加哥,伊利諾州 (555) 581-4914

該公式可解釋為

OFFSET($A$1,(ROW()-f_row)*rows_in_set+INT((COLUMN()-f_col)/col_in_set), MOD(COLUMN()-f_col,col_in_set))

其中:

  • f_row = 此偏移公式的行數
  • f_col = 此偏移公式的欄號
  • rows_in_set = 構成一個資料記錄的列數
  • col_in_set = 資料欄位數