新四季網

excel如何求和再求平均值(Excel從實例出發來談談多條件求平均值或求和的思路是什麼)

2023-04-16 02:27:55 1

童鞋們可能都知道多條件求平均值或求和的函數是averageifs和sumifs,因為這兩個函數就是excel專門用來進行多條件計算的。

但在今天這個示例中,當使用averageifs來求平均值,卻遇到了一些麻煩。

下面我們輸入一個averageifs函數公式:

=AVERAGEIFS(B2:B184,A2:A184,A169,B2:B184,">"&LARGE(B2:B184,11))

得到的結果與前面一張圖的結果並不一致,是錯誤的結果,這是因為在公式中,第2個條件」排名前10「,使用了運算符,大於LARGE(B2:B184,11),含義是大於排名前10的分數。

但這句話有一個易錯點,即它是大於所有考生中排名前10的分數,重點是「所有」。

而我們的目的是計算B班的考生前10的平均分數。

因此從某種角度來講,「B班排名前10的平均分」,兩個條件具有一定的從屬性,即第2個條件是在第1個條件的基礎上來進行計算,而averageifs函數中的多個條件設置是並列的,並不存在所謂的從屬關係。

那麼,在這樣的情形下,我們要怎麼來求解平均值?

解題的思路是什麼?

分為兩個部分。

第一個部分是多條件的設置。

第二個部分則是求平均的函數設置。

我們先寫下完整的公式,結合公式來講解兩個部分的含義。

完整公式為:{=AVERAGE(LARGE(N(A2:A184=A2)*B2:B184,ROW($1:$10)))}

在這個公式中,第一部分條件設置是LARGE(N(A2:A184=A2)*B2:B184,ROW($1:$10)),第二部分是AVERAGE函數設置。

我們知道average是計算平均值的函數,但它並不是專用來計算指定條件下的平均值。

但有一點,average函數的參數,是一組數據,這個組數據可以是單元格區域也可以是一個數組。那麼,如果我們將符合條件的所有數據組合成一個數組,那是不是也能達到按條件求平均的目的!?

因此,現在有了思路的第一步,即第二部分的函數設置,之所以將函數設置設為第二部分內容,是因為多條件的設置才是關鍵,是整個公式中的精髓所在。

對於函數的選擇,其實都是比較淺易的,在數學和統計函數中,求平均值,則使用average函數,求和則使用sum函數,求最大值用max,計數用count等等。

確定了使用的函數,我們就要思考如何將多條件轉換為該函數的參數值。

在作者的《excel100個常見函數快速入門》中,第1節就介紹了邏輯函數的使用。

邏輯函數的作用是判斷一個表達式是否成立,成立則返回true,換算成數值則等於1,不成立會返回false,換算成數值等於0.

而條件是可以通過判斷得到一個true或者false的結果,也就是大家常說的條件判斷。

所以某校B班這個條件,很明顯可以設置為「A2:A184=A2」,A2:A184是條件的數據列,A2是條件的參照值,也就是等於A2時為true,不等於時為false。這裡之所以輸入A2,是因為A2就等於「B班」,所以直接引用了單元格地址,當然我們也可以手動輸入「B班」的文本。

因此它的結果是一串true和false組成的數組數據。

接下來是B班前10的分數。

這句話我們可以這樣來分解,首先計算B班所有考生的分數,在從中選擇前10的分數。

而計算B班所有考生的分數,我們可以寫下這個表達式:(A2:A184=A2)*B2:B184

從上面的說明我們知道A2:A184=A2的結果是true和false組成的一組邏輯值,用數值來表示就是1和0組成的一組數據,那麼1和0乘以另一組數據,會得到不同的結果,0乘以任意數據則等於0,而1乘以任意數值則會等於該數值。

所以實質上,這個表達式其實是條件的兩步走,第1步是等於B班的條件設置,第2步是返回得到分數值的條件轉換。

符合B班的考生的結果是1,乘以B2:B184單元格區域中的分數,則返回該分數值,由於符合B班的條件結果有多個true值1,因此與B列數據相乘便得到了多個分數,而組成一個數組。

得到了B班所有考生的分數,再使用large函數選取指定排名的數據。

表達式為:LARGE(N(A2:A184=A2)*B2:B184,ROW($1:$10))

我們忽略表達式中的N函數,即「LARGE((A2:A184=A2)*B2:B184,ROW($1:$10))」。

(A2:A184=A2)*B2:B184是數據區域,ROW($1:$10)是要計算第幾個最大值的數據。

