春风送暖阳,沉思殄天物。
今天的内容必须轻松,我们就聊聊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列在后,于是实现了反向查找。
(本文完)
首发 | 富勒科技完成3亿元融资,经纬领投,高成和高瓴跟投
11376 阅读中国兵工物资集团有限公司2025届校园招聘供应链管理、仓储管理等岗位
4696 阅读近1500人!中远海运24-25届全球招聘启动
4126 阅读宁德时代社招物流工程师-YBSJ;高级物流工程师-进出口;海外物流规划工程师;物流规划工程师;机械工程师(物流)
3721 阅读顺丰社招仓储管理经理、KA客户经理、SME客户经理、灵活业务资源专员、散单管理岗等
3627 阅读拼多多集团-PDD | 2025届校招正式批网申时间延长至2025年1月12日
3546 阅读TCL实业2025届全球校园招聘供应链管培生等岗位,截止11月30日。
3302 阅读梅花集团2025届校园招聘物流管理类与工程、供应链管理等专业
3239 阅读吉利十一月岗位火热招聘物流、供应链类岗位
3203 阅读美团社招仓储主管;郑州运营督导(物流方向);中心仓经理;业务推进专家;水果采购专家等
3168 阅读