tft每日頭條

 > 生活

 > sumproduct公式逗号和星号怎樣使用

sumproduct公式逗号和星号怎樣使用

生活 更新时间:2024-08-12 18:09:34

經常性的在公式中會用到sumproduct(()*())與sumproduct((),())這樣兩種方法,但是卻不是很能理解其中乘号跟逗号的區别,為什麼有時候用逗号結果正确,用乘号卻是錯誤?

一般情況下,sumproduct函數中各個參數之間使用逗号或者乘号效果是一樣的,但是,有種特殊的情況需要留意,數據源中存在一些特殊數據的時候,可能會無法計算。

sumproduct公式逗号和星号怎樣使用(sumproduct公式逗号和星号怎樣使用)1

sumproduct公式逗号和星号怎樣使用(sumproduct公式逗号和星号怎樣使用)2

在使用乘号的情況之下,sumproduct函數不會自動将文本做0處理,所以F3單元格無法得到正确的結果:300。

sumproduct公式逗号和星号怎樣使用(sumproduct公式逗号和星号怎樣使用)3

我們先來理解一下這個公式;

①判斷A2:A8區域的值,是否等于F2單元格,返回TRUE/FALSE;

②判斷B2:B8區域的值,是否等于G2單元格,返回TRUE/FALSE;

③然後再通過返回的邏輯值相乘得出結果。

判斷A2:A8區域的值與判斷B2:B8區域的值,會返回{0;0;1;0;0;0;0},如下圖所示。

sumproduct公式逗号和星号怎樣使用(sumproduct公式逗号和星号怎樣使用)4

那麼,回到最初的問題,對于數據源有字母、文本之類的特殊内容。為什麼各參數之間用乘号是錯的,用逗号就能返回正确的結果?

首先,我們來看看sumproduct用乘号的運算過程,

sumproduct公式逗号和星号怎樣使用(sumproduct公式逗号和星号怎樣使用)5

為什麼使用乘号得到結果返回#!Value,原因出在sumproduct函數不直接支持邏輯值。因為sumproduct函數是數組運算,所以他的要求比較嚴格,不至于像其他函數一樣,可以将邏輯值做0與1處理,所以他認識的TRUE與FALSE叫做文本。sumproduct函數把X這個值與前面的數值相乘,這樣的結果是#!VALUE,而公式中有錯誤,sumproduct就返回錯誤。

那麼,sumproduct函數中用逗号的運算方式,就有點不一樣了,各參數相乘再相加,如公式=sumproduct({0,0,1,0,0,0,0},{100,200,300,400,0,600,700}),是先相乘0*100,0*200,1*300,0*400,0*0,0*600,0*700,再相加0 0 300 0 0 0 0,結果為300,如下圖所示。

sumproduct公式逗号和星号怎樣使用(sumproduct公式逗号和星号怎樣使用)6

而用逗号時,sumproduct函數就發揮了其特性, sumproduct函數将非數值型的數組元素作為0處理。這時X變成了0,所以結果是對的。所以使用逗号時,函數的容錯能力更強。

關于公式中逗号和乘号的用法,相信大家看了本篇教程已經有所啟發,轉發和點贊本篇文章,給小編鼓勵支持下吧!

如您遇到任何問題,可以在評論區留言哦~

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved