如何将多行和多列转换为行和行Excel

详细信息

以下示例将一列中每四行数据转换为单行数据中的四列数据 (类似于数据库字段和记录布局) 。 这种情况与打开包含邮件标签格式数据的工作表或文本文件时的体验类似。

函数

OFFSET(Reference,Rows,Cols,Height,Width)

引用指定位置(参照系)数据,到新引用区域。

Reference 引用参照系的起点位置(左上角是偏移量的起始位置)

Rows 相对于引用参照系的左上角单元格,是上下偏移的行数(正负)。可以用公式,嵌套其它函数。

Cols 相对于引用参照系的左上角单元格,是左右偏移的列数(正负)。可以用公式,嵌套其它函数。

Height 新引用区域的行数(不能为0,可以缺省)

Width 新引用区域的列数(不能为0,可以缺省)

示例

  1. 在一个新工作表中,键入以下数据:

    A1:Smith、John
    A2: 111 Pine St.
    A3:加利福尼亚州圣安东尼奥
    A4: (555) 128-549
    A5:Jones、Sue
    A6:222Akak Ln。
    A7:纽约、纽约
    A8: (555) 238-1845
    A9:Anderson、Tom
    A10:333 日本树。
    A11:芝加哥、IL
    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 中,如下所示:

    Smith、John

    111 Pine St.

    加利福尼亚州圣安东尼奥

    (555) 128-549

    Jones、Sue

    222Akak Ln。

    纽约、纽约

    (555) 238-1845

    Anderson、Tom

    333 日本树。

    芝加哥,IL

    (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 = 数据列数

摘自微软网站