---A B
1 12 yes
2 33 yes
3 55 no
4 34 yes
5 55 yes
6 32 no
要計算出0-20(歲)而且B欄是yes的個數
要計算出A 欄是20-40 而且B欄是yes的個數。
用這樣(計算大於20且是yes的個數)不行
=COUNTIF(A1:A6,AND(A1:A6,">=20",LEFT(B1:B6,3)="yes"))
2006-11-07 10:35:58 · 4 個解答 · 發問者 b8301163 1 in 電腦與網際網路 ➔ 程式設計
要計算出0-20(歲)而且B欄是yes的個數, 請用公式=SUMPRODUCT(--(A1:A6>=0),--(A1:A6<=20),--(B1:B6="yes"))即可.第二個問題, 只要修改上面公式, >=0 改成 >=20, <=20 改成 <=40 即可.
2006-11-07 22:29:45 補充:
公式可以改為
=SUMPRODUCT(--(A1:A6>=0),--(A1:A6<=20),--(NOT(ISERROR(FIND("yes",B1:B6)))))
那麼, 只要 B 欄中任何地方出現 "yes" 都算成立.
2006-11-07 22:36:15 補充:
陣列的好處, 在於一次可以處理多筆資料, 直接算出解答, 理解之後是很實用的技巧. 我引用的參考資料中有一些很簡略的說明, 你可以看看.
如果不用陣列, 類似的問題, 必須多用一些欄位儲存計算過程, 表格看起來會比較亂一些, 但還是可以算出來啦.
2006-11-08 09:31:04 補充:
NOT 和 ISERROR 建議直接看 Excel 的說明,清楚又詳細,看不懂再討論吧。
2006-11-07 12:02:19 · answer #1 · answered by whitefox 7 · 0⤊ 0⤋
=SUMPRODUCT(--(A1:A6>=0),--(A1:A6<=20),--(B1:B6="yes"))
--(A1:A6>=0)
--(A1:A6<=20)
--(B1:B6="yes")
前面都要加上「--」是什麼用 意?
2012-04-29 14:09:27 補充:
=SUMPRODUCT(--(A1:A6>=0),--(A1:A6<=20),--(B1:B6="yes"))
以上這3個條件都是『 And 』
如果要改成『 Or 』
語法要如何寫呢
2012-04-29 08:04:31 · answer #2 · answered by kgor112 3 · 0⤊ 0⤋
我注意到大家好像比較喜歡用陣列來取代函數,偏偏對剛接觸excel的人陣列是有點難理解的,有什麼推薦的書可以來看看的嗎?像whitefox提供的公式我只能說,知道他可以解決但是不明白其中陣列產生的緣故,也就是無法完全瞭解這個陣列,無法自己應用到以後了分析上。
2006-11-07 21:27:08 補充:
再請教,若是欄位之中寫的是"yes骨",就無法使用B1:B6="yes",寫成B1:B6="*yes*"也是不行,寫成B1:B6="骨"也不行,該如何是好?
2006-11-07 16:11:29 · answer #3 · answered by b8301163 1 · 0⤊ 0⤋
計算 A 為0-20 B為 yes的個數, 請你在A8 輸入 <=20, B8 輸入 yes; 然後在一儲存格中輸入=countif(A1:B6,A8:B8), 答案就出來了 為 1.
計算 A 為20-40 B為 yes的個數, 較為複雜, 請用dcount函數, 並請在參照範例設定標題,及條件列, 設定標題範例如下:
A B C D E
1 AgeYES/NOAgeAgeYES/NO
2 2yes>20<40yes
3 33yes
4 55no
5 34yes
6 55yes
7 32no
請你在某儲存格輸入=dcount(A1:B7,"Age",C1:E2), 答案就出來了 為 2.
2006-11-07 16:25:30 補充:
表格有點亂掉. 我把行與行之間都加上/來分隔,可能比較清楚點:--A/ B/ C/ D/ E1 Age/ YES/ Age/ Age/ YES2 2/ yes/ >20/ <40/ yes3 33/ yes4 55/ no5 34/ yes6 55/ yes7 32/ no
2006-11-07 11:22:11 · answer #4 · answered by Bill Fang 3 · 0⤊ 0⤋