Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4085|回复: 24

[已解决]excel筛选问题,应该也牵涉到VBA吧,

  [复制链接]
发表于 2011-10-13 22:40 | 显示全部楼层 |阅读模式
高手看看如何解决,我直接上附件吧,附件内说明清楚了

最佳答案
2011-10-17 21:55
回复 guojiwbzm 的帖子

=(INDEX('1'!$2:$17,SMALL(IF(INDEX('1'!$2:$17,,IF(MOD(COLUMN(),2)=0,COLUMN()/2+1,COLUMN()/2+1.5))<>"",ROW($2:$17)-1,9^5),ROW(A1)),IF(MOD(COLUMN(),2)=0,COLUMN()/2+1,1)))
此公式是数组公式,要用三键结束的
一、先说红色部分IF(MOD(COLUMN(),2)=0,COLUMN()/2+1,COLUMN()/2+1.5)
COLUMN(),返回当前的列号
MOD(COLUMN(),2)就是返回当前列的列号除以2的余数
IF(MOD(COLUMN(),2)=0,COLUMN()/2+1,COLUMN()/2+1.5)这句的意思是:如是上述的余数是0,就返回当前列的列号除以2再加1,否则当前列的列号除以2再加1.5
此句段的目的是,可以从A列开始,取得2、2、3、3、4、4、5、5……这样的结果,以便下一步使用。
二、INDEX('1'!$2:$17,,IF(MOD(COLUMN(),2)=0,COLUMN()/2+1,COLUMN()/2+1.5))
加上这里的绿色部分,用上了index(自己可以看该函数的帮助).就是说在工作表1的2行到17行中,取第n列的区域,(这里的n指第一步的结果,如果当前列是A或B列,那么这时n就是2……)
三、SMALL(IF(INDEX('1'!$2:$17,,IF(MOD(COLUMN(),2)=0,COLUMN()/2+1,COLUMN()/2+1.5))<>"",ROW($2:$17)-1,9^5),ROW(A1))即加上了前后的粉色部分
如果在第二步的结果的列中不是空的(<>""),就返回2至17的行号再减1,否则返回9的5次方
再用small返回其中的第row(A1)个最小值。这里row(A1)是相对引用,当当前行在第一列是,就取第一个最小值,当当前行在第二列是,就取第二个最小值……
注意:这里的结果是行号
四、完整公式=(INDEX('1'!$2:$17,SMALL(IF(INDEX('1'!$2:$17,,IF(MOD(COLUMN(),2)=0,COLUMN()/2+1,COLUMN()/2+1.5))<>"",ROW($2:$17)-1,9^5),ROW(A1)),IF(MOD(COLUMN(),2)=0,COLUMN()/2+1,1)))
其中的IF(MOD(COLUMN(),2)=0,COLUMN()/2+1,1)
前面第一步已说过
用index,取在工作表1的2行到17行中,第三步中的行、第IF(MOD(COLUMN(),2)=0,COLUMN()/2+1,1)列的交叉处的结果。
此组公式只需输入一次,可右拉、下拉。

工资单筛选.xls

33.5 KB, 下载次数: 49

发表于 2011-10-13 23:40 | 显示全部楼层
有这个必要吗,想必是要打印吧。有些空值又不是毛病(项目齐全才是优点)
如果只想打印,还劳烦什么vba呀
回复

使用道具 举报

发表于 2011-10-14 09:36 | 显示全部楼层
同意二楼意见

没见到有单位在打印工资单时删掉全部空值内容的
回复

使用道具 举报

 楼主| 发表于 2011-10-14 12:07 | 显示全部楼层
回复 的帖子

目的不是要打印的,是根据每个人的工资信息,发送短信通知的,我们公司没有做工资条,只是以短信形式去发送到每个人手机,不是为了打印效果
回复

使用道具 举报

 楼主| 发表于 2011-10-14 12:08 | 显示全部楼层
回复 业余爱好者 的帖子

目的不是要打印的,是根据每个人的工资信息,发送短信通知的,我们公司没有做工资条,只是以短信形式去发送到每个人手机,不是为了打印效果
回复

使用道具 举报

发表于 2011-10-14 12:11 | 显示全部楼层
等待解决问题的公式或者VBA
回复

使用道具 举报

发表于 2011-10-14 13:42 | 显示全部楼层
说白了,还是工资条

人家是打印,你是发短信
回复

使用道具 举报

发表于 2011-10-14 21:27 | 显示全部楼层
回复 guojiwbzm 的帖子

即使不打印,就算是发短信,也不应该删除空白(为0)的工资项目啊。
不管怎样吧,都应该用邮件合并完成它!
回复

使用道具 举报

发表于 2011-10-14 21:47 | 显示全部楼层
本帖最后由 高 于 2011-10-14 21:51 编辑

还有个动画,我传不上去,有点大
给我个邮箱,我发过去不?

桌面.rar

34.71 KB, 下载次数: 37

回复

使用道具 举报

 楼主| 发表于 2011-10-15 08:39 | 显示全部楼层
本帖最后由 guojiwbzm 于 2011-10-15 08:44 编辑

回复 的帖子

451907339@qq.com      发了说下  谢谢
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 11:58 , Processed in 0.691936 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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