|
回复 47# kangson # i+ k }' R4 a- P8 R5 w; E" @
; ~: V$ h* }4 k5 H' K
9 N0 A% T l! m: N, Z/ [
我同意如果是5w条记录,按照O(2)来看时间比较长,vba本身也不是什么执行效率多高的软件,可是比起你不会vba手工操作呢??
* M' }( u! _# s. f2 h另外先sort在查找经常是没用的,尤其是对不规则编码的列进行处理,我说的数据也没说是数字,
7 S* l& s2 Q. k6 N; U8 S在如果不能改变cell的sequence,sort完也不符合要求了。) p+ [! } `/ r# c! e: Z8 c* E, s
) h2 X/ b% v9 [0 Q/ d
查找的算法可以有很多,但我举这个常用的例子的point是说没有vba,manual做的时间不知道要比o(2)长几个幂级数倍,$ i A9 e3 N0 ~# j/ F) ~* P
你不也说先sort在vba么?不vba这50000万行有法做么?" M( X" Y) e) j
# h. A: j% S1 M% s# M- v& _
所以我觉得在基本功能里sort,pivotable,filter,基本函数,图表等都可以用起来有深有浅,8 s, C& b- H/ l& V
浅的可以一笔带过,3 E5 O, `, X1 G1 Y
深层次的东西则是在应用中自己琢磨或者google的,不是让人教出来的,; f" x% v ]6 u$ k; y- Q
比如最普通的柱状图,我想做一个三年的三个部门的销售额对比,每个部门分成4种产品,再加一个总销售额增长百分比,
8 T2 M. [+ v6 D我相信99%的培训班或者那些bible都不会涉及这点,但是现实应用中却经常用到。
4 h2 |: s$ L& k9 |( v% O* D
6 f) L; Q% Y6 `& }: B& }而vba则不同,虽有深浅之分,但是讲讲浅的就可以受益无穷,讲深也没必要,除非你去开发软件系统,1 n' I s4 p& i/ W! C, t: D
比如上面那个例子,就算65000行,你下班的时候按下F5,明天上班的时候总是算完了把?
9 W& H- c3 u, u4 V ^如果你不会vba,五个通宵都不一定搞定。
% _: ^; T1 i% h. m5 C 4 l* G: o1 ]) Y1 A4 f- ]- m" M) u+ k
所以我的看法是,我支持普及基础知识,但是因为excel使用的普遍性和重复性,逐渐的,vba也是亟需掌握的。3 ]" V# X- K$ n5 m! _7 R
用同样的时间和精力学习vba也决不是什么本末倒置的事情。 |
|