大杀器“独孤九剑” 批量搞定数据分析

2018-04-26 12:30:29 157点赞 1882收藏 31评论

大家好,继上次Excel方面的文章发布之后,反响仍然很好。小仙女写的文章,尽量是按照举一反三的思维,想把复杂问题简单化,把不敢碰问题,不敢解决难题的惰性思维扭转为正面主动挑战问题的心态。其实大家每个人的评论,小仙女都看了一遍,虽然短短几句话,也反映了评论者的心态大不同。Excel的学习之路跟公务员考试一样,符合80/20定律,只有少数人才能啃下来最难啃的骨头。对于普通的我们,需要一个良好的心态调整自己,做不到成功,就做到在学习当中收获快乐。

EXCEL基础函数和快捷键 篇一:EXCEL基础函数入门Excel人力资源管理实战秘技250招Excel人力资源管理实战秘技250招EXCEL遇到的250个难题,早做完早下班38.8元当当今天呢,刚好心血来潮,就EXCEL常用的函数功能做一...追梦小仙女| 126 评论56 收藏1k查看详情EXCEL基础函数和快捷键 篇二:EXCEL基础函数入门各位值友大家好,继上一篇Excel文章发布后,反响不错,小仙女在这里谢谢大家了,今天给大家带来续篇,就是冲着精华文章来的,俗话说的话,不想申请精华的作者不是好作者。EXCEL基础函数和快捷键篇一:EXCEL基础函数入门EXCEL基础函数和快捷键篇一:EXCEL基础函数入门...追梦小仙女| 410 评论129 收藏6k查看详情

讲到心态,看起来跟本篇的主题貌似无关,且听仙女娓娓道来,因为心态反映在学习当中,也是普通人和成功人士的差距关键—心态差距:成功者的心态超乎常人的稳定,宠辱不惊;反观失败者的心态起伏落差很大,低谷时,状态情绪明显低落,遇到三连跌,就很难缓过来。其实学习也需要稳定的心态,尤其是难啃的骨头,Excel如果大家经常用得到,就不要躲着它,怕自己学不会,因为早晚还是用得到,不如迎面面对它带来的挑战,去攻克遇到的一个又一个难题。

Excel的书不用看太多,读书不在于多,在于精,读100本书一遍,不如选一本好书读100遍,由于仙女推荐的Excel在前2篇已经介绍了,故在此不再赘述。

Excel的Visual Basic Application (VBA)功能十分强大,强在可以发挥人的想象力,让人的想法快速的生动起来。当然我不可能从头讲到尾,我只是受日本人写资料思维方式的启发,觉得难的东西可以用简单的方式体现出来,这也是我尝试的初衷,加上读者的好心态,难的事情就可以变得简单,我的劳动可以产生增值。

大杀器“独孤九剑” 批量搞定数据分析

这个看起来一键完成的功能就是用VBA实现的。

首先在”开发人员“栏目中选择“插入”, 选择其下的“命令按钮”,

大杀器“独孤九剑” 批量搞定数据分析

大杀器“独孤九剑” 批量搞定数据分析

然后选择“检视程式码”,这是繁体版的叫法,就是给这个自己创建的按钮下指令。

小仙女之前讲过,程序也好,函数也好,都是人发明的,只是不是中国人。大杀器“独孤九剑” 批量搞定数据分析 但是既然是人,那么就符合人的思维规律。只不过程序里面有盎格鲁撒克逊语言的影子,小仙女顺便帮大家回顾一下英文了。

我放入了这段代码,

Sub xingji() /Subtitle 取字母缩写,这个词诞生于1825年,给(书等)加副标题或小标题; 给(影片等)加字幕,这里就是给xingji这个程序定义的意思。/

Dim xj As String, i As Integer /integer这个单词 是1500-1600年造出来的,指的是整数;String是绳子,线的意思,指的就是字符串,因为字符串像线一样;Dim是来自英文单词deem,视作,认为的意思/

For i = 2 To 19 Step 1 /For ..Next 的逻辑是执行完一遍函数之后,再跳到下一个/

Select Case Cells(i, "H") /Select Case英文指的是按条件选择,选择单元格,从H2到H19/

Case Is < 85 /Case意思是如果,如果H2的值小于85/

