建议将行转换为列的方法

Posted

技术标签:

【中文标题】建议将行转换为列的方法【英文标题】:Suggest ways to convert Rows into columns 【发布时间】:2016-07-21 16:18:34 【问题描述】:

我有一个 3000 行的 excel 文件。我想将这些行的一部分转换为列。是否有宏可以执行此操作,或者可以在 SQL Server 中执行此操作?请提出建议。

以下是示例数据:

这必须转换如下:

通常,有两件事: 1. 添加的和现有的列名将更改其名称。 2. 记录数量太大,但是headers名字必须如图所示。 3. 只有部分行转换为列。所以有故障。任何建议都会有所帮助。

【问题讨论】:

阿卡莎,到目前为止你有没有尝试过?如果是这样,请您发布您尝试过的内容吗?可能值得重新措辞您的问题,因为我并不完全清楚您的要求。你探索过粘贴转置吗?编辑:我明白你的意思,我认为重写你的 SQL 查询以适应你想要的格式可能会更好,而不是运行它然后在 Excel 中弄乱它。 直到现在我还没有尝试过任何东西。我使用 Pivot 来减少行数。但对于更大的计数,我仍在探索中寻找方法。 @stevenwalker 你的意思是在 sql 中导入这个文件并进行查询?枢轴是否适用于如此大的条目? 对不起,当您提到 SQL 服务器时,我认为这是您编写的查询的结果。是的,pivot 适用于 3000 行,如果它以您需要的格式显示,那么它是您理想的解决方案 - 如果您不需要,请不要编写宏。 谢谢史蒂文。我将尝试对我的示例数据进行此操作,然后对主文件进行尝试。 【参考方案1】:

这是通过 Pivot 完成的(还有 Unpivot)。

https://technet.microsoft.com/en-us/library/ms177410(v=sql.105).aspx

【讨论】:

【参考方案2】:

把它放在单元格 A7 中:

=OFFSET(INDIRECT("A"&ROW(A1)*2-1),INT((COLUMN(A1)-1)/9),MOD(COLUMN(A1)-1,9))

正确填写。

【讨论】:

以上是关于建议将行转换为列的方法的主要内容,如果未能解决你的问题,请参考以下文章

MySQL - 根据每列的最新日期和 id 列表将行转换为列

Redshift SQL - 将行按 id 转换为列

将行转换为列

将行数据转换为列

pyspark 将行转换为列

使用R将行转换为列,将列转换为行