首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用Excel将矩阵转换为单列

如何使用Excel将矩阵转换为单列
EN

Stack Overflow用户
提问于 2015-02-03 00:42:33
回答 4查看 85.8K关注 0票数 12

我在Excel中有以下矩阵:

3列:A、B、C

第1行:A、b、c

第2行:D e f

第3行:ghi

我需要的是包含所有这些值的单个列。结果应该是这样的:

a

b

c

d

e

f

g

h

i

转置函数在这种情况下不起作用。我尝试了间接函数,但没有找到解决方案。我更喜欢用标准的Excel公式来处理它,而不是用makro。

有什么想法吗?

EN

回答 4

Stack Overflow用户

发布于 2015-02-03 01:01:08

假设我们有:

​在E1输入:

代码语言:js
复制
=INDEX($A$1:$C$3,ROUNDUP(ROW()/3,0),IF(MOD(ROW(),3)=0,3,MOD(ROW(),3)))

然后向下复制以获取:

​使用类似的公式,您可以将任何二维表映射到单行或单列。将单个列或行映射到表中也同样容易。

票数 9
EN

Stack Overflow用户

发布于 2017-03-16 02:53:24

上面的答案很好,但我想,Chip Pearson在这里提供的解决方案(http://www.cpearson.com/excel/TableToColumn.aspx),是最高级的,因为它立即/自动地:

1)自行确定Row/Col delim值,并立即适用于矩形,例如,上面必须显式地为num Cols输入3,为num Rows输入3,并且还必须找出哪个是哪个。而皮尔逊的解决方案会自动实现这一点(例如,rmf的评论/关注)。

2) Pearson提供了列排序和行排序的两种变体。

票数 3
EN

Stack Overflow用户

发布于 2017-09-01 17:07:17

这一点已经在非常一般的第2项中讨论过了。

Excel:列/行/矩阵间数据转换公式:

目标区域的顶部单元格(例如,$H$1)应包含

代码语言:js
复制
=INDEX($A$1:$C$3,INT((ROW()-ROW($H$1))/3)+1,MOD(ROW()-ROW($H$1),3)+1)

在哪里$A$1:$C$3包含您的源数据。根据需要向下复制公式。

您还可以使用

代码语言:js
复制
=OFFSET($A$1,INT((ROW()-ROW($H$1))/3),MOD(ROW()-ROW($H$1),3))

如参考文章中所述。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28282473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档