图例:
文章插图
图9
C2单元格函数:
{=INDEX($H$2:$H$6,MAX(IF(B2>=$G$2:$G$6,ROW($1:$5),0)))}
输入完成后,按数组函数的结束键CTRL+SHIFT+ENTER三键结束 。
函数解析:
这个函数的思路,就是“传说中的万金油”函数了 。这种函数基本来说分为三步走:
1.条件赋值
通过IF函数的判断,给每一个值都对应上一个序号 。正常的序号部分我们经常使用ROW函数或者COLUMN函数,因为行号和列号一般都是等差排列的1、2、3…这个形式,如果不满足条件的话 , 我们往往给这个位置设置0或者99^99,意思就是“相对最小”或者“相对最大” 。
那么我们本例中的IF函数部分,返回了什么呢?我们通过“公式求值”的方式,就可以很轻松的得到答案 , 如下图所示:
文章插图
图10
通过这个过程我们看到IF函数的运算结果是{1,2,3,0,0} 。
2.按需要取序号
因为我们上面的IF部分是做出想要的序号 , 那么第二步就是按要求取出我们需要的序号了 。取出最后一次满足条件的值,也就是最大值 , 所以我们使用了MAX函数 。
在万金油函数中,我们经常会看到SMALL或者LARGR函数,这也是一种提取序号的过程 , 只不过是逐个从小到大或者从大到小的取值(不是取一次值),有兴趣的同学可以看下我们往期的教程《Excel万金油公式INDEX-SMALL-IF-ROW筛选函数公式解读》,和今天我们的主题偏离较大就不多介绍了 。
3.回归到INDEX函数区间取值
取到了我们需要的序号,第三步就顺理成章的又回归到了INDEX函数上了,只不过之前我们使用的是MATCH函数提取的序号,这次我们用的是MAX+IF函数的方式 。有没有学会呢?
【编后语】
数组函数并不难 , 只是大家可能还没有找到窍门 。其实数组函数也挺“有趣”的 , 它能在你不会使用VBA的情况下,解决一些比较复杂的运行效果 。所以学无止境,有的技能可以不用,但还是要会的 。
EXCEL最大的魅力是它的多元化,任何一道题,都是一题多解的,关键还是思路 。这篇文章写得很长,分了上、中、下三篇,但是依然不敢说已经收录齐了 , 只是可能逻辑上有重复的,就没有收录 。
会一两种方法可以解决问题就可以了,列出如此多的方案 , 只是希望大家能从中学到每个方法的知识点:比如VLOOKUP函数对于条件区域需要“升序排列”;比如“逻辑值”是如何参与计算的;比如“万金油”公式的三步走等等 。哪怕你只学到了规范的区间书写方式,也算是不虚看此篇 。
- 怎么把图片转换成excel文件 图片可以直接转成excel的方法
- EXCEL自动生成时间线图流程 时间轴制作超详细教程
- 同步查看两个excel表格的方法 怎么同时打开两个独立excel窗口
- 工地记工考勤表格制作方法 excel工作表格制作教程
- excel表格如何去重统计 excel表格筛选重复数据的方法
- 怎样按序号对Excel整理排序 时间按顺序排列怎么排
- 熟练EXCEL要掌握哪些 excel新手使用入门教程
- Excel如何生成数据透视表 数据透视表实例教程
- 如何在excel中插入图片 照片导入表格的方法
- excel中统计个数的函数怎么用 常用表格函数公式大全