這裡又使用了row函數來運算得到一個從1到10的數組,作為large函數的第2參數,表示計算第1大到第10大的值。

於是它的結果也會得到(A2:A184=A2)*B2:B184結果中的第1到第10的一個分數數組。

large函數具體的語法解釋和用法,可以參照作者在專欄中的講解。

那回到開頭所言:

但有一點,average函數的參數,是一組數據,這個組數據可以是單元格區域也可以是一個數組。那麼,如果我們將符合條件的所有數據組合成一個數組,那是不是也能達到按條件求平均的目的!?

現在我們已經得到了一個符合班級、分數和排名條件的數組,便可以直接使用average函數來求平均了。

但需要注意的一點是,當一個數組作為它的一個參數,是一個數組公式,因此需要三鍵結束,才能得到正確結果。

綜上所述,進行多條件求平均的思路是,首先確定當前情境需要使用的函數,求平均則average函數,然後進行多條件的設置,並將其轉換為一個可以進行運算的數組。同時也要考慮某個條件是否可以通過其他途徑來代替,比如這裡排名前10,並沒有設置成一個條件,而是使用了large函數來進行取值。

多條件的設置和轉換,在表達式中的表現就是一個判斷條件乘以另一列數據,這是一個比較固定的表達方式。

當我們添加一個條件,B班男生排名前10的平均分。

公式為:

{=AVERAGE(LARGE((A2:A184=A2)*(B2:B184="男")*C2:C184,ROW($1:$10)))}

條件多了一個「=男生」,我們直接在公式中再乘以一個條件「B2:B184="男"」,如果還需要添加一個條件,則可以再乘以一組條件,不能忘記的是記得最後乘以返回的數值區域,使條件得到轉換而獲得一個可運算的數組。

,
同类文章
葬禮的夢想

葬禮的夢想

夢見葬禮,我得到了這個夢想,五個要素的五個要素,水火只好,主要名字在外面,職業生涯良好,一切都應該對待他人治療誠意,由於小,吉利的冬天夢想,秋天的夢是不吉利的
找到手機是什麼意思?

找到手機是什麼意思?

找到手機是什麼意思?五次選舉的五個要素是兩名士兵的跡象。與他溝通很好。這是非常財富,它擅長運作,職業是仙人的標誌。單身男人有這個夢想,主要生活可以有人幫忙
我不怎麼想?

我不怎麼想?

我做了什麼意味著看到米飯烹飪?我得到了這個夢想,五線的主要土壤,但是Tu Ke水是錢的跡象,職業生涯更加真誠。他真誠地誠實。這是豐富的,這是夏瑞的巨星
夢想你的意思是什麼?

夢想你的意思是什麼?

你是什​​麼意思夢想的夢想?夢想,主要木材的五個要素,水的跡象,主營業務,主營業務,案子應該抓住魅力,不能疏忽,春天夢想的吉利夢想夏天的夢想不幸。詢問學者夢想
拯救夢想

拯救夢想

拯救夢想什麼意思?你夢想著拯救人嗎?拯救人們的夢想有一個現實,也有夢想的主觀想像力,請參閱週宮官方網站拯救人民夢想的詳細解釋。夢想著敵人被拯救出來
2022愛方向和生日是在[質量個性]中

2022愛方向和生日是在[質量個性]中

[救生員]有人說,在出生88天之前,胎兒已經知道哪天的出生,如何有優質的個性,將走在什麼樣的愛情之旅,將與生活生活有什么生活。今天
夢想切割剪裁

夢想切割剪裁

夢想切割剪裁什麼意思?你夢想切你的手是好的嗎?夢想切割手工切割手有一個真正的影響和反應,也有夢想的主觀想像力。請參閱官方網站夢想的細節,以削減手
夢想著親人死了

夢想著親人死了

夢想著親人死了什麼意思?你夢想夢想你的親人死嗎?夢想有一個現實的影響和反應,還有夢想的主觀想像力,請參閱夢想世界夢想死亡的親屬的詳細解釋
夢想搶劫

夢想搶劫

夢想搶劫什麼意思?你夢想搶劫嗎?夢想著搶劫有一個現實的影響和反應,也有夢想的主觀想像力,請參閱週恭吉夢官方網站的詳細解釋。夢想搶劫
夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂什麼意思?你夢想缺乏異常藥物嗎?夢想缺乏現實世界的影響和現實,還有夢想的主觀想像,請看官方網站的夢想組織缺乏異常藥物。我覺得有些東西缺失了