首页 > 解决方案 > 如何以数据并排而不是上下显示的方式转置一对excel列?

问题描述

这就是我想做的事情,有没有一种简单的方法可以让我做同样的事情?

在此处输入图像描述

标签: excelexcel-formulatransposeexcel-2016

解决方案


这里有两个解决方案:

在此处输入图像描述

选项 1:没有OFFSET

由于 的易变特性OFFSET,我修改了我之前不再使用的答案(选项 2 OFFSET)更复杂,但消耗的资源更少。

D4特征=CHOOSE(MOD(COLUMN(),2)+1,INDEX($A$3:$A$5,ROUNDUP((COLUMN()-COLUMN($C$4))/2,0),MOD(COLUMN(),2)),INDEX($B$3:$B$5,ROUNDUP((COLUMN()-COLUMN($C$4))/2,0),MOD(COLUMN();2)))

  • CHOOSE确定结果是否应该来自列AB(请参阅两个公式中的不同锚点INDEX。除此之外,两个公式是相等的。
  • INDEX公式在选项 2中进行了解释。

选项 2:使用OFFSET

这是一个具有该OFFSET功能的解决方案,由COLUMN.

D4具有以下公式

=OFFSET($A$2,ROUNDUP((COLUMN()-COLUMN($C$4))/2,0),MOD(COLUMN(),2))

分解

  • OFFSET锚点
  • anchor : 标题行的第一个单元格
  • rows:获取当前单元格的列并减去标记单元格的列(此处为“输出:”)以获得一系列正在进行的数字。由于您对两个相邻单元格的结果感兴趣,我将结果除以二。为了得到一个整数值,我将结果向上取整。这样,源行每两列递增一次。
  • columns:将当前单元格的列除以 2 并使用结果来确定我们是取第一列还是第二列的内容。

推荐阅读