位置:首頁 > 軟件操作教程 > 辦公軟件 > Excel > 問題詳情

實用技巧:excel如何統(tǒng)計產(chǎn)品批號

提問人:周麗平發(fā)布時間:2021-07-08

大家仔細觀察一下就不難發(fā)現(xiàn),在這個六位的批號中,其實是由兩部分組成的,左邊四位是生產(chǎn)日期的年和月,右邊兩位就是該產(chǎn)品在同一個月內(nèi)生產(chǎn)的次數(shù),為了便于理解,我們對在同一個月中多次生產(chǎn)的商品用不同顏色標注出來,之后再看就清楚了。

image.png

以丹參為例,雖然一共出現(xiàn)了四次,但是在4月份只有三次,因此對應的批號分別為200401-200403,所以這個問題的本質(zhì)還是編號。

搞清楚了這一點,我們再來分析問題該如何解決。

正如前面分析的,批號是由兩部分組成的,第一部分很容易,可以直接用TEXT函數(shù)從生產(chǎn)日期中得到,公式為:TEXT(A2,"yymm")。

image.png

TEXT函數(shù)的教程之前分享過很多篇,不再細說了,公式中的"yymm"表示將日期按照兩位年兩位月的格式顯示結(jié)果。

問題的難點在于第二部分,同一個月內(nèi)出現(xiàn)的次數(shù),如果有一個輔助列的話,COUNTIFS就可以輕松解決,公式為:=COUNTIFS($D$2:D2,D2,$B$2:B2,B2)

image.png

公式中有兩個條件,日期(其實是年月)和品名,關于COUNTIFS的用法,可以參閱往期教程《同樣是countifs函數(shù),為什么同事卻使得比你好?原因在這里!》,這里要重點說明的是條件區(qū)域的寫法,$D$2:D2和$B$2:B2中,只對區(qū)域的起始單元格鎖定,這樣得到的就是累計多條件計數(shù)的結(jié)果。學習更多技巧,請收藏部落窩教育excel圖文教程。

image.png

如果條件區(qū)域是整列的話,得到的次數(shù)就不是累計的,而是最終出現(xiàn)的總次數(shù),通過上圖中的結(jié)果很容易搞明白這一點。

現(xiàn)在的問題是,如果沒有這個輔助列,還能用COUNTIFS嗎?

答案是不行!

因為COUNTIFS的特點就是條件區(qū)域只能使用單元格區(qū)域,而不能使用其他公式。

image.png

如果要使用公式作為條件區(qū)域的話,會彈出一個提示框:

image.png

同樣的情況在COUNTIF和SUMIF、SUMIFS中都是類似的,只能使用單元格區(qū)域,這一點很重要。

因此,如果要在不使用輔助列的情況下解決這個問題,就必須用到SUMPRODUCT函數(shù)。

公式看起來會稍微有點長,=SUMPRODUCT((TEXT($A$2:A2,"yymm")=TEXT(A2,"yymm"))*($B$2:B2=B2))

image.png

這個公式就是在沒有輔助列的情況下實現(xiàn)了多條件的累計計數(shù),公式中的TEXT($A$2:A2,"yymm")=TEXT(A2,"yymm")是對日期(年月)進行判斷,$B$2:B2=B2是對品名進行判斷,分別得到兩組邏輯值,兩組邏輯值相乘后由SUMPRODUCT函數(shù)相加就能得到計數(shù)結(jié)果。

這個函數(shù)的用法可以參考之前的教程《加了*的 SUMPRODUCT函數(shù)無所不能》。

至此,最終的公式也就呼之欲出了,第一部分由TEXT得到年月,第二部分如果直接使用SUMPRODUCT得到的計數(shù)結(jié)果還不行,因為計算結(jié)果必須是兩位數(shù),如果不足兩位的要在前面補零,這就還得用到TEXT函數(shù),這種用法的格式是TEXT(要處理的數(shù)字, "00"),有幾個0就表示得到的結(jié)果是幾位數(shù),因此最終的公式就是:

=TEXT(A2,"yymm")&TEXT(SUMPRODUCT((TEXT($A$2:A2,"yymm")=TEXT(A2,"yymm"))*($B$2:B2=B2)),"00")

結(jié)束語:今天講解的對學習函數(shù)來說是非常有幫助的,公式中包含了很多重要的知識點,總結(jié)如下。

1.TEXT函數(shù)中日期代碼y和m的用法;

2.TEXT函數(shù)中關于指定數(shù)字位數(shù)的用法;

3.SUMPRODUCT函數(shù)實現(xiàn)多條件累計計數(shù)的用法,重點是條件區(qū)域中$符號的用法;

4.COUNTIF(S)、SUMIF(S)等函數(shù)中對于區(qū)域的要求,這一點算是一個隱藏的知識點吧。

繼續(xù)查找其他問題的答案?

回復(0)
返回頂部