昱得資訊工作室
麻辣學園
歡迎光臨, 訪客. 請先 登入註冊一個帳號.
您忘了 啟用您的帳號嗎?
2008-09-07, 10:44:09
首頁 說明 登入 註冊 贊助論壇 想當作者?
新聞: 會員注意!!麻辣家族討論區[通用版規],請詳閱!!


+  麻辣家族討論區
|-+  MS Office 系列
| |-+  EXCEL
| | |-+  Excelㄧ般區 (版主: gong, bosco_yip)
| | | |-+  「--」代表什麼
0 會員 以及 1 訪客 正在閱讀本篇主題. « 上一篇主題 下一篇主題 »
頁: [1] 向下 列印
作者 主題: 「--」代表什麼  (閱讀 1478 次)
yrbo
中學生
*
離線 離線

文章: 39


「--」代表什麼
« 於: 2006-07-26, 21:00:07 »

常在公式中看見 -- ,不知代表著什麼意義。請前輩指點
已記錄
gong
版主
*
離線 離線

會員性別: 男
文章: 2220


Re: 「--」代表什麼
« 回覆文章 #1 於: 2006-07-26, 22:34:59 »

負負得正
將邏輯符號轉為0或1
已記錄
yrbo
中學生
*
離線 離線

文章: 39


Re: 「--」代表什麼
« 回覆文章 #2 於: 2006-07-27, 20:25:34 »

還是不太了解?
引用http://gb.twbts.com/index.php/topic,4581.0.html中的資料
由bosco_yip所解答的公式SUMPRODUCT(--(C6:C25&G6:G25="A"&TRUE))
SUMPRODUCT的公式為SUMPRODUCT(array1,array2,array3,...)
那「--」也是等於一個array嗎?
已記錄
bosco_yip
版主
*
離線 離線

文章: 690


Re: 「--」代表什麼
« 回覆文章 #3 於: 2006-07-27, 21:35:19 »

SUMPRODUCT 的公式 "語法" 為 :

SUMPRODUCT(array1,array2,array3,...)

SUMPRODUCT(陣列1,陣列2,陣列3,...)   -->> 陣列是可以計算的 "數值"

"中文EXCEL简体版为 SUMPRODUCT(数组1,数组2,数组3,...)"


分析SUMPRODUCT公式中的陣列(数组) :

SUMPRODUCT(--(C6:C25&G6:G25="A"&TRUE)) -- >> 這個公式, 祇有一個陣列(数组)

SUMPRODUCT({ 陣列 })      -->>  陣列(数组)一定是"數值"

{C6:C25&G6:G25="A"&TRUE}  -->> 公式為條件公式, 返回的為 "邏輯值"

{TRUE,TRUE,FALSE,FALSE …...}  -->> TRUE 和 FALSE 為 "邏輯值", "邏輯值" 不是 "數值", "邏輯值"不能計算的

借助, "逆寫正號符" 「--」      -->> 將 --{TRUE} 轉變為 1  和  將 --{FALSE} 轉變為 0

--{TRUE,TRUE,FALSE,FALSE …...} -->> 在"邏輯值"前, 加上"正號符的逆寫法" 「--」 

{1,1,0,0……}            -->> "邏輯值" 轉變為 "數值" , 數值的陣列(数组), 便可以計算了

=SUMPRODUCT({1,1,0,0……})   -->> 轉為 "數值" 後, 函數便能傳回結果
« 最後編輯時間: 2008-04-12, 20:23:30 由 bosco_yip » 已記錄
yrbo
中學生
*
離線 離線

文章: 39


Re: 「--」代表什麼
« 回覆文章 #4 於: 2006-07-28, 14:35:41 »

謝謝bosco_yip費心的指點,我瞭解了。難怪我用"公式評估"只看見true,false等邏輯值,原來是將這些條件的邏輯值轉成可用的數值。
真的感謝您!!
已記錄
maomin
中學生
*
離線 離線

文章: 58


Re: 「--」代表什麼
« 回覆文章 #5 於: 2006-07-29, 08:12:32 »

謝謝
bosco_yip大大的精彩解說
對於 轉值符號  一直還是處於懵懵懂懂的
經由這個例子,更清楚明白了

引用 http://gb.twbts.com/index.php/topic,4581 

有一點小疑問,就是

當邏輯值相乘的時候,是不是就可以得出數字

SUMPRODUCT((C6:C25="a")*(G6:G25=TRUE))
以上這個公式結果應該是
{true;false;false;false;true......}*{true;true;true;false.....}

那是不是 true*true =1
       true*false=0
所以這樣公式就不用加轉值符號
是這樣的嗎??煩請賜教
已記錄
bosco_yip
版主
*
離線 離線

文章: 690


Re: 「--」代表什麼
« 回覆文章 #6 於: 2006-07-29, 23:28:26 »

邏輯值( Boolean value) 轉變為數值(numeric value), 方法 :

1] "邏輯值" 與 "邏輯值" 相乘

 TRUE x TRUE = 1

 FALSE x FALSE = 0

 TRUE x FALSE = 0

 FALSE x TRUE = 0

2] "邏輯值" 與 "數值" 相乘

 TRUE x 1 = 1

 FALSE x 1 = 0

3] "邏輯值" 前加上"逆寫正號符" 「--」 

 =--{TRUE} = 1

 =--{FALSE} = 0

