今日米脂万佛洞游玩拜佛,许愿解决跨行复制的问题,回来茅塞顿开,完全解决,此文献给需要的同学们和万能的佛祖。阿弥陀佛。。。 现在开始,在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。。。。。。。。。。。。。。。。。。。
|