【请教】请教格EXCEL转置问题(已解决,不用宏和VBA)
是一个通讯录,内容是这样排列的其中每四行是一个人的地址信息,现在想把上面这种给转换成
以便再设法导入到Outlook里面,可是不知道用什么方法
试过转置,可是只能4行4行的转置,不能一起弄,我这文件一共五六千行呢……
有没有高手?^u^
[ Edited byriver_s on 2008-4-14 18:41 ] 老师教过,俺忘记了。好像是要做个宏 用了N年office了到现在还不知道宏是干什么的:'( :'( :'( ,只是听说很强大 看来这问题还挺复杂的…… 用宏最方便.
宏就是把手工做过一遍的东西记录下来, 然后重复N多次... 当然, 高手都用VBA, 会用的就容易, 重新学起来就太麻烦了. 偶C#用久了,待偶复习一下vba先... 这个问题不是很难吧,我觉得如果自己不会VBA或者是会一点儿的话,还不如不用VBA来解决这个问题呢,感觉不是很难啊。
你看看附件中的行不? 请查看附件,如果有安全性提示请将"宏"-"安全性"-设置为"低".我做的这个是循环1-1200行.如果要加的话,改按钮里面那个i参数就行的. 如图,如果人很多的话for i=1 to 1200把1200改大一些就成.
不用宏的话,假设你的数据在sheet1的A列1-6000行
你在shee2中A1输入如下,然后向右拉到D列,在选中A1到D1,向下拉应该就可以了。
=INDEX(Sheet1!$A$1:$A$6000,(ROW()-1)*4+COLUMN(),1) Posted by 冰蓝 on 2008-4-14 18:03 http://www.ibmnb.com/images/common/back.gif
如图,如果人很多的话for i=1 to 1200把1200改大一些就成.
543441
543442
VBGA写好后怎么执行呢? 先进入设计模式,点"视图","工具栏","控件工具箱",然后点那个三角板图标,进入设计模式,然后双击按钮,出现一个工程窗口,如图2所示,修改I,保存,退出设计模式.再单击那个按钮,就行了. 琢磨了半天,终于搞定,插个新表,然后横向4个格子分别用以下公式:
=INDIRECT("转置前!A"&(ROW()-1)*4+1)
=INDIRECT("转置前!A"&(ROW()-1)*4+2)
=INDIRECT("转置前!A"&(ROW()-1)*4+3)
=INDIRECT("转置前!A"&(ROW()-1)*4+4)
然后就往下拖……这个对文字保证有效,头昏眼花,下班去也……
多谢楼上的兄弟们,送花啦
[ Edited byriver_s on 2008-4-14 18:41 ] Posted by river_s on 2008-4-14 18:39 http://www.thinkpad.cn/forum/images/common/back.gif
琢磨了半天,终于搞定,插个新表,然后横向4个格子分别用以下公式:
=INDIRECT("转置前!A"&(ROW()-1)*4+1)
=INDIRECT("转置前!A"&(ROW()-1)*4+2)
=INDIRECT("转置前!A"&(ROW()-1)*4+3)
=INDIRECT("转置前!A ...
已经搞定了,我就不加你QQ了。再说我的那个方法也是笨方法。 高, 实在是高. 求反过来操作的代码 就是每4个转到同1列上 :o :o :o 有人愿意帮忙吗?:o :o :'( :'( :'( 有人愿意帮忙吗?:( :( 是要行列互换吗?这个更简单了,直接复制,新工作表中右键,选择性粘贴,选中转置,OK 不是
是 1 2 34
5 6 78
9 10 11 12
变成以列
1
2
3
4
5
6
7
8
9
.
.
.
. Online
Posts 4
Credit 0
Assets 14 nb
Read Permission 10
Registered 2008-5-29
# 19 Post on 2008-5-29 16:38View ProfileP.M. BuddyQuoteEditReplyReport Thread flowerShow the Author
有人愿意帮忙吗? 这活儿一般用Minitab完成。:D 记号!真好 琢磨了一下,用以下公式可以解决
=INDIRECT((IF(RIGHTB((ROW()/4)*100,2)="25","A",IF(RIGHTB((ROW()/4)*100,2)="50","B",IF(RIGHTB((ROW()/4)*100,2)="75","C","D"))))&(IF(INT(ROW()/4)=ROW()/4,ROW()/4,INT(ROW()/4)+1))) 上述是回答21楼
页:
[1]