1樓:s今生緣
sumproduct()函式是乘積的累加和,常用於按條件計數或求和,有時也可用sumif/sumifs/countif/countifs來實現,特別是03版以前沒有sumifs/countifs函式,這個函式的功能顯而易見。
首先,這個公式中並不是對文字來求值,而是判斷某個單元格的值是不是和這個文字相同,返回值是ture和false,1*是轉換邏輯值為數字的常用方法,也可以連續的兩個負號--來實現, 這個函式的引數還可以中間不用逗號,直接用*來表示,這樣再不用再乘1或--了,直接相乘就行。
=sumproduct((訂單明細表!e3:e262="《ms office高階應用》")*(訂單明細表!h3:h262)),
含義就是:對「訂單明細表中滿足同行的e列的值等於"《ms office高階應用》"的h3:h262求和
2樓:
關於公式
=sumproduct(1*(訂單明細表!e3:e262="《ms office高階應用》"),訂單明細表!h3:h262)
的解讀"《ms office高階應用》"是一個字串,
訂單明細表!e3:e262="《ms office高階應用》"-------判斷訂單明細表中的e3:
e262這個區域分別與字串進行比較,看是否一致。相同的返回true,不同的返回false。得到200條真假值。
1*兩百條真假值--------得到200個1和0。true變成1,false變成0
sumproduct(兩百條1和0,訂單明細表!h3:h262)就達到了計算訂單明細表中e列為《ms office高階應用》的h列資料的和的目的
所以公式也可以寫成
=sumif(訂單明細表!e3:e262,"《ms office高階應用》",訂單明細表!h3:h262)
3樓:四面生風
可能你對公式中第1個引數不理解,即:
1*(訂單明細表!e3:e262="《ms office高階應用》")
首先,excel對邏輯值也能視作數字進行四則運算,將true作為1,將false作為0。
例如:=true+true 能夠返回2
現在分析一下你的這個例子,假設:
e e="《ms office高階應用》" 1*(e="《ms office高階應用》" )
3 《ms office高階應用》 返回邏輯值true 1*true=1*1=1
4 《 》 返回邏輯值false 1*false=1*0=0
5 《ms office高階應用》 返回邏輯值true 1*true=1*1=1
也就是說,第1個引數就是最右邊的這列陣列了。
excel中使用sumproduct函式時遇到問題,請老師們給予指點---
4樓:匿名使用者
sumproduct哪能那麼聰明?它怎麼知道把e3:e14="張三" 和c3:c14>=5兩個條件組合起來過濾記錄?
正確的方法是首先新增一個計算列,如f3內輸入=c3*(if(and(exact(e3,"張三"), c3>=5), 1,0))
然後把f3複製貼上到所有f列,然後對所有列用=sum(f3:f14)求和
5樓:匿名使用者
你是新手吧!
(e3:e14="張三")返回邏輯值,為true或false,任意函式都將其識別為文字,你可以用left之類的函式試試效果,而中間用 *之後 返回值都被強制轉換成 0 1形式的邏輯值,可以數量運算!加上運算子號後再用left之類的函式試試效果!
在excel中,文字形式的數字或邏輯值加上運算子號後,都自動變為數字參與運算,所以你會見到很多excel老鳥寫函式時前面有兩個負號, -- 就是為了強制改變能出現的文字類數字!資料從其它地方導進excel,很多數字可能以文字的形式存在!
關於excel裡面vlookup函式和sumproduct函式的問題
6樓:朱仕平
=vlookup(d3,編號對照!$a$3:$c$9,2,false)
絕對引用, 是為了填充公式的時候, 保證引用不變, 如果是相對引用, 就不能填充公式
sumproduct乘1的目的是將邏輯值false和true轉換成數值0或1, 當然, 還可以用n函式轉換, 也可以使用減負, 就看標準答案是什麼了.. 訂單明細表後面的感嘆號, 表示這個"訂單明細"是工作表, 你可以理解為excel公式中的標準語法吧
excel中用sumproduct函式多條件統計和萬用字元應用的問題
7樓:匿名使用者
首先sumproduct函式不支援萬用字元,
其次因為萬用字元無法對數字進行匹配所以查詢不到匹配值
對於數字你可以用大於或小於某個區間數值來限定範圍
8樓:匿名使用者
雖然sumproduct不能使用萬用字元,但是可以用not函式和iserror函式組合來解決,但是不能解決多個萬用字元問題,如:
sumproduct((c2:c11="*z37*")可以用not函式和iserror函式編寫如下:
sumproduct(not(iserror(find("z37",c2:c11)))
9樓:樂怡
是2007或以上版本可用countifs函式啊
10樓:匿名使用者
解決了嗎?還在不在啊?
關於excel裡面vlookup函式和sumproduct函式的問題
11樓:豐倫錯冬
=vlookup(d3,編號對照!$a$3:$c$9,2,false)
絕對引用,
是為了填充公式的時候,
保證引用不變,
如果是相對引用,
就不能填充公式
sumproduct乘1的目的是將邏輯值false和true轉換成數值0或1,
當然,還可以用n函式轉換,
也可以使用減負,
就看標準答案是什麼了..
訂單明細表後面的感嘆號,
表示這個"訂單明細"是工作表,
你可以理解為excel公式中的標準語法吧
在excel的sumproduct函式中如何表達 「或」 和 「且」的關係啊
12樓:碧魯玉蓉靳酉
=sumproduct((b3:b17<60)*(b3:b17>=0))公式表示對於滿足條件<60且》=0的單元格進行相乘後的乘積之和,其實該公式省略了一元陣列(1),完整的公式為:
=sumproduct((b3:b17<60)*(b3:b17>=0)*(1)),這樣就好理解多了,對滿足條件的陣列相乘的結果每一項均為1,再求和正好與滿足條件的個數相吻合。
13樓:匿名使用者
求符合條件記錄個數
公式1=sumproduct((a1:a100>10)*(a1:a100<20))
公式2=sumproduct((a1:a100>50)+(a1:a100<20))
如要求和則需在
sumproduct函式條件內新增*a1:a100and用"*"
or用"+"
注意邏輯值的運算
如:flase+true=1
flase*true=0
即在數值運算中flase相當於0,true相當於1sumproduct函式公式等價於sum陣列公式
14樓:匿名使用者
=sumproduct((a1:a100>10)*(a1:a100<20))
=sumproduct((a1:a100>50)+(a1:a100<20))
EXCEL序列問題,excel 中關於序列的問題
第一問簡單,把單元格設定成文字就可以做到了,第二個問題可以用公式做出來 if mod row 2 1,5 3 row 5 5 3 row 5 第三個公式可以在填充序列的步長值上做出來,步長值設為2就可以了 看你有幾位數字會變,只找到一種方法,就是右鍵 設定單元格格式 自定義,然後在型別中輸入 135...
Excel多重巢狀問題,關於EXCEL中IF 的多重巢狀問題
此處假設a2單元格輸入lactate資料,b2單元格輸入sxvo2資料,c2輸入pvaco2資料,則可在d2單元格輸入公式 if a2 2,if b2 70 if c2 6,high co anemia low co with if c2 6,high co sepsis mic.alt with ...
關於Excel中按鈕的問題
增加一個userform,新增5個optionbutton工具,增加一個commandbutton工具。而後使用如下 需要補充一點,這五個任務 模組 需要放置在公用模組中,並且需要改名 例如m1,m2等 因為巨集名不支援逗點。private sub commandbutton1 click if u...