春風送暖陽,沉思殄天物。
今天的內容必須輕松,我們就聊聊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列在后,于是實現了反向查找。
(本文完)
中郵無人機(北京)有限公司揭牌
2461 閱讀智能倉儲企業“智世機器人”完成數千萬元A輪融資
2425 閱讀這家老牌物流巨頭被整合重組,四千多名員工將何去何從?
1767 閱讀聊聊2025年物流企業如何做營銷規劃
1660 閱讀2024最值錢的物流上市企業是誰?哪些物流企業被看好,哪些被看跌?
1212 閱讀地緣政治重塑下的全球供應鏈:轉型、挑戰與新秩序
1081 閱讀極兔速遞2024年第四季度包裹量增長32.5% 全球日均單量超8000萬件
1105 閱讀物流供應鏈領域“吸金”不力,但能給投融資事件頒幾個獎
1035 閱讀2024LOG供應鏈物流?突破創新獎候選案例——準時達國際供應鏈管理有限公司
959 閱讀仿生學:蜂巢帶給供應鏈管理的啟示
941 閱讀