excel如何按顺序提取未知行列个数的二维数组到一列,只用公式?
比如:A1:C3有内容如下123456789用这个公式:=INDEX($A$1:$C$3&"",ROW(1:1))下拉以后只能得到1,4,7再往后就ref了,有什么办法可...
比如:A1:C3有内容如下
1 2 3
4 5 6
7 8 9
用这个公式:=INDEX($A$1:$C$3&"",ROW(1:1))
下拉以后只能得到1,4,7 再往后就ref了,有什么办法可以在一列里直接下拉出1,2,3,4,5,6,7,8,9
并且是在不知道这个数组的行列大小的情况下?
比如a2:a4 是 a, b ,c b1:d1 是 1,2,3,并且长度可能会变化
将两者结合a2:a4&b1:d1
a1,a2,a3;b1,b2,b3;c1,c2,c3 得到这个数组,但是这是不一定的,我只是举个例子,只是有这么个内存数组,我不知道它大小,想按先横后竖的顺序,输出到一列里面,有没有公式可以实现 展开
1 2 3
4 5 6
7 8 9
用这个公式:=INDEX($A$1:$C$3&"",ROW(1:1))
下拉以后只能得到1,4,7 再往后就ref了,有什么办法可以在一列里直接下拉出1,2,3,4,5,6,7,8,9
并且是在不知道这个数组的行列大小的情况下?
比如a2:a4 是 a, b ,c b1:d1 是 1,2,3,并且长度可能会变化
将两者结合a2:a4&b1:d1
a1,a2,a3;b1,b2,b3;c1,c2,c3 得到这个数组,但是这是不一定的,我只是举个例子,只是有这么个内存数组,我不知道它大小,想按先横后竖的顺序,输出到一列里面,有没有公式可以实现 展开
2个回答
展开全部
要用MOD INT ,INDIRECT,偏移的函数
还有,ROW(A1),不要写为row(1:1)
假设在A1:C100
=INDEX($A$1:$C$12,INT((ROW(A1)-1)/3)+1,IF(MOD(ROW(A1),3)=0,3,MOD(ROW(A1),3)))
还有,ROW(A1),不要写为row(1:1)
假设在A1:C100
=INDEX($A$1:$C$12,INT((ROW(A1)-1)/3)+1,IF(MOD(ROW(A1),3)=0,3,MOD(ROW(A1),3)))
追问
这个方法对于单元格区域可用,但是对于不知道大小的内存数组该咋办
追答
=INDEX($A$1:$Z$12000,INT((ROW(A1)-1)/COUNTIF($1:$1,""))+1,IF(MOD(ROW(A1),COUNTIF($1:$1,""))=0,COUNTIF($1:$1,""),MOD(ROW(A1),COUNTIF($1:$1,""))))
2017-03-17 · 知道合伙人软件行家
关注
展开全部
区域范围$A$1:$C$4根据需要修改。需要数组函数:
{=INDIRECT(TEXT(SMALL(IF($A$1:$C$4="",4^8,(ROW($1:$4)*10+COLUMN($A:$C))),ROW(A1)),"R0C0"),)}
{=INDIRECT(TEXT(SMALL(IF($A$1:$C$4="",4^8,(ROW($1:$4)*10+COLUMN($A:$C))),ROW(A1)),"R0C0"),)}
追问
这个方法对于单元格区域可用,但是对于不知道大小的内存数组该咋办
追答
只要$A$1:$C$4区域范围包含了所有数即可,不需要知道大小。
例如公式中区域范围修改为:$A$1:$O$24 $A:$O
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询