Excel程式: 特定條件中加起總和

2012-02-14 10:21 pm
於一份同事扣假報告表中,每一個同事的記錄為一個橫行。

在其中一位同事的橫行E8至AH8中:
有2個寫著"E 25/2" (代表與二月廿五日互相調假)
有2個寫著"C 22/6" (代表由於六月廿二日的工作而補假一天)
有3個寫著"A 1.0" (代表放有薪年假一天)

程式要求:
把所有有薪年假加起來。
更新1:

即有2個為調假,有2個為補假,有3個為有薪年假。 之於前述之日期只為例子。

更新2:

但為什麼當E8至AH8之間出現以下這幾個內容時, 結果會立即變為#value呢? "C 3/12" (但"C 03/12"就無問題) "E 25/2" "E 18/2" (就算是"E 18/02"或"E 18Feb"都不行!) 若當中有全部文字的cell就更加一定會變為#value, 由於這是扣假報表, 所以絕對有可能寫入任何文字或日期, 我希望它只對"A" 字開頭, 而後面數值的cells作加數, 請問可以嗎?

更新3:

另一個問題, 有時同事只請半日假, 我司會只扣他們半天, 即"A 0.5", 但Andy你的程式能否不要仍扣一天, 而改為實扣半天呢? 謝謝!

更新4:

已完全依你教的方式輸入, 但就算我開一張新Excel sheet, 依你的例子照樣輸入, 仍然得出"#value!"這個結果......

回答 (1)

2012-02-15 5:08 am
✔ 最佳答案
=SUMPRODUCT((LEFT(E8:AH8,1)="A")*1)

2012-02-16 21:33:27 補充:
try this:

=SUM(IF((LEFT(E8:AH8,1)="A"),MID(E8:AH8,3,3)*1))

列陣公式, 輸入後 Shift , Ctrl , Enter 三鍵連按

{=SUM(IF((LEFT(E8:AH8,1)="A"),MID(E8:AH8,3,3)*1))}

2012-02-18 22:47:20 補充:
I am using version of Excel 2003

Please try to download the file for reference
http://www.FunP.Net/711120

or send your file to me at
[email protected]

if you are using other higher version of Excel
please save as "2003 version" before sending to me

thanks

2012-02-19 16:04:30 補充:
or you may upload your file to
www.funp.net


收錄日期: 2021-04-24 10:38:19
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20120214000051KK00289

檢視 Wayback Machine 備份