excel关于列转移到行的特殊问题

[复制链接]
查看11 | 回复5 | 2010-11-23 23:50:55 | 显示全部楼层 |阅读模式
我现在有一个表格,只有三行,A1、B1、C1……,A2、B2、C2……,A3、B3、C3……
每一行都是到FB(我也不知道多少个了)。
现在要排版打印,发现D1、D2、D3这三项已经出了纸张外面,现在就想让D1、D2、D3和E1、E2、E3和F1、F2、F3平移到A3下面,也就是A4上,而J1、J2、J3就到A7上,以此类推。
简单来说,就是要三行上面的所有单元格,变成按列排序,平均到打印范围内。
绝对不能全体直接换成列,而是每3个一列。(答对还有20分追分)
因为我基本不会,所以请详细点
下面是简单的示意图
全部转置完后效果不一样啊

回复

使用道具 举报

千问 | 2010-11-23 23:50:55 | 显示全部楼层
难道不可以全部“转置”吗?就您的这个问题而言,用转置是再好不过的方法了。 如下图所示。
回复

使用道具 举报

千问 | 2010-11-23 23:50:55 | 显示全部楼层
假如原来区域的顶点在A1在需要转置的单元格,比如F1,输入=OFFSET($A$1,MOD(ROW(1:1)-1,3),INT((ROW(1:1)-1)/3))把公式往右拉2列(横向3列),往下一致拉,出现0为止 补充:转置区域的顶点可以随意选择
回复

使用道具 举报

千问 | 2010-11-23 23:50:55 | 显示全部楼层
假定你的数据在Sheet1中,那就在Sheet2的A1中输入=OFFSET(Sheet1!$A$1,MOD(ROW()-1,3),INT(ROW()/3.1)*3+COLUMN()-1)然后拖动单元格填充钮向右拖两格到C1,然后选中A1到C1,用填充钮向到填充158行左右就行了,直到后面的单元格全是0
回复

使用道具 举报

千问 | 2010-11-23 23:50:55 | 显示全部楼层
Sub aaa()Dim m, nm = ActiveSheet.[iv1].End(xlToLeft).ColumnFor i = 4 To mn = ActiveSheet.[a1].End(xlDown).RowRange(Cells(1, i), Cells(3, i + 2)).SelectSelection.C
回复

使用道具 举报

千问 | 2010-11-23 23:50:55 | 显示全部楼层
A1:C3不用理会,直接在A4输入公式=OFFSET($A$1,MOD(ROW(A3),3),INT(ROW(A3)/3)*3+MOD(COLUMN(A2)-1,3))向右向下复制公式。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行