在 Excel 中如果想要在一個儲存格範圍中,計算含有特定字元的儲存格個數,該如何處理?
例如:在下圖中的各報頭條新聞中,每一個頭條新聞儲存格的最後會有新聞來源,如何計算各個新聞來源的數量呢?
【公式輸入】
儲存格D2:{=SUM(NOT(ISERROR(SEARCH(C2,$A$2:$A$30)))*1)}
這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵。
複製儲存格D2,貼至儲存格D2:D4。
【原理解釋】
SEARCH(C2,$A$2:$A$30):在儲存格範圍陣列中,以 SEARCH 函數找尋儲存格C2內容,如果含有該字串,則傳回找到的字串所在的位置;如果找不到則傳回錯誤值訊息 #VALUE。(即沒有傳回錯誤訊息者為有包含指定的字串)
ISERROR(SEARCH(C2,$A$2:$A$30)):利用 ISERROR 函數判斷 SEARCH 函數的結果是否有錯誤,並傳回 True/False 的陣列。
NOT(ISERROR(SEARCH(C2,$A$2:$A$30))):利用 NOT 函數將上式中的 True/False 結果反相為 Fasle/True。(將有包含指定字串結果傳回 True,沒有包含指定字串結果傳回 False。)
NOT(ISERROR(SEARCH(C2,$A$2:$A$30)))*1:藉由乘以 1 的運算,可以將 True 轉換成 1,而 False 轉換成 0。
最後以 SUM 函數統計 1 的個數,即為儲存格範圍中有包含指定字串的個數。
文章標籤
全站熱搜

您好,您的這篇文章真的幫助很大,先在此感謝您^^ 但是此公式我使用中有遇到一個困難就是無法順利顯示計算出的數字, 照著您的使用說明"陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵。" 按完之後此公式會像文字一樣顯示在儲存格中而無法作用, 後來我試著拿掉大括號, 結果顯示為0, 但是在函數功能列中卻可以清楚看到他計算出正確數字, 卻無法顯示在儲存格中, 所以我有點不知道自己的操作少了甚麼步驟, 再麻煩您賜教~ 非常感謝
當你輸入=XXX公式XXX後,直接按Ctrl+Shift+Enter鍵,公式中會直接產生 { 和 },請您再試試!
順利解決~再次感謝^^
請問 若要計算包含 "民"或"中時" 2個特定字元之儲存格個數, 公式應如何修正?
請參考 http://isvincent.pixnet.net/blog/post/43469344
請問 如果我統計完數量 要將重複的物件刪除 但保留其數量 應該如何修正?
您的blog真是太棒了, 每次工作上有需要...來您這找就對了!
謝謝鼓勵,希望有幫上您的忙。
請問我要用EXCEL將以下這些數字貼上去,自動接數字3個浩為一組貼上每一個格子要怎設定阿002,003,004,005,006,007,008,009,011,012,013,014,015,016,017,018,019,020,021,022,023,024,025,026,027,028,035,036,037,038,039,040,041,042,043,044,045,046,047,048,049,051,059,060,061,064,083,084,085,086,087,088,089,090,091,092,093,094,095,096,097,098,099,100,101,102,103,104,105,106,108,109,110,111,112,113,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,134,135,136,137,138,140,141,145,150,151,152,164,165,166,167,168,169,170,171,172,173,174,175,176,177,714,715,716,717,718,719,720,721,729,733,734,735,736,737,738,178,179,180,181,182,183,184,185,186,187,188,189,190,191,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,221,222,223,224,225,226,227,228,229,234,235,236,246,253,254,255,256,257,277,278,279,280,281,282,286,287,288,291,292,293,305,103,306,320,321,322,323,324,325,326,327,328,329,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,350,351,369,370,371,372,373,374,375,376,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,416,417,418,419,420,421,422,423,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,501,502,503,504,505,506,523,524,525,528,529,530,531,532,533,538,539,542,543,544,546,547,548,549,550,551,552,555,557,562,563,564,565,566,567,572,574,575,579,580,581,591,592,593,594,595,596,597,598,599,600,605,606,607,615,616,618,619,620,623,624,636,637,641,642,643,644,645,652,653,654,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,683,684,685,688,689,691,692,693,706,707,709,710,711,712,713,714,715,716,717,718,719,720,721,729,733,734,735,736,737,738,739,740,741,742,743,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,836,837,838,839,840,841,842,843,844,845,846,847,202,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,935,936,937,952,953,954,961,962,963,964,966,967,968,969,970,971,972,973,974,975,982,983,987,988,992,993
請參考:http://isvincent.pixnet.net/blog/post/45109214
您好,感謝您的無私,造福大家.想請問如果在google的雲端上,想抓跨工作表的範圍,但卻顯示都是0,不知道能否請您看一下該如何修正?萬分感謝. =ArrayFormula(SUM(NOT(ISERROR(SEARCH(B2,ImportRange("網址","工作表1!$j72:$j89"))))*1)) 其中 B2指的是姓名 ImportRange("網址","工作表1!$j72:$j89")指的是另一工作表的範圍.而網址我是用https://docs.google.com/之後,在/edit#gid=......之前中間的這段.
請參考:http://isvincent.pixnet.net/blog/post/46090834
一篇2013年的文章,到今天還是救了我一命,謝謝你>(_ _)<
謝謝你光臨我的網站。
*****
*****
您好,您的文章真的幫了我很大的忙,非常感謝! 另外想請問一下,如果B欄有數字,比如說閱讀該篇新聞的人數,而我在D欄的加總數字為B欄的加總,也就是:「閱讀中時電子報的閱讀人數總和」,請問該怎麼寫公式?我有試著將這篇文章的公式結合SUMIF,但卻出現公式錯誤的訊息,請教一下該怎麼做?
我剛剛用SUMPRODUCT 的公式做出來了!不過還是想聽聽看大大的意見,這樣的情況下可不可以用SUMIF呢? 謝謝!
用SUMPRODUCT可以做到SUMIF的效果: 以下這幾篇都是用SUMIF和SUMPRODUCT達到相同結果: https://isvincent.pixnet.net/blog/post/46690846 https://isvincent.pixnet.net/blog/post/41215029 https://isvincent.pixnet.net/blog/post/45683839 https://isvincent.pixnet.net/blog/post/45303371 https://isvincent.pixnet.net/blog/post/35869569 https://isvincent.pixnet.net/blog/post/40477295 https://isvincent.pixnet.net/blog/post/47841054 https://isvincent.pixnet.net/blog/post/48045663
您好,感謝您的教學,向來令人受益良多,最近因為類似統計需求,試著使用這個公式發現,對單一儲存格能有效計算(結果為1),但針對同一欄多個儲存格卻產生錯誤,仔細確認好像是search函數的問題,似乎無法對同一欄裡多個儲存格運算含有目標字串的儲存格數量,可以請您指導和建議嗎?感謝!
你好.請問,一個儲存格有很多個日期,我想計算指定假日或日期有幾天,EX.同一個儲存格裡"109/07/01,109/07/04,109/07/04,109/07/05,109/07/11,...",要計算出現指定日期"109/07/01,109/07/04",有幾天,若有重覆,也是計算2天. 請問如何解套,感謝指導