多列转一列
excel吧
全部回复
仅看楼主
level 7
超胡杨 楼主
多列转一列,要求先列后行且忽略空单元格。如图是我做的,我的公式是=INDEX($A$2:$D$10,MOD(ROW(A1)-1,9)+1,INT(((ROW(A1)-1)/9))+1)&"" 就是不能忽略空单元格
2019年08月17日 07点08分 1
level 7
超胡杨 楼主
坐等大神
2019年08月17日 07点08分 2
level 13
=indirect(text(right(small(iferror((100*row($2:$10)+10001*column(a:d))/(a$2:d$10<>""),""),rows($1:1)),4),"r00c00"),)
数组公式,输入公式后,
ctrl+shift+enter三键一起按。
三键一起按,确认公式。
2019年08月17日 07点08分 3
我知道这个公式,一直都觉得太长了
2019年08月17日 08点08分
level 12
写个自定义函数吧,简单高效
2019年08月17日 08点08分 4
大神,能指导一下吗?
2019年08月17日 09点08分
level 14
PQ 先合并,再拆分到行。
2019年08月17日 14点08分 6
我知道,但是老板Excel还是2003级别的啊!
2019年08月18日 23点08分
level 8
可以试试这个
Sub test()
Data = Range("a2:d10")
ReDim arr(1 To Range("a2:d10").Cells.Count, 1 To 1)
For Each dat In Data
m = m + 1
arr(m, 1) = dat
Next
Cells(1, "f").Resize(m, 1) = arr
End Sub
2019年08月18日 01点08分 7
谢谢
2019年08月18日 23点08分
level 12
Sub test()
Dim Arr()
Data = Range("a2:d10")
For Each dat In Data
If dat <> "" Then
m = m + 1
ReDim Preserve Arr(1 To m)
Arr(m) = dat
End If
Next
Arr = Application.Transpose(Arr)
Cells(1, "f").Resize(m, 1) = Arr
End Sub
2019年08月18日 14点08分 9
谢谢
2019年08月18日 23点08分
level 9
第一列最后一个空行等于第二列第一个数值,向右填充到最后一列,再向下填充足够多行,第一列筛选空白删除,复制第一列
2019年08月19日 11点08分 10
level 13
small或者rank 配合INDEX ,结合行号座标 应该完成实现吧
2019年08月19日 17点08分 11
1