(Excel)常用函數公式及操作技巧之六:
匯總計算與統計(二)
——通過知識共享樹立個人品牌。
統計數值大於等於80的單元格數目
在C17單元格中輸入公式:
=COUNTIF(B1:B13,">=80")
確認后,即可統計出B1至B13單元格區域中,數值大於等於80的單元格數目。
計算出A1里有幾個abc
A1: abc-ded-abc-def-abc-ded-ded-abc , 如何計算出A1里有幾個abc
公式
=(LEN(A1)-LEN(SUBSTITUTE(A1,"abc","")))/LEN("abc")
有條件統計
如何統計當A1<=15時,統計B列中<=8.5的累加值和個數,而>15時不進行統計?
個數:
=IF(A1>15,"",COUNTIF(B2:B10,"<=8.5"))
累加值(求和):
=IF(A1>15,"",SUMIF(B2:B10,"<=8.5"))
如何統計各年齡段的數量
需分別統計20歲以下、21-30歲、31-40歲、41-50歲、50歲以上年齡段的數量。
根據“出生日期”用以下公式,得到“自動顯示年齡”。
先將F列的出生日期設置為“1976年5月”格式,在G列公式為:
=DATEDIF(F2,TODAY(),"Y") (周歲,自動顯示年齡) =YEAR(TODAY())-YEAR(F2)
再根據年齡段:20歲以下、21-30歲、31-40歲、41-50歲、50歲以上,用以下公式,求出不同年齡段人數。
在J2公式為:
=SUMPRODUCT(($G$2:$G$34>$H1)*($G$2:$G$34<=$H2)*($C$2:$C$34=J$1)) {=SUM(($G$2:$G$34<=VALUE(MID(I2,1,2)))*1)}
或數組公式:
{=SUM(($G$2:$G$34<=VALUE(MID(I3,4,2)))*1)-SUM($J$2:J2)}
如何計算20-50歲的人數?
=COUNTIF(C3:C17,">=20")-COUNTIF(C3:C17,">50") =SUMPRODUCT((C3:C17>=20)*(C3:C17<=50)) =FREQUENCY(C3:C17,50)-FREQUENCY(C3:C17,19) {=SUM(COUNTIF(C3:C17,">="&{20,51})*{1,-1})}
如何統計40-50歲的人的個數
=countif(a:a,">40")-countif(a:a,">50") =SUM(COUNTIF(a:a,">"&{40,50})*{1,-1}) 數組公式{=sum((a1:a7>40)*(a1:a7<50))} =SUMPRODUCT((A1:A7>40)*(A1:A7<50))
要統計出7歲的女生人數
=COUNTIF(D2:D12,D2) =SUMPRODUCT((B2:B12="女")*(D2:D12=7))
統計人數
=COUNTA(A:A) =COUNTIF(A:A,"> ")
如何統計A1:A10,D1:D10中的人數?
=COUNTA(A1:A10,D1:D10)
如何讓EXCEL自動從頭統計到當前單元格
情況如下: C列要根據A列的內容來統計B列的數據,范圍從A1:An,即當A列中An有數據時,Cn自動根據An的值,統計B1:Bn的數據。
{=SUM(INDIRECT("B1:B" & LARGE((A1:A65535<>"")*(ROW(A1:A65535)),1)))}
統計人數
建議 |
提建議人員姓名 |
提建議人數 |
建議1 |
王、李、趙、孫、錢、胡 |
6 |
建議2 |
張、王、李、趙、孫、錢、胡 |
7 |
建議3 |
張、王、李、孫、錢、胡 |
6 |
=LEN(B2)-LEN(SUBSTITUTE(B2,"、",""))+1 =LEN(SUBSTITUTE(B2,"、",""))
統計人數
見表:
性別 |
年齡 |
男 |
6 |
女 |
35 |
男 |
3 |
男 |
55 |
男 |
21 |
男 |
53.5 |
女 |
55 |
女 |
56 |
男 |
65 |
女 |
45 |
女 |
53 |
男 |
51 |
如何計算20-50歲的人數?
=COUNTIF(C3:C17,">=20")-COUNTIF(C3:C17,">50") =SUMPRODUCT((C3:C17>=20)*(C3:C17<=50)) =FREQUENCY(C3:C17,50)-FREQUENCY(C3:C17,19) {=SUM(COUNTIF(C3:C17,">="&{20,51})*{1,-1})}
如何計算男20-50歲的人數?
=SUMPRODUCT((B3:B17="男")*(C3:C17>=20)*(C3:C17<=50))
求各分數段人數
90—100 =COUNTIF(B2:B43,">=90") 80—89 =COUNTIF(B2:B43,">=80")-COUNTIF(B2:B43,">=90") 70—79 =COUNTIF(B2:B43,">=70")-COUNTIF(B2:B43,">=80")
60—69 =COUNTIF(B2:B43,">=60")-COUNTIF(B2:B43,">=70") 50—59 =COUNTIF(B2:B43,">=50")-COUNTIF(B2:B43,">=60")
有什么方法統計偶數
例如:A1到E1有5個數如何統計着五個數中有幾個是偶數
A B C D E F
1 50 15 8 11 15 3
在F1中的3要用什么公式能統計出來
統計偶數的個數
{=COUNT(1/MOD(A1:E1-1,2))} {=Sum(Mod(a1:e1+1,2))}
將偶數轉化成奇數,再求奇數的個數。
請在編輯欄中選擇部分公式按F9觀察每一步的計算過程。
{=SUM(--((A1:F1)/2=INT((A1:F1)/2)))} =SUMPRODUCT((MOD(A1:E1,2)=0)*1) =SUMPRODUCT(1-MOD(A1:E1,2))
如何顯示
如果D2>20那E2就顯示$200、如果D2>30那E2就顯示$300依此類推
解答:=INT(D2/10)*100,當然,你的單元格格式設置成$格式就可以了。否則用,="$"&INT(D2/10)*100
則該單元格成字符型 。當然,你也可以用IF函數,但它有7層的限制。= IF (D2>30, "300",IF(D2>20,"200"))
工資統計中的問題
問題:表一和表二中的職工姓名相同,但不在同一個位置上。怎樣用公式求出表一中職工在表二中對應的工資、獎金和值班費的總額。要求,不能用表二中先加入一列,然后求和,再用公式導入表一的方法。我想知道能否在表一中用一個公式就可實現,而表二不動。
=SUMPRODUCT((表二!$B$3:$B$42=A3)*(表二!$C$3:$E$42)+(表二!$G$3:$G$42=A3)*(表二!$H$3:$J$42)) =IF(COUNTIF(表二!$B$3:$B$42,A3),SUMPRODUCT(VLOOKUP(A3,表二!$B$3:$E$42,{2;3;4},)),SUMPRODUCT(VLOOKUP(A3,表二!$G$3:$J$42,{2;3;4},))) =IF(ISERROR(MATCH(A3,表二!$B$3:$B$42,0)),SUM(OFFSET(表二!$G$2,MATCH(A3,表二!$G$3:$G$42,0),1,,3)),SUM(OFFSET(表二!$B$2,MATCH(A3,表二!$B$3:$B$42,0),1,,3))) =IF(ISERROR(VLOOKUP(A3,表二!$B$3:$F$42,4,0)),SUM(INDIRECT("表二!H"&MATCH(A3,表二!$G$3:$G$42,0)+2&":J"&MATCH(A3,表二!$G$3:$G$42,0)+2)),SUM(INDIRECT("表二!C"&MATCH(A3,表二!$B$3:$B$42,0)+2&":J"&MATCH(A3,表二!$B$3:$B$42,0)+2))) =IF(ISERROR(VLOOKUP(A3,表二!$B$3:$F$42,4,0)),VLOOKUP(A3,表二!$G$3:$J$42,4,0),VLOOKUP(A3,表二!$B$3:$F$42,4,0))
統計數據問題一例
如果我想統計50個數據中大於某個值的數據個數,(這個值是在使用時才輸入某個單元格的),請問用什么函數。 如數據單元格為A1:E10,值的單元格為A11。
1、使用下面的數組公式: {=SUM(IF($A$1:$E$10>$A$11,1))}
2、輸入以下函數: =COUNTIF(A1:E10,">"&A11)
根據給定的條件,對數據進行合計
實例: 姓名 件數 (姓名在B307-B313中;件數在C307-C313中)
李六 12
王武 50
李六 18
陳豐 187
李六 49
王武 135
陳豐 1584
目的: 對上面三個人的件數分別進行統計分析
步驟: 李六的: =SUMIF(B307:B313,B323,C307:C313)
王武的: =SUMIF(B307:B313,C323,C307:C313)
陳豐的: =SUMIF(B307:B313,D323,C307:C313)
姓名: 李六 王武 陳豐(分別在B323、C323、D323單元格中)
結果: 79 185 1771
十列數據合計成一列
=SUM(OFFSET($1,(ROW()-2)*10+1,,10,1))
統計漢字字符個數
中國 A1中"中國",A2中"人民",A3中是空白,A4中是"幸福",A5,A6中是空白
人民258
258
幸福
247大家好
中國147
函數 結果 說明
=SUMPRODUCT(LENB(ASC(A1:A6))-LEN(A1:A6)) 11 僅統計漢字字符個數 =SUMPRODUCT(LEN(A1:A6)) 23 如果還混雜有其它字符
關於取數
購進日期 |
付款期 |
7月5日 |
2007-8-25 |
6月5日 |
2007-7-25 |
7月18日 |
2007-9-15 |
7月26日 |
2007-9-15 |
注:我想在B列的付款期中得到這樣的結果:
付款期=(購進日期+45天),但我們的付款期只有每月15和25號,如果按購進日期加上45天后不正好是付款日,那就得再往后延到最近的一個付款日,也就是15或25號。
{=MIN(IF(DAY(A2+ROW($45:$70))={15,25},A2+ROW($45:$70)))} {=MIN(IF(DAY(A2+ROW($45:$70))={15,25},A2+ROW($45:$70),999999))} {=MIN(IF((DAY(A2+ROW($45:$67))=15)+(DAY(A2+ROW($45:$67))=25),A2+ROW($45:$67)))} =IF(DAY(A2+45)<15,TEXT(A2+60-DAY(A2+45),"mm月dd日"),TEXT(A2+70-DAY(A2+45),"mm月dd日")) =DATE(YEAR(A2+45),IF(DAY(A2+45)>25,MONTH(A2+45)+1,MONTH(A2+45)),IF(DAY(A2+45)<=15,15,IF(DAY(A2+45)<=25,25,15)))
統計單元格內不為空的格數
如下圖,怎么自動統計單元格內的“√”,而空白的單元格則不計入內?
=counta(a2:a31),下拉 =countif(a2:a31,"√") =COUNTIF(a2:a31,"<>")
自動將銷量前十名的產品代號及銷量填入表中
如:產品代號在“B”列,銷量在“C”列
=INDIRECT("b"&MATCH(ROW(A1),$D$2:$D$20,0)+1) =INDIRECT("c"&MATCH(ROW(A1),$D$2:$D$20,0)+1)
統計最大的連續次數
如圖,請問如何編寫公式求出A1到A10單元格中數字4連在一起的次數,本例中答案應為3(A1到A3)和2(A9到A10)。
[1] A1到A10單元格中, 數字4連在一起, 最大的連續次數, 公式為 :
{=LARGE(FREQUENCY(IF(A1:A10=4,ROW(A1:A10),""),IF(A1:A10<>4,ROW(A1:A10),"")),1)}
[2] 次大的連續長次數, 公式為 :
{=LARGE(FREQUENCY(IF(A1:A10=4,ROW(A1:A10),""),IF(A1:A10<>4,ROW(A1:A10),"")),2)}
3個“不重復”個數統計
=SUM(--IF(MATCH(B$2:B$21,B$2:B$21,0)=ROW(B$2:B$21)-1,B$2:B$21>B2))+1 =SUM(--(IF(FREQUENCY(B$2:B$21,B$2:B$21),B$2:B$21>B2)))+1 =SUM(--(FREQUENCY(IF(B$2:B$21>B2,B$2:B$21),B$2:B$21)>0))+1
在一列有重復的姓名中,如何統計出具體有幾人
如果第一個張三在A1單元格,在B1處輸入:
=IF(COUNTIF($A$1:A1,A1)>1,"",A1)
向下復制即可
用數組公式也可以解決呀:假設你要統計A1到A100可以這樣:
=sum(1/countif(a1:a100,a1:a100),然后按住crtl,shift,和回車就可以了。
計數的問題
這個例子主要是計數的問題:共有三列數據,分別統計每列字母的個數、每列有幾個不同的字母,最后把它們分別列出來。對每列字母個數統計,字符用COUNTA(),數字可以用COUNT()和COUNTA()。公式分別為:
=COUNT(A2:A12) =COUNTA(B2:B12) =COUNTA(C2:C12)
每列不相同的字母,公式分別為:
{=SUM(1/COUNTIF(A$2:A$12,A$2:A$12))} {=SUM(1/COUNTIF(B$2:B$12,B$2:B$12))} {=SUM(1/COUNTIF(C$2:C$12,C$2:C$12))}
分別列出來,公式分別為:
{=IF(SUM(1/COUNTIF(A$2:A$12,A$2:A$12))>=ROW(A1),INDEX(A$2:A$12,SMALL(IF(ROW(A$2:A$12)-1=MATCH(A$2:A$12,A$2:A$12,0),ROW(A$2:A$12)-1,"0"),ROW(A1))),"END")} {=IF(SUM(1/COUNTIF(B$2:B$12,B$2:B$12))>=ROW(B1),INDEX(B$2:B$12,SMALL(IF(ROW(B$2:B$12)-1=MATCH(B$2:B$12,B$2:B$12,0),ROW(B$2:B$12)-1,"0"),ROW(B1))),"END")} {=IF(SUM(1/COUNTIF(C$2:C$12,C$2:C$12))>=ROW(C1),INDEX(C$2:C$12,SMALL(IF(ROW(C$2:C$12)-1=MATCH(C$2:C$12,C$2:C$12,0),ROW(C$2:C$12)-1,"0"),ROW(C1))),"END")}
列1 |
列2 |
列3 |
1 |
m |
B |
2 |
n |
B |
3 |
m |
C |
1 |
n |
D |
1 |
m |
A |
2 |
m |
B |
3 |
n |
C |
2 |
n |
D |
1 |
m |
A |
2 |
n |
A |
1 |
m |
B |
對每列字母個數統計: |
||
11 |
11 |
11 |
每列不相同的字母有: |
||
3 |
2 |
4 |
它們分別是: |
||
1 |
m |
B |
2 |
n |
C |
3 |
END |
D |
END |
|
A |
|
|
END |
如何分班統計男女人數
姓名 |
班別 |
性別 |
高健麗 |
1 |
女 |
蔡美燕 |
2 |
女 |
張玉玫 |
3 |
女 |
蔡文文 |
4 |
女 |
陳嬌嬌 |
5 |
女 |
吳振宇 |
1 |
男 |
周婷婷 |
6 |
女 |
肖欣 |
6 |
女 |
梁麗寶 |
5 |
女 |
邱曉雯 |
4 |
女 |
李春梅 |
3 |
女 |
龍玉樺 |
2 |
女 |
阮梅英 |
1 |
女 |
梁光昕 |
2 |
男 |
… |
… |
… |
班別 |
男 |
女 |
總人數 |
1 |
29 |
45 |
74 |
2 |
30 |
44 |
74 |
3 |
30 |
44 |
74 |
4 |
31 |
43 |
74 |
5 |
30 |
44 |
74 |
6 |
30 |
45 |
75 |
男=SUMPRODUCT(($B$2:$B$446=$E2)*($C$2:$C$446=F$1)) 女=SUMPRODUCT(($B$2:$B$446=$E2)*($C$2:$C$446=G$1)) 男{=SUM(($B$2:$B$446=$E2)*($C$2:$C$446=$F$1))} 女{=SUM(($B$2:$B$446=$E2)*($C$2:$C$446=$G$1))} 男{=SUM(($B$2:$B$446=F2)*($C$2:$C$446=$G$1)*$D$2:$D$446)} 女{=SUM(($B$2:$B$446=F2)*($C$2:$C$446=$H$1)*$D$2:$D$446)}
增加d列,輸入公式:=B2&C2,合並數據后再利用countif公式對D列統計。
=COUNTIF($B$2:$B$446,E2)
在幾百幾千個數據中發現重復項
我的意思不是查找功能,那個我會用,比如有幾百個人的名字輸入單元格中,但我面對那么多名字真無法短時間內看出誰重復了,該如何辦?
假設判斷區域為A1:D10,格式/條件格式,選公式(不是數值),輸入:
=COUNTIF($A$1:$D$10,A1)>1
然后在格式中設置一個字體或圖案顏色,確定,這樣重復數據就變成了有色單元格。
統計互不相同的數據個數
例如,在 3 * 3 的區域中統計互不相同的數據個數,
1 2 3
3 2 1
1 2 0
結果應為 4 (4 個互不相同的數據)
數組公式
=sum(1/countif(a1:c3,a1:c3))
還可以公式:
=COUNT(IF(FREQUENCY(A1:C3,A1:C3),1))
多個工作表的單元格合並計算
=Sheet1!D4+Sheet2!D4+Sheet3!D4 更好的 =SUM(Sheet1:Sheet3!D4)
單個單元格中字符統計
假設 A1單元格中有數據"sdfsfjksfhweofiefondsfljsdfisdofjei"
如何用公式統計出A1單元格中有多個不重復的字符?
=SUMPRODUCT(--(LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(ROW(97:122)),""))=1))
數組公式
=SUM(IF(ISERROR(FIND(CHAR(ROW(97:122)),A1)),,1))
這個公式只適用單元中的字符為小寫字母,給個通用點的
=SUM(--(MATCH(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1),MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1),)=ROW(INDIRECT("1:"&LEN(A2))))) =SUM(IF(ISERROR(FIND(CHAR(ROW(97:122)),LOWER(A1))),,1))
數據區包含某一字符的項的總和,該用什么公式
=sumif(a:a,"*"&"某一字符"&"*",數據區)
函數如何實現分組編碼
對數值進行分組編碼
=A2&TEXT(COUNTIF($A$2:A2,A2),"00")