xj = " no comments on this"

Case Is < 100 /分数校验/

xj = "one star"

Case Is < 115

xj = "two stars"

Case Is < 130

xj = "three stars"

Case Is < 150

xj = "four stars"

Case Else

xj = "five stars"

End Select /结束选择/

Cells(i, "I") = xj /单元格I2-I19 显示字符串的值/

Next i /I 会从2增加到19 /

End Sub /结束程序的定义/

好,如果我们不用VBA的话,那么就要用if函数套多个if函数,怎一个绕字了得,

=IF(H2<85,"不评定",IF(H2<100,"一星级",IF(H2<115,"二星级",IF(H2<130,"三星级","三星级以上"))))

如果三星级以上还有四星级,五星级,甚至是十星级的话,本仙就吐血了。

然后我还要下拉多行,如果这个表有1000行的话,仙女真的只能驾鹤西去了。大杀器“独孤九剑” 批量搞定数据分析

大杀器“独孤九剑” 批量搞定数据分析

大家要相信,Excel是给人服务的,所以VBA就是给加班做不完的人一条希望之路,祝愿把这个生产力工具用好。

如果大家觉得写的还不错,可以收藏小仙女的文章,我会继续努力,尝试写更新的东西分享给大家。大杀器“独孤九剑” 批量搞定数据分析



展开 收起
31评论

  • 精彩
  • 最新
  • 这种需求根本不需要用VBA,像我们用到VBA一般是大规模用数据库取数做常规报表更新才用。
    作者文中这种案例,用vlookup模糊查找就可以解决了,甚至index+match, lookup都可以。
    顶楼上一位兄弟的话,杀鸡用牛刀了

    校验提示文案

    提交
    现在才知道VLOOKup模糊查找可以这么用,这个横着的数据源也可以用HLOOKUP.

    校验提示文案

    提交
    杀鸡用核弹头吧?

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 写了这么多,夸夸楼主

    校验提示文案

    提交
  • 在A3中输入=if(and(A4="",A5=""),if(A2=5,"5星","6星"),A4 & A5)

    校验提示文案

    提交
  • 单就文章中的例子而言,觉得公式更好,不喜欢嵌套公式可以简单的用vlookup+辅助对应表的方式。下拉1000行可以双击handle直接复制,或者选中再ctrl+D。VBA用在这有点杀鸡用牛刀了

    校验提示文案

    提交
  • 基础excel基本不讲VBA,讲VBA必须厚厚一本书

    校验提示文案

    提交
  • 假设有1000行为什么要拖拽?直接双击填充柄就是了…

    校验提示文案

    提交
  • 首先你得会VBA才行

    校验提示文案

    提交
  • 一直想学习VBA,可每当看到代码就不明觉厉,感谢楼主通俗易懂的讲解

    校验提示文案

    提交
  • 好像EXCEL允许五级嵌套。可以通过分解或分级嵌套,来用IF函数实现多级判断。

    校验提示文案

    提交
  • 支持一下,好好学习了

    校验提示文案

    提交
  • 比如你所说的十级判断。分为两步,先判断是否大于六级。小于等于6,输出空。大于6,继续判断是否大于7,……

    校验提示文案

    提交
    为何不考虑用vlookup的模糊匹配呢?十级嵌套写if,多可怕呀。

    校验提示文案

    提交
    收起所有回复
  • 在另一格内判断小于等于5的情况。

    校验提示文案

    提交
  • 在A4中输入=if(a2>6,if(a2>7,if(a2>8,if(a2>9,"10星","9星"),"8星"),"7星"),"")
    在A5中输入=if(a2

    校验提示文案

    提交
  • 在A5中输入=if(a2

    校验提示文案

    提交
  • < 5,if(a2< 4,if(a2< 3,if(a2< 2,"1星","2星"),"3星"),"4星"),"")

    校验提示文案

    提交
  • 涨知识了 好厉害

    校验提示文案

    提交
  • 不错不错。。。

    校验提示文案

    提交
  • 学习了这个

    校验提示文案

    提交
  • 收藏起来慢慢看

    校验提示文案

    提交
  • 有时间的时候,看看原创里面的文章觉得很充实。向大神学习。收藏了。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
1.8K
扫一下,分享更方便,购买更轻松