摘要
使用本文底部列出的 Microsoft Excel 产品时,可以使用工作表公式将跨越多行和多列的数据转换为数据库格式(纵栏式)。
详细信息
以下示例将一列中的每四行数据转换为一行中的四列数据(类似于数据库域和记录布局)。 这是一个类似的方案,在打开包含邮件标签格式的数据的工作表或文本文件时遇到此问题。
示例
-
在新工作表中,键入以下数据:
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 -
在单元格 C1 中键入以下公式
:=OFFSET($A$1,(ROW()-1)*4+INT((COLUMN()-3)),MOD(COLUMN()-3,1)) -
将此公式填充到列 F,然后向下填充到第3行。
-
根据需要调整列大小。 请注意,数据现在显示在单元格 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 = 此偏移量公式的列号
-
rows_in_set = 创建数据记录的行数
-
col_in_set = 数据列数
注意: 本页面是自动翻译的,可能包含语法错误或不准确之处。 我们的目的是使此内容能对你有所帮助。 能否告知我们此信息是否有所帮助? 下面是该参考内容的英文版。