excel函數(shù)數(shù)組怎么運算?下圖1展示了一個使用LEN函數(shù)計算單元格中字符數(shù)的公式。LEN函數(shù)接受單個項目作為其參數(shù)text,輸出單個項目作為其返回值。
圖1
對于接受單個項目的函數(shù)參數(shù)來說,有一條規(guī)則:如果對接受單個項目的函數(shù)參數(shù)使用單個項目,那么該函數(shù)將提供單個項目作為其返回值。
然而,如果在LEN函數(shù)中給其參數(shù)text提供多個項目作為其值,會發(fā)生什么呢?
下圖2的列A中有一系列姓名值,需要統(tǒng)計該列的字符總數(shù)。我們可以使用LEN函數(shù),并將單元格區(qū)域A2:A6作為其參數(shù)text的值。
圖2
選擇公式中的參數(shù)值A(chǔ)2:A6,按F9評估,可以看到其提供了5個文本字符串,如下圖3所示。
圖3
如果選擇LEN函數(shù)并按F9評估,則可以看到該函數(shù)提供了5個值,如下圖4所示。
圖4
這意味著如果你給LEN函數(shù)的參數(shù)text提供多個項目,那么它也會給你返回多個值作為結(jié)果。
一般來說,如果對接受單個項目的函數(shù)參數(shù)使用多個項目,那么該函數(shù)將提供多個項目作為其返回值。當函數(shù)參數(shù)接受單個項目而你給其提供多個項目時,你創(chuàng)建了函數(shù)參數(shù)數(shù)組操作。
上文示例中的LEN函數(shù)提供了多個數(shù)字,可將其作為SUMPRODUCT函數(shù)的參數(shù)值來求和,如下圖5所示。
圖5
由于SUMPRODUCT函數(shù)可以處理數(shù)組操作,因此無需按Ctrl+Shift+回車鍵。
當查找表沒有排序時使用SUMPRODUCT/SUMIF函數(shù)
如下圖6所示,在單元格區(qū)域A3:C7中列出了每種產(chǎn)品的銷售額,現(xiàn)在想要計算這些產(chǎn)品的總毛利。這里的方法是,先添加一個輔助列,使用VLOOKUP函數(shù)在查找表中獲取每種產(chǎn)品的成本,然后求得總成本,最后使用總銷售額減去總成本得到毛利。
圖6
如果不允許使用輔助列,那么可以使用SUMIF函數(shù)來求得總成本,如下圖7所示。
圖7
通常情形下,給SUMIF函數(shù)的criteria參數(shù)指定單個項目,然而這里給它指定了5個單獨的項目,這使得其執(zhí)行數(shù)組操作,因此其結(jié)果返回5個項目組成的數(shù)組。如下圖8所示,當使用F9來評估公式中的SUMIF函數(shù)時,其得到的是對應(yīng)的成本數(shù)值。
圖8
注意,本示例中區(qū)域F4:F6中沒有重復(fù)值,因此公式能夠正常運轉(zhuǎn)。如果存在重復(fù)值,則會出錯。
將SUMIF函數(shù)返回的結(jié)果傳遞給SUMPRODUCT函數(shù)求和。
當查找表排序時使用SUMPRODUCT/LOOKUP函數(shù)
如果查找表已排序,那么使用LOOKUP函數(shù)替換上文中的SUMIF函數(shù)會更簡潔且更快。如下圖9所示,查找表中的產(chǎn)品列按升序排序。
圖9