首页 理论教育 垂直数据转化为水平数据!

垂直数据转化为水平数据!

时间:2023-08-19 理论教育 版权反馈
【摘要】:图22需要转换为三列的垂直数据可使用几种方法来转换这种类型的数据,我们介绍一种非常容易的方法。首先,创建一些垂直和水平的数字“标头”,如图23中所示。标头的水平区域由一些连续整数组成。在此示例中,每个记录包含三个数据单元格,因此水平标头包含1,2和3。图24利用单个公式将垂直数据转换为行可以轻松地修改此方法以处理包含不同数量的行的垂直数据。水平标头将包括值1至10,而不是1至3。

垂直数据转化为水平数据!

图22显示了一个导入文件时常见的数据布局类型。每个记录由一列中的三个连续单元格组成:姓名、部门和位置。我们的目标是转换此数据,以便将每个记录都显示在三列中。

图22 需要转换为三列的垂直数据

可使用几种方法来转换这种类型的数据,我们介绍一种非常容易的方法。该方法需要进行少量设置,其余工作将由单个公式完成(将其复制到一个区域中)。

首先,创建一些垂直和水平的数字“标头”,如图23中所示。C列包含的数字对应于每个数据项的第一行(在此示例中是Name)。在此示例中,在C列中放置以下值:1、4、7、10、13、16和19。可以使用一个简单的公式来生成此系列数字。

标头的水平区域由一些连续整数(从1开始)组成。在此示例中,每个记录包含三个数据单元格,因此水平标头包含1,2和3。

图23 用于将垂直数据转换为行的标头

现在,单元格D2中的公式如下:(www.xing528.com)

=OFFSET($A$1,$C2+D$1-2,0)

将此公式复制到下面的两列,并向下复制到下六行。其结果如图24所示。

图24 利用单个公式将垂直数据转换为行

可以轻松地修改此方法以处理包含不同数量的行的垂直数据。例如,如果每个记录包含10行数据,则C列的标头值将是1,11,21,31,以此类推。水平标头将包括值1至10,而不是1至3。

请注意,该公式使用的是单元格A1的绝对引用。在复制公式时,该引用不会更改,因此所有公式中将使用单元格A1作为基础。如果数据从不同单元格中开始,则将$A$1更改为第一个单元格的地址

该公式还在OFFSET函数的第二个参数中使用“混合”引用。C2引用在C前而有个美元符号,所以C列是该引用的绝对部分。在D1引用中,美元符号位于1之前,所以第1行是引用的绝对部分。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