返回列表 上一主題 發帖

[發問] 計算類別條件加總

[發問] 計算類別條件加總

各位大哥,小弟想從附件 表格中 按照有"總公司"字樣計算出所需金額,懇請大大指點。 Book2.rar (1.8 KB)

Book2.rar (1.8 KB)

本帖最後由 ML089 於 2013-6-9 21:58 編輯

回復 23# home1913

想要深入了解,前面提的一些網頁資料可以細細品嘗,若還不了解這也是理所當然,畢竟這些都是比較高階的用法,先了解用法就好。
一般比較常用是 N(OFFSET())用法,你的表格中箱入數是文字格式,須採用T(OFFSET())用法,
若是文數字格式混用就須採用 INDEX(範圍, N(IF({1} )))或VLOOKUP(T(IF({1})))用法

採用T(OFFSET())用法,範列如下
  1. =SUMPRODUCT((B2:B7="總公司")*(INT(C2:C7/T(OFFSET(F1,MATCH(A2:A7,E2:E8,),)))*10+MOD(C2:C7,--T(OFFSET(F1,MATCH(A2:A7,E2:E8,),)))*2))
複製代碼
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

感謝2位的幫忙~
=SUM((B2:B7="總公司")*(INT(C2:C7/VLOOKUP(T(IF({1},A2:A7)),E2:F8,2,))*10+MOD(C2:C7,VLOOKUP(T(IF({1},A2:A7)),E2:F8,2,))*2))
這個公式算出的是正確了~
但是不懂如何計算出的~

TOP

回復 21# Bodhidharma

那兩篇多維引用我也看過算經典,學陣列(大陸叫組數?還是數組?)必看之文章。
這題我自己也掉到陷阱裡,INDEX及VLOOKUP在多維引用上不容易,一般都是使用 N(OFFSET(...))、T(OFFSET(...))採降維的方式來處理。
這一題一開始在儲存格上測試VLOOUP式OK的,但在陣列公式(組數公式)時無法組成內存組數,我自己竟然沒有發現這個錯誤。
我自己習慣寫完陣列公式會將陣列值寫到對應儲存格,INDEX、VLOOKUP在這方面都會呈現是對的,但用F9去觀察公式的計算值又呈現不出內存組數,所以用F9來觀察比較正確。但F9有查看數量的限制及不易觀看的困擾。
如果要使用INDEX、VLOOKUP去組陣列就必須採用 INDEX(N(IF(...、VLOOKUP(N(IF(...的方式,這是PINY大師很重要的發現。
有興趣去 可以看一下 http://club.excelhome.net/forum.php?mod=viewthread&tid=681243
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 20# ML089

hmmm...似乎又是多維引用和N()、T()函數的問題
看來我得好好研究一下,到底excel是如何判斷什麼時候是陣列,什麼時候不是
不然這種問題的原理老是搞不懂……

http://club.excelhome.net/thread-98081-1-1.html
http://club.excelhome.net/forum.php?mod=viewthread&tid=145062

TOP

回復 19# home1913
  1. =SUM((B2:B7="總公司")*(INT(C2:C7/VLOOKUP(T(IF({1},A2:A7)),E2:F8,2,))*10+MOD(C2:C7,VLOOKUP(T(IF({1},A2:A7)),E2:F8,2,))*2))
複製代碼
此式輸入方式不可以用ENTER輸入,需用三鍵(CTRL+SHIFT+ENTER)齊按方式輸入公式
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

本帖最後由 home1913 於 2013-6-6 17:46 編輯

目前用這3個公式出來的值都是80
={SUMPRODUCT((B2:B7="總公司")*(INT(C2:C7/VLOOKUP(A2:A7,E2:F8,2,))*10+MOD(C2:C7,VLOOKUP(A2:A7,E2:F8,2,))*2))}
={SUM(IF(B2:B7="總公司",INT(C2:C7/VLOOKUP(A2:A7,E2:F8,2,))*10+MOD(C2:C7,VLOOKUP(A2:A7,E2:F8,2,))*2))}
={SUMPRODUCT(ISNUMBER(FIND("總公司",$B$2:$B$7))*(INT($C$2:$C$7/VLOOKUP($A$2:$A$7,$E$2:$F$8,2,0))*10+MOD($C$2:$C$7,VLOOKUP($A$2:$A$7,$E$2:$F$8,2,0))*2))}

TOP

回復 16# ML089
  如Hsieh的公式,只是我用手算的, Hsieh那樣才對

TOP

回復 15# home1913


    輔助欄計算與你的差異
=INT(C2/VLOOKUP(A2,$E$2:$F$8,2,0))*10+MOD(C2,VLOOKUP(A2,$E$2:$F$8,2,0))*2
學海無涯_不恥下問

TOP

回復 15# home1913

請給我G欄的計算公式,那些數字我看不出來如何計算的
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

        靜思自在 : 吃苦了苦、苦盡廿來,享福了福、福盡悲來。
返回列表 上一主題