很多人问我,学好Excel是不是要背好多函数,是不是要会写VBA代码?

我说,那得看你能放多少时间和精力在Excel上。

Excel的内置功能,其实真的是够用了;
觉得不够用的,花几十块钱买个插件,也差不多了;
想成为俯视所有Excel难题的高手,是要以时间和精力为代价的。

所以,解决Excel中的问题,
首选技巧操作
其次选简单函数公式
可以尝试录制宏
数据源表不要挖坑

至于函数的复杂用法、数组公式、甚至VBA里的那一堆算法,还是扔一边去吧,除非,能把大把的时间和精力砸在那些上。

首选技巧操作

下图要把A列拆分成B:H列,可能我们第一个想到的就是函数的解法吧,于是就花大把时间和精力和Left、Right、Mid、Len纠结去了……

用函数公式确实是大部分人认同的法子,毕竟函数的好处是一劳永逸,但是这里可不是简单函数公式可以搞得定的,恐怕B列的公式还未写完,七个【快速填充】就已经搞定了。
所以,为什么要拒绝技巧操作?
好吧,列一个E列的不取巧的普通函数公式自己体会:

=MID(A2,FIND(" ",A2)+1,LENB(MID(A2,FIND(" ",A2)+1,99))-LEN(MID(A2,FIND(" ",A2)+1,99))-1)

其次选简单函数公式

下图是要计算三个城市销量总和,如果是单个城市,一个Sumif就可以解决,但是有三个,似乎就麻烦了……

三个怎么了,不就是加起来吗?公式写成:

=SUMIF(A:A,"南京",B:B)+SUMIF(A:A,"杭州",B:B)+SUMIF(A:A,"上海",B:B)

可是这种写法明显是被鄙视的,因为,嗯,好low啊,好不像高手写出来的啊……人家高手是用:

=SUM(SUMIF(A:A,{"南京";"杭州";"上海"},B:B))

我倒是觉得,三个及以内的,加就加呗,反正公式写好就基本上不会去动了,管他low还是high呢,能用就行,最重要的是,直接加出来的公式,下回遇到表格变化需要修改的时候,稍有函数基础的人就能看出来公式结构了,改起来容易啊。

超过三个,嗯,为了出题而出的题目超过三个的不少见,真正现实中,能加到一起,总是有规律的吧,那就把那个规律列出来拿来用呗。

不是把公式写得长就是高手,但也不是公式越短越好,缩短公式要控制在合理难度范围内。

把“=C2+C3+C4+C5+C6+C7+C8+C9+C10+C11+C12+C13”省成“=SUM(C2:C13)”,那叫“会用Excel”;
把“=C2&C3&C4&C5&C6&C7&C8&C9&C10”省成“=SUM(C2:C10*10^(9-ROW(1:9)))”,那叫“折腾Excel”;
把“=C2&C3&C4&C5&C6&C7&C8&C9&C10”省成“=CONCAT(C2:C10)”,那叫“会与时俱进地用Excel”。

所以,在现实中,别被那些函数控们省字符给误导了,省字符的原则,经常是变态的!

可以尝试录制宏

可以尝试录制宏来实现一些基础操作和函数做不了的事,因为录制宏本身这个操作,并不难。
但是,代码弄出来的东东,有个特点,用得好,人家几个月的活他几秒钟就OK,用不好,一个对话框卡在那里,结果就是十个字:叫天天不灵叫地地不应!
所以在录制之前,还是回到第一句话,首选技巧操作。

比如多表合并和总表拆分,是不是只有代码可以呢?
多表合并可以用PowerQuery,总表拆分可以用数据透视表。

数据源表不要挖坑

至于表格结构,那就太多内容要讲了……比如我一直以来的观念:改变影响Excel效率的十大旧习惯:

简单说来,表格有三种:数据源表、统计报表和表单。
数据源表:改变旧习惯
统计报表:交给数据透视表
表单:想怎么花哨就怎么花哨

