春风送暖阳,沉思殄天物。
今天的内容必须轻松,我们就聊聊IF函数与数组的一些不常见但很有用的用法。
有些情况下,需要我们手动完成大批量的订单确认工作,以进行评估。
以下是随机生成的200张订单,涉及8种物料,下单时间随机分布在3月,货期要求随机分布在10~20天之间。
这8颗物料只在每周的周二和周五交货。具体到料计划如下:
如何基于这份到货计划给出200张订单各自的最早发货时间呢?
数组
Excel数组,指的是单行、单列或者多行多列的一组数据。Excel数组,是可以参与运算的。
数值、文本、逻辑值等你能想起来的大多数Excel数据,Excel数组都可以接受。
你在Excel表格中连续选择的数据区域,可以作为数组参与运算。
如果你想在公式中直接表示数组,可以使用{ }。{ }内部,以“,”表示同一行,以“;”表示不同行。示例如下:
这一点与早期Excel版本不同,早期版本不接受手工键入 { } 而是需要使用组合回车键。此外,绝大多数Excel常用函数,现在也都已经完全接受了数组,例如SUMPRODUCT等许多以前专用的数组函数现在也都不需要了。
即便很多人对于数组这个概念不熟悉,但事实上,类似于当前版本Excel的数组形式,早就已经出现在很多标准函数中。例如下面示例的函数SUM,里面使用的连续数据区域A1:D2,其实就是一个数组。
现在的Excel版本,不仅可以接受数组输入,也一样可以将数组直接输出到空白表格区域内。例如我们之前聊过的函数INDEX和OFFSET。
IF函数
相信绝大多人都很熟悉IF函数的以下用法:
如果需要找到一行数据中大于50的最小值,该怎么做呢?以下是通常做法,通过辅助行,先用IF函数修正数据,然后再求最小值:
然而,如果以数组运算的方式处理,则过程将会非常简单,我们完全不需要辅助行。如下:
双击进入函数计算过程,你会发现,对数组进行IF计算时,条件判断过程得到的是一串逻辑值,或者说,逻辑值数组。然后,以这个逻辑值数组对应目标数组(这里与原始数组一样),分别返回原值和FALSE,得到一个数值和逻辑值的混合数组。
事实上,在单元格B2输入这个IF公式,你将得到与前面辅助行一模一样的结果。
应用IF函数的数组功能,实例问题将非常容易解决。
首先,将到料计划整理为累计到料数量。
其次,拟定订单优先级规则(这里我们假定为”按照要求交货时间先后“),并将所有订单按照物料和订单优先级排序。
然后,增加辅助列,按物料分别计算累计订单需求。(在上一步排序的基础上,我们只需要一个简单的IF函数即可,下图中有显示)
最后,利用上面谈及的IF函数数组计算,直接给出公式和计算结果(图中给出了公式的分步解释)。
处理过程和结果,相当简洁,这得益于对于IF函数和数组的使用。其中,也用到了之前曾经聊过的OFFSET函数和MATCH函数(请参加前文 ”数据处理技巧:几个有用的Excel函数“)
为免看不清楚,下图是放大版本的公式分步解释:
这个实例的公式,最大的益处是:当到料计划有调整时,订单确认相关的公式是不需要重新写的。
利用本篇提到的IF函数与数组的使用,我们还可以很轻易的实现VLOOKUP反向查找。示例如下:
使用IF函数,借用数组{1,0},事实上就得到了一个类似于VLOOKUP标准用法的检索区域。(如果乐意,你完全可以把VLOOKUP标准用法中的检索区域理解为一个多列数组)
这里得到的,其实是一个内存数组,B:B列在前,A:A列在后,于是实现了反向查找。
(本文完)
Tracy:绿色不是成本!
6703 阅读靠供应链暴赚、大建冷链物流,年营收77亿的奶茶品牌冲刺IPO
3212 阅读跃点物流科技获350万美元A+轮融资
2890 阅读顺丰、鲜生活、京东物流、万纬物流、普冷、菜鸟…谁家冷链能在2025实现新突破?
1892 阅读京东物流发布全球织网计划2.0路线图:全面构建海外仓配“2-3日达”时效圈
1567 阅读物流新央企成立!中国数联物流信息有限公司
1174 阅读中力股份上交所主板上市,电动叉车市场迎新机遇
1132 阅读顺丰、圆通、韵达、申通发布最新业绩
1020 阅读顺丰实现全货机国内航班首次可持续航空燃料商业飞行
954 阅读科技助力轮胎制造业转型,菜鸟与华勤集团通力轮胎自动化仓储升级项目正式启动
990 阅读