ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6279|回复: 4

[原创] 函数实现跨行复制,请多指教

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-8-12 20:55 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
今日米脂万佛洞游玩拜佛,许愿解决跨行复制的问题,回来茅塞顿开,完全解决,此文献给需要的同学们和万能的佛祖。阿弥陀佛。。。
现在开始,在excel中,我们有时候需要大量选择隔行,隔列的数据。除了用数据透视表等,可以直接编写函数解决。如下图
现在要将黄色部分数据提取,包括CK1,CK2.....等标题(忘记标记了)。
提取后复制在本表中,下图为已完成效果图。
红色框中为已完成提取。

观察图标,CK1从A3移动至M3,K11移动到N5。。。数据所在位置发生了偏移,现在来计算偏移量,首先选择基准位置,以便于计算,基准位置一般选择原表格右下角第一位。此例子选自L143(第12列,第143行),如下图
现在选择目标位置,也就是提取后的数据存放的第一个位置,此例选M3(第13列,第3行),然后观察源位置,也就是黄色标记部分位置。
得到这些信息后,计算偏移量。首先,行的偏移量计算
得出行的偏移量:3n-149;
同理可得列的偏移量:m-24;
最后一步,根据偏移量编写函数,此处用到的函数为offset,
在第一个目标位置写下函数
=offset(L143,3*row()-149,1*column()-24),回车后拖动。得到目标表格。
但是,我们并不知道拖动多少能够完全得到数据,拖得少了讲损失数据,拖得多了会出现“0”,
这里要用到逻辑函数if来解决这个问题
修改上述函数为:=IF(ISBLANK(OFFSET(M143,3*ROW()-149,COLUMN()-24))," ",OFFSET(M143,3*ROW()-149,COLUMN()-24))
IF 函数语法为,if(逻辑判定,ture时返回值,false时返回值),上述函数中,判定isblank(OFFSET(M143,3*ROW()-149,COLUMN()-24)为ture,得到中间的 “ ”,也就是说当识别到空值时,目标单元格不显示任何东西,若非空值,则提取源目标,并复制到目标单元格。
完成,欢迎各位提出意见。
。。。。。。。。。。。。fin。。。。。。。。。。。。。。。。。。。

TA的精华主题

TA的得分主题

发表于 2012-8-12 21:07 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
好像简单的vlookup就可以解决了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-8-12 22:20 | 显示全部楼层
额,写函数很好玩。。。那个怎么用啊?鄙人愚笨。。。

TA的精华主题

TA的得分主题

发表于 2012-8-12 23:57 | 显示全部楼层
渁咒 发表于 2012-8-12 22:20
额,写函数很好玩。。。那个怎么用啊?鄙人愚笨。。。

弱弱的说声,函数与佛祖还真没有关系~

N3
  1. =VLOOKUP($M3,$A:$K,COLUMN(B1)*2-1,)
复制代码
下拉右拉

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-8-13 10:19 | 显示全部楼层
漂哥 发表于 2012-8-12 23:57
弱弱的说声,函数与佛祖还真没有关系~

N3下拉右拉

非常感谢,我的方法真是见笑了。。。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-3 07:54 , Processed in 0.031764 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表