Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。
EXCEL條件式加總的問題
如附件, http://www.funp.net/3919983
在A,B,C三欄資料裡:
第一欄:名稱, 為要加總的主要項目
第二欄:進出口的細項品名, 要對照Sheet2的A欄或B欄內的資料
第三欄:數值
在相對的(D,E,F)(G,H,I)(J,K,L)(M,N,O)的各欄位裡亦有同類型的資料
我要在一個儲存格裡, 算出單一名稱的淨總合,
即第二欄資料若符合在Sheet2的A欄(即為進口)則數值相加, 若是在B欄(即為出口)則數值相減
使用過SUMPRODUCT, 但一次只能對應符合一個第二欄的值,
若Sheet2裡的A欄有10個, B欄有5個, 則此法必須要算75次
(10+5)X5=75
若Sheet2資料更多, 則需加的次數更多
是否可以使用函數或自訂函數的方式, 在同一個儲存格內計算符合上述條件的總合?
謝謝!!
謝謝各位大大的幫忙, 還有就是要將進出口的部份用條件式的格式, 顯示不同的顏色, 是否也可以?
5 個解答
- 顯栓Lv 71 0 年前最佳解答
B12 =SUMPRODUCT(($A$2:$M$6=A12)*(COUNTIF(Sheet2!$A$2:$A$10,Sheet1!$B$2:$N$6)-COUNTIF(Sheet2!$B$2:$B$10,Sheet1!$B$2:$N$6)),$C$2:$O$6)
將B12儲存格公式下拉,完成!
檔案附件: http://tco.cseintltd.com.tw/applerot/pic/051301.xl...
2008-05-13 09:20:55 補充:
SUMPRODUCT 為處理陣列的函數如陣列中有IF函數則失去其功能,須加按
CTRL+SHIFT+ENTER
而=SUMPRODUCT(($A$2:$M$6=A12)*(COUNTIF(Sheet2!$A$2:$A$10,Sheet1!$B$2:$N$6)-COUNTIF(Sheet2!$B$2:$B$10,Sheet1!$B$2:$N$6)),$C$2:$O$6)
不須按 CTRL+SHIFT+ENTER 可直接按 ENTER 即可得到答案‧
2008-05-13 09:31:08 補充:
如果進口找不到,就一定是出口的話公式則修改為:
B12=SUMPRODUCT(($A$2:$M$6=A12)*(COUNTIF(Sheet2!$A$2:$A$10,Sheet1!$B$2:$N$6)*2-1),$C$2:$O$6)
很像又更簡化了參考看看!選個適合的用!
2008-05-13 09:39:23 補充:
如V兄的公式修改為:
=SUMPRODUCT((ISNUMBER(MATCH($B$2:$N$6,Sheet2!$A$2:$A$500,))*2-1)*($A$2:$M$6=$A12),$C$2:$O$6)
按 ENTER 完成再下拉 ,也簡化很多不須要的判斷,請自行測試看看!
2008-05-13 22:29:37 補充:
再重新下載檔案:
http://tco.cseintltd.com.tw/applerot/pic/051301.xl...
看設定格式化條件式是不是合用有無會錯意!
- DanielLv 71 0 年前
=SUMPRODUCT((ISNUMBER(MATCH($B$2:$N$6,Sheet2!$A$2:$A$500,))-ISNUMBER(MATCH($B$2:$N$6,Sheet2!$B$2:$B$500,)))*($A$2:$M$6=$A12),$C$2:$O$6)
測試後, 這個公式最有效率, 不會影響我其它的執行速度, 也是我要的答案,
感謝各位大大的幫忙!
- VincentLv 71 0 年前
applerot 大師所言甚是,不但精簡了公式也提高計算效能,真是佳作~~
小弟將解答轉入意見,留給版主參考就好~~^^
B12
{=SUMPRODUCT(IF(ISNUMBER(MATCH($B$2:$N$6,Sheet2!$A$2:$A$6,)),1,-1)*($A$2:$M$6=$A12)*IF(MOD(COLUMN($C$2:$O$6),3),0,$C$2:$O$6))}
陣列公式
- ?Lv 41 0 年前
1. A的淨值(A12的位置)公式為:
=SUMPRODUCT(--($A$2:$A$5=A12),$C$2:$C$5,IF(ISERROR(MATCH($B$2:$B$5,Sheet2!A:A,0)),-1,1))+SUMPRODUCT(--($D$2:$D$5=A12),$F$2:$F$5,IF(ISERROR(MATCH($E$2:$E$5,Sheet2!A:A,0)),-1,1))+SUMPRODUCT(--($G$2:$G$5=A12),$I$2:$I$5,IF(ISERROR(MATCH($H$2:$H$5,Sheet2!A:A,0)),-1,1))+SUMPRODUCT(--($J$2:$J$5=A12),$L$2:$L$5,IF(ISERROR(MATCH($K$2:$K$5,Sheet2!A:A,0)),-1,1))+SUMPRODUCT(--($M$2:$M$5=A12),$O$2:$O$5,IF(ISERROR(MATCH($N$2:$N$5,Sheet2!A:A,0)),-1,1))
因屬於陣列公式,輸入完後請按Shift+Ctrl+Enter不要直接按Enter
2. A13~A16的公式由A12往下拉即可。
3. 為了簡短公式,其中一個假設是,在進口找不到,就一定是出口,不會有進出口(Sheet2)都找不到細項品名的情形發生。
有問題的話請告知
參考資料: 自己