很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。
现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。
如何提取组内的前若干或末若干名?这个要求不太好办的。
一般提到分组就首先会想到数据透视表,但是透视表对于值无法不聚合,所以换个思路,用函数,朴素的函数。
案例:
统计出下图 1 中每种物资的前三名数量,效果如下图 2 所示。
解决方案:
1. 在 F2 单元格中输入以下公式 --> 按 Ctrl+Shift+Enter 键结束 --> 向右向下拖动公式:
=LARGE(($C$2:$C$30=F$1)*($D$2:$D$30),ROW(A1))
公式释义:
- $C$2:$C$30=F$1:
- 查找区域 $C$2:$C$30 中所有与 F$1 值相等的单元格,返回由结果 true 或 false 组成的一组数组;
- 此处 F$1 必须列相对引用,而行绝对引用;
- ...*($D$2:$D$30):
- 将上述的 true 或 false 与区域 $D$2:$D$30 中的值依次相乘,结果为 D 列的值或 0;
- 也就是列出 F1 单元格中物资的所有对应的数量;
- LARGE(...,ROW(A1)):
- large 函数的作用是返回数据集中第 k 个最大值;语法为 LARGE(要查找的区域,第 k 大);
- 此处 row(a1) 的结果为 1,因此就是返回第一大的值;
- 当公式下拉,变成 row(a2),结果为 2,从而返回第二大的值