Excel的内置功能,其实真的是够用了。(学习观)的更多相关文章

  1. 第八章| 3. MyAQL数据库|Navicat工具与pymysql模块 | 内置功能 | 索引原理

    1.Navicat工具与pymysql模块 在生产环境中操作MySQL数据库还是推荐使用命令行工具mysql,但在我们自己开发测试时,可以使用可视化工具Navicat,以图形界面的形式操作MySQL数 ...

  2. mysql 内置功能目录

    mysql 内置功能 视图介绍 mysql 内置功能 视图 使用 mysql 内置功能 触发器介绍 mysql 内置功能 触发器 实验 mysql 内置功能 事务 介绍 mysql 内置功能 存储过程 ...

  3. 利用 ASP.NET 的内置功能抵御 Web 攻击 (1)

    摘要: Dino 总结了最常见的 Web 攻击类型,并介绍了 Web 开发人员可以如何使用 ASP.NET 的内置功能来改进安全性. 一.ASP.NET 开发人员应当始终坚持的做法 如果您正在阅读本文 ...

  4. mysql 内置功能 存储过程 目录

    mysql 内置功能 存储过程介绍 mysql 内置功能 存储过程 创建无参存储过程 mysql 内置功能 存储过程 创建有参存储过程 mysql 内置功能 存储过程 删除存储过程

  5. mysql 内置功能 存储过程介绍

    存储过程介绍 就是mysql内置功能把逻辑写好 的功能给封装好,封装成一个接口名,把接口名丢给应用程序,应用程序直接调用接口名实现一系列增删改查功能 这个接口叫存储过程 基于存储过程封装成一个功能 存 ...

  6. mysql的数据操作和内置功能总结

    一.数据的增删改查 1.插入数据 a.插入完整数据(顺序插入) INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n); INSERT INTO 表名 ...

  7. MySQL:记录的增删改查、单表查询、约束条件、多表查询、连表、子查询、pymysql模块、MySQL内置功能

    数据操作 插入数据(记录): 用insert: 补充:插入查询结果: insert into 表名(字段1,字段2,...字段n) select (字段1,字段2,...字段n) where ...; ...

  8. 【CobaltStrike】对CobaltStrike内置功能模块的了解

    对CobaltStrike内置功能模块的了解 0x00 右键功能列表 Interact 打开beacon Access dump hashes 获取hash Elevate 提权 Golden Tic ...

  9. 深入浅出CChart 每日一课——快乐高四第九课 于无声处,CChart内置功能介绍之数据存取篇

    笨笨长期以来一直使用Origin软件画图和处理数据,但Origin软件没有编程语言的接口.笨笨开发CChart的一个潜在的目标.是想实现Origin软件的功能.当然这是一个不可能达到的目标.Origi ...

随机推荐

  1. [bzoj1077]天平

    先考虑如何求出任意两数的最大差值和最小差值,直接差分约束建图跑floyd求最短路和最长路即可然后枚举i和j,考虑dA+dB和di+dj的关系,分两种情况移项,转化成dA-di和dj-dB的关系或dA- ...

  2. Cortex-A系列中断

    1. 回顾STM32系统 1.1 中断向量表 ARM芯片冲0x00000000,在程序开始的地方存放中断向量表,按下中断时,就相当于告诉CPU进入的函数.描述很多个中断服务函数的表. 对于STM32来 ...

  3. CreateProcess error=206, 文件名或扩展名太长。

    改:

  4. Electron跨平台程序破解

    1.  npm install asar -g 2. asar --version 如果有版本号就继续 3.找到需要解压的软件位置  在app.asar的地址输入 asar e app.asar tm ...

  5. BehaviorTree.CPP行为树BT的入门(二)

    节点与树 用户必须创建自己的ActionNodes和ConditionNodes(LeafNodes):该库可帮助您轻松地将它们组成树. 将LeafNodes视为组成复杂系统所需的构建块. 根据定义, ...

  6. 【2020-8-21】【数字游戏】【启发式搜索IDA*】

    有这么一个游戏: 写出一个1-N的排列a[i],然后每次将相邻两个数相加,构成新的序列,再对新序列进行这样的操作,显然每次构成的序列都比上一次的序列长度少1,直到只剩下一个数字位置.下面是一个例子: ...

  7. 洛谷 P4272 - [CTSC2009]序列变换(堆)

    洛谷题面传送门 u1s1 在我完成这篇题解之前,全网总共两篇题解,一篇使用的平衡树,一篇使用的就是这篇题解讲解的这个做法,但特判掉了一个点,把特判去掉在 BZOJ 上会 WA 一个点. 两篇题解都异常 ...

  8. Codeforces 547D - Mike and Fish(欧拉回路)

    Codeforces 题目传送门 & 洛谷题目传送门 首先考虑将题目中的条件转化为图论的语言.看到"行""列",我们很自然地想到二分图中行.列转点,点转 ...

  9. 洛谷 P6860 - 象棋与马(找性质+杜教筛)

    题面传送门 首先我们来探究一下什么样的 \((a,b)\) 满足 \(p(a,b)=1\).不难发现只要点 \((1,0)\) 能够到达,那么网格上所有点都能到达,因为由于 \((1,0)\) 能够到 ...

  10. 13.Merge k Sorted Lists

    思路:利用map<int,vector<ListNode*> > 做值和指针的映射,最后将指针按值依次链接起来, 时间复杂度O(N),空间O(N) Merge k sorted ...