查找符合2個條件的值 =可以在表1增加輔助列,表2用vlookup引用,如附件所示 :
一個條件,用vlookup;多個條件,用數(shù)組:sumproduct就是數(shù)組,在a2:a15里面找a2,b2:b15里面找b2,然后在c2:c15里面找到滿足條件的值 =INDEX(Sheet1!$C$2:$C$15,MATCH(Sheet2!A2&Sheet2!B2,Sheet1!$A$2:$A$15&Sheet1!$B$2:$B$15,))數(shù)組公式。 =LOOKUP(1,0/((A2=Sheet1!$A$2:$A$15)*(Sheet2!B2=Sheet1!$B$2:$B$15)),Sheet1!$C$2:$C$15) SUMPRODUCT函數(shù) sum就是簡單求和; SUMIF就是有條件的求和; SUMPRODUCT就是數(shù)組求和法. Array1,array2,array3, ... 為 2 到 30 個數(shù)組,其相應(yīng)元素需要進(jìn)行相乘并求和。 · 數(shù)組參數(shù)必須具有相同的維數(shù),否則,函數(shù) SUMPRODUCT 將返回錯誤值 #VALUE!。 · 函數(shù) SUMPRODUCT 將非數(shù)值型的數(shù)組元素作為 0 處理。 例如下圖所示的工作表數(shù)據(jù):
A1×B1+ A2×B2+ A3×B3+…+ A10×B10 可使用如單元格C3中的公式: =SUMPRODUCT(A1:A10,B1:B10) 或=SUMPRODUCT(DataA,DataB),如果將單元格區(qū)域A1:A10命名為“DataA”,將單元格區(qū)域B1:B10命名為“DataB” (應(yīng)用)基于兩個條件匯總數(shù)據(jù) 例如,下表所示的數(shù)據(jù):
其中: C2:C10為包含銷售量的單元格區(qū)域;通過A2:A10=”華東”產(chǎn)生一個數(shù)值為1,0的數(shù)組,即如果列A中的數(shù)據(jù)為華東則值為1,否則為0;同理,通過B2:B10=”B”產(chǎn)生一個數(shù)值為1,0的數(shù)組;SUMPRODUCT函數(shù)將這些數(shù)組分別相乘后相加即得到結(jié)果 如果不合適地應(yīng)用SUMPRODUCT函數(shù),將會得不到正確的結(jié)果,如, 現(xiàn)在要求華中區(qū)域與目標(biāo)日時間差為負(fù)數(shù)的項目的銷售額。 其中,將單元格區(qū)域“A2:A10”命名為“區(qū)域”,將單元格區(qū)域“B2:B10”命名為“銷售額”,將單元格區(qū)域“C2:C10”命名為“時差”。 如果我們輸入下面的公式: =SUMPRODUCT((時差<0),(區(qū)域="華中"),銷售額),將得不到正確的結(jié)果。由于某種原因,SUMPRODUCT函數(shù)不能正確處理布爾值,因此公式無效。 下面的公式在SUMPRODUCT函數(shù)中將布爾值乘以1,將得到正確的結(jié)果: =SUMPRODUCT(1*(時差<0),1*(區(qū)域="華中"),銷售額) 或=SUMPRODUCT(銷售額*(區(qū)域=”華中”)*(時差<0)) 其中,布爾值包括true和false兩個值?! ≡谶壿嬛?,真值或邏輯值是指示一個陳述在什么程度上是真的。在計算機(jī)編程上多稱作布爾值。 在經(jīng)典邏輯中,唯一可能的真值是真和假。但在其他邏輯中其他真值也是可能的: 模糊邏輯和其他形式的多值邏輯使用比簡單的真和假更多的真值?! ≡诖鷶?shù)上說,集合 {真,假} 形成了簡單的布爾代數(shù)??梢园哑渌紶柎鷶?shù)用作多值邏輯中的真值集合,但直覺邏輯把布爾代數(shù)推廣為 Heyting代數(shù)。
B 1 2 3 4 公式 說明(結(jié)果) =SUMPRODUCT(B2:C4,D2:E4) 兩個數(shù)組的所有元素對應(yīng)相乘,然后把乘積相加,即3*2+4*7+8*6+6*7+1*5+9*3。(156) =SUMPRODUCT((G1:G3="男")*(E1:E3<=60)) 這個公式的意思是統(tǒng)計,G1-G3是男的,同時E1-E3數(shù)值小于等于60的人數(shù)。 首先這是一個數(shù)組公式,要按Ctrl+Shift+Enter結(jié)束。 然后看計算過程:假如G1=男,G2,G3都為女,然后E1=65,E2=60,E3=80。 這時候公式變?yōu)?SUMPRODUCT((TRUE,F(xiàn)ALSE,F(xiàn)ALSE)*(TRUE,F(xiàn)ALSE,F(xiàn)ALSE)) 理解:因為G1=男,所以第一個值為TRUE。第二個不為男,值就為FALSE。接下來,TRUE和FALSE分別代表1和0。所以公式變?yōu)椋?=SUMPRODUCT((1,0,0)*(1,0,0)) ;然后接下來就是SUMPRODUCT的計算過程了=1*1+0*0+0*0=1,所以最后的結(jié)果等于1。 SUMPRODUCT函數(shù)是返回乘積之和,SUMPRODUCT(A1:A4,B1:B4)=A1*B1+A2*B2+A3*B3+A4*B4,這是此函數(shù)的基本用法. 另: 1、怎樣用SUMPRODUCT函數(shù)統(tǒng)計出“崗位”為“干部”,而且“性別”為“女”的人數(shù)?
舉例:SUMPRODUCT((周一!M28:M34=“龍騰”)*(周一!P28:P34)) 公式的意思是:P28:P34中對應(yīng)于M28:M34中是“龍騰”的單元格的數(shù)據(jù)之和,假如:M29,M31,M32中為“龍騰”,則公式值等于P29+P31+P32. 訣竅:用*號分隔組合條件 特別說明:區(qū)域的選擇必須是具體的區(qū)域,不能是整個一列,否則會提示錯誤。 條件1:日期<=2008-2-29 條件2,(銷售管理!U8:U115="合同") 條件3(銷售管理!Y8:Y115="顏敬")或者(銷售管理!Y8:Y115="敬顏") 三個條件同時滿足,第三個條件有一個并列條件: =SUMPRODUCT((銷售管理!T8:T115<=DATE(2008,2,29))*(銷售管理!U8:U115="合同")*((銷售管理!Y8:Y115="顏敬")+(銷售管理!Y8:Y115="敬顏")),銷售管理!M8:M115) “且”用 * 號, “或” 不能用OR 而是用 +
號:至于OR這個函數(shù),不能用在這里。在這個數(shù)組公式中,每一個條件得到的應(yīng)該是一個數(shù)組,而不是單一值(當(dāng)然有特殊的情況)。用 +
能得出一個數(shù)組來,用OR卻必然返回單一值。這是重大的區(qū)別。 |
|
來自: wuming0717 > 《黑客手冊》