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

摘要

使用本文底部列出的 Microsoft Excel 产品时,可以使用工作表公式将跨越多行和多列的数据转换为数据库格式(纵栏式)。 

详细信息

以下示例将一列中的每四行数据转换为一行中的四列数据(类似于数据库域和记录布局)。 这是一个类似的方案,在打开包含邮件标签格式的数据的工作表或文本文件时遇到此问题。

示例

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

    A1: Smith,John
    A2:111松树 St
    A3:圣地亚哥,加利福尼亚
    A4:(555) 128-549
    A5:没有,Sue
    A6:222橡木 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松树 St

    圣地亚哥、加利福尼亚

    (555)128-549

    Sue

    222橡木 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 = 此 offset 公式的行号

  • f_col = 此 offset 公式的列号

  • rows_in_set = 创建数据记录的行数

  • col_in_set = 数据列数

注意:  本页面是自动翻译的,可能包含语法错误或不准确之处。 我们的目的是使此内容能对你有所帮助。 能否告知我们此信息是否有所帮助? 下面是该参考内容的英文版

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×