4] "邏輯值" 後加上 "運算值" 「+0」, 「*1」, 「/1」 

 ={TRUE}+0 = 1 ;  ={FALSE}+0 = 0

 ={TRUE}*1 = 1 ;  ={FALSE}*1 = 0

 ={TRUE}/1 = 1 ;  ={FALSE}/1 = 0
« 最後編輯時間: 2007-05-24, 23:10:32 由 bosco_yip » 已記錄
bosco_yip
版主
*
離線 離線

文章: 690


Re: 「--」代表什麼
« 回覆文章 #7 於: 2006-07-29, 23:31:05 »

SUMPRODUCT函數的「--」「*」和「,」的意義和用法

SUMPRODUCT函數, 條件加總, 現時有三種寫法, 例如 :

 [ 寫法一] =SUMPRODUCT((A1:A5="a")*(B1:B5=TRUE)*C1:C5)

 [ 寫法二] =SUMPRODUCT((A1:A5="a")*(B1:B5=TRUE),C1:C5)

 [ 寫法三] =SUMPRODUCT(--(A1:A5="a"),--(B1:B5=TRUE),C1:C5)

 以上三種寫法中, 第一種和第二種寫法, 在中國及台灣的論壇, 較常見到, 而第三種寫法, 則比較少見

 但是第三種寫法, 在外國論壇, 巳經流行多時, 而且大部份的老外MVP, 都採取此種方法.

 基礎上, 三種方法, 都能傳回正確結果, 分別祇在運算効率上, 現分析如下 :

( 一 ) 寫法分析

在幫助文件中 SUMPRODUCT 語法為 :

  =SUMPRODUCT(array1,array2,…...array30)

  或

  =SUMPRODUCT(陣列1, 陣列2,……...陣列30)

  留意每一個" 陣列" 與另一個 "陣列" 之間, 都用 "," 豆號作為分隔

[寫法一] 

1.1 公式演變次序 :

=SUMPRODUCT((A1:A5="a")*(B1:B5=TRUE)*C1:C5)

 第1步 =SUMPRODUCT({TRUE;FALSE;TRUE;FALSE;FALSE;FALSE}*{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}*{12;11;68;12;121;41})

 第2 步=SUMPRODUCT({12;0;68;0;0;0})

 第3 步 =80

1.2 陣列個數 :

 =SUMPRODUCT(陣列1)

 公式中沒有 "," 豆點, 所以衹有一個陣列

[寫法二] 

2.1 公式演變次序 :

=SUMPRODUCT((A1:A5="a")*(B1:B5=TRUE),C1:C5)

 第1步 =SUMPRODUCT({TRUE;FALSE;FALSE;FALSE;FALSE;FALSE}*{TRUE;TRUE;TRUE;TRUE;FALSE;FALSE},{68;12;121;41;0;0})

 第2 步 =SUMPRODUCT({1;0;1;0;0;0},{12;11;68;12;121;41})

 第3 步 =80

2.2 陣列個數 :

 =SUMPRODUCT(陣列1, 陣列2 )

 公式有一點 "," 豆點, 所以有兩個陣列

[寫法三] 

3.1 公式演變次序 :

=SUMPRODUCT(--(A1:A5="a"),--(B1:B5=TRUE),C1:C5)

 第1步 =SUMPRODUCT({1;0;1;0;0;0},{1;1;1;1;1;1},{12;11;68;12;121;41})

 第2 步 =80

3.2 陣列個數 :

 =SUMPRODUCT(陣列1, 陣列2, 陣列3 )

 公式有兩點 "," 豆點, 所以有三個陣列

( 二 ) 効率分析

 [寫法一] 和 [寫法二] , 都要三步次序, 才能返回結果

  [寫法三] , 衹需兩步次序, 就能返回結果

  結論是 :

  [寫法三] 効率最快, 運算速度, 估計 [寫法三] 比較 [ 寫法一] 和 [ 寫法二], 快約 0.5% 至2.0%

  但因為 運算速度相差不大, 所以3種寫法, 都可以接受為一致的
 
( 三 ) 錯誤的寫法

 錯誤1 =SUMPRODUCT(--(A1:A5="a")*(B1:B5=TRUE)*C1:C5)

 錯誤2 =SUMPRODUCT(--(A1:A5="a")*(B1:B5=TRUE),C1:C5)

 其實這兩個公式, 都不須要加上"逆寫正號符"「--」的

 這兩種錯誤寫法, 我在論壇都常見過.

  雖然傳回結是正確的, 祇是覺得他對「--」的用法, 不了解罷

 希望論壇朋友, 能明白公式中 「--」 「*」 和 「,」 的意義和用法, 避免錯誤.
« 最後編輯時間: 2007-05-24, 23:33:36 由 bosco_yip » 已記錄
maomin
中學生
*
離線 離線

文章: 58


Re: 「--」代表什麼
« 回覆文章 #8 於: 2006-07-30, 10:11:13 »

非常感謝bosco_yip大大詳盡精彩的解說
而已又是晚上11點多po的文章

真的覺得這裡是一個好地方
有那麼多的先進在此默默的替別人解決問題

各位大大們,辛苦了 Wink
已記錄
zz5151353
大學生
*
離線 離線

會員性別: 男
文章: 446



Re: 「--」代表什麼
« 回覆文章 #9 於: 2006-07-30, 12:21:33 »

bosco_yip 版主研究非常深入,佩服 !!!
已記錄
頁: [1] 向上 列印 
« 上一篇主題 下一篇主題 »
跳到:  


本頁花了 0.129 秒, 以及 20 次的資料庫查詢.