EXCEL中關於SUMPRODUCT函式的問題

2022-02-20 17:43:07 字數 3988 閱讀 7938

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...