做了秦路老師在線課程里的一個用excel做數(shù)據(jù)分析的作業(yè),寫此篇以回顧總結(jié)我解題時所用方法、思路與秦路老師不同的地方,以及從秦路老師的講述中我學(xué)到的分析思路以及方法技巧。
數(shù)據(jù)源為一份餐飲數(shù)據(jù),大概有6000行,有一些數(shù)據(jù)已被我做了些許處理:

秦老師所普及數(shù)據(jù)分析好習(xí)慣:做數(shù)據(jù)分析之前先將原始數(shù)據(jù)復(fù)制一份,已保留原始數(shù)據(jù)。
第一題:全國點評數(shù)最高的飯店是哪家?
這道題我做的時候第一反應(yīng)就是用函數(shù)法取查找,我想到了四種函數(shù)公式去解這道題:
1.經(jīng)典的INDEX函數(shù)與MATCH函數(shù)匹配查找:index(A:D,match(max(D:D),D:D,0),3);
2.用LOOKUP函數(shù)取查找:lookup(max(D:D),D:D,C:C);
3.用LOOKUP函數(shù)的經(jīng)典查找方式:lookup(1,0/(D:D=max(D:D)),C:C)這種函數(shù)的第二參數(shù)運算結(jié)果返回一串有錯誤值和0組成的數(shù)組,而0將會被當(dāng)做查找到的值返回;
4.利用VLOOKUP函數(shù)的逆向查找公式查詢:vlookup(max(D:D),if({1,0},D:D,C:C),2,0);函數(shù)中嵌套的IF函數(shù)會生成一個源數(shù)據(jù)的D列在前,C列在后的兩列數(shù)據(jù),相當(dāng)于將D列和C列位置調(diào)換。
這四個函數(shù)公式基本涵蓋了EXCEL中所有的查找相關(guān)函數(shù),相比較而言INDEX和MATCH函數(shù)這種匹配查找方式適用性更廣。
當(dāng)然第二種用LOOKUP函數(shù)的直接查找返回了錯誤的結(jié)果,是因為LOOKUP函數(shù)也同VLOOKUP函數(shù)一樣是不能進(jìn)行逆向查詢的,這也是我通過這道題學(xué)到的一個知識點,也暴漏了LOOKUP函數(shù)的局限性。
秦路老師思路:直接將點評數(shù)列降序排列,從而直接得到了點評數(shù)最高的飯店是三寶粥鋪。
從這道題得出的經(jīng)驗就是:用最方便快捷的方法去解決問題,而不是刻意追求難度。這樣才能提高效率。當(dāng)然嘗試用各種方法解決問題對作為學(xué)習(xí)者的我是很重要的,只不過從這道題暴漏出我的不足就是一拿到題就去實踐所有的能想到的解題方法,而沒有去想哪個方法是最簡單高效的。解題思路上有缺陷。
第二題:哪個城市的飯店人均口味最好?
這道題的解題思路很簡單:插入數(shù)據(jù)透視表,將城市拖到行標(biāo)簽,口味拖到數(shù)值,值匯總依據(jù)選擇平均值,就可得出如下圖所示結(jié)果,可以看出人均口味最好的城市是上海:

秦老師普及數(shù)據(jù)分析好習(xí)慣:不要在透視表上處理數(shù)據(jù),而是將透視表選擇性粘貼數(shù)值到其他區(qū)域進(jìn)行處理。
第三題:類型為川菜的店中有多少帶“辣”字的?
這道題我想到了三種計數(shù)函數(shù):
1.用COUNTIFS函數(shù)計數(shù):countifs(B:B,“川菜”,C:C,“*辣*”);
2.用SUMPRODUCT函數(shù)的計數(shù)功能:sumproduct((B:B=“川菜”)*(C:C=“*辣*”)*1);
3.用SUM函數(shù)的計數(shù)功能:{=sum((B:B=“川菜”)*(C:C=“*辣*”)*1)}。
但后兩個公式都沒算出正確結(jié)果,我檢查出的原因是通配符*的使用導(dǎo)致了返回錯誤結(jié)果,通配符在這兩個公式中的使用方式是錯誤的。
SUM函數(shù)公式的花括號是由于SUM在此背景下的應(yīng)用為數(shù)組函數(shù)、EXCEL中公式輸入完成后按快捷鍵Ctrl+Shift+Enter會自動生成花括號。
秦老師的方法是:插入空白列,用Find函數(shù):find(“辣”,C2,1),返回辣字在飯店名稱中的位置,然后用篩選功能篩選掉錯誤值和篩選出川菜,剩下有數(shù)字的單元格個數(shù)就是川菜類型中帶辣的飯店名稱的個數(shù)。
第五題:口味、環(huán)境、服務(wù)評價都在8.0以上的飯店有幾家?他們在哪個城市的占比最高?
這道題包含兩個問題,第一個問題評分均在8.0以上的飯店有幾家,我用計數(shù)函數(shù)COUNTIFS,SUMPRODUCT函數(shù)和SUM函數(shù)的計數(shù)功能分別進(jìn)行求解:
countifs(G:G,“>=8.0”,G:G,“>=8.0”,I:I,“>=8.0”)
sumproduct((G:G>=8.0)*(H:H>=8.0)*(I:I>=8.0))
{=sum((G:G>=8.0)*(H:H>=8.0)*(I:I>=8.0))}
SUM和SUMPRODUCT返回的結(jié)果比COUNTIFS返回的結(jié)果大1,原因是SUM和SUMPRODUCT將我的標(biāo)題行也跟8.0進(jìn)行了比較,而在excel中文字、字母、邏輯值TRUE和FALSE都是比數(shù)值大的,所以標(biāo)題行也被這兩個函數(shù)拿去跟數(shù)值8.0進(jìn)行了比較,而COUNTIFS函數(shù)不會將文字與數(shù)值進(jìn)行比較。
這些飯店在每個城市的占比利用數(shù)據(jù)透視表取做,很簡單。
第六題:上海地區(qū)中各個類型飯店服務(wù)前五名?
利用數(shù)據(jù)篩選功能將上海地區(qū)的數(shù)據(jù)篩選出來復(fù)制粘貼在一張新的sheet中然后用透視表進(jìn)行處理得到結(jié)果:

秦老師講方法:將上海的數(shù)據(jù)單獨粘貼在一個SHEET后,以類型為主要關(guān)鍵字,服務(wù)為次要關(guān)鍵字,對數(shù)據(jù)表排序,也就是先根據(jù)服務(wù)列排序,再根據(jù)類型列排序:然后用IF函數(shù)返回各個飯店在該類型中的名詞,用篩選功能選出前五名就得到了結(jié)果,這里IF函數(shù)的使用較為巧妙:

第七題:沒有評價的飯店有幾家?
這道題本也是道條件統(tǒng)計題,但是去統(tǒng)計有數(shù)據(jù)行中點評列為空值的個數(shù),如果我在函數(shù)公式中選中整列去統(tǒng)計空值的個數(shù)會將沒有數(shù)據(jù)行的空值在統(tǒng)計在內(nèi),而如果要選中有數(shù)據(jù)行區(qū)域,估計拖拽選中五千多行數(shù)據(jù)就得一分鐘。
所以有一個簡單的方法就是選中點評列,可以在窗口右下方看到有個計數(shù)4510,這個數(shù)據(jù)就是該列非空值的單元格個數(shù),然后單擊整表中某個單元格,單后雙擊單元格下邊框,表格會迅速呈現(xiàn)最后一行數(shù)據(jù),可以看出總共有5864行數(shù)據(jù),所以沒有評價的飯店數(shù)量=5864-4510+1


第八題:將人均價格劃分成0-50、50-100、100-150、150-200、200+這幾個檔次,問各個城市分別有幾家,其中占比又是多少?
第一步先將人均價格劃分檔次,利用VLOOKUP函數(shù)可實現(xiàn)分組功能:

然后插入透視表進(jìn)行分析得出結(jié)果:
