EXCEL進階課堂 · 案例析 持續推送!在工作當中,我們會遇到各種具體的問題,有許多問題具有典型代表性。進階君把這些案例提煉出來,通過清晰明了的分析思路和操作步驟,試圖給小夥伴們帶來啟發和思考,更好地解決工作任務,提高工作效率,不再做不停加班的表哥,表姐。歡迎各位小夥伴轉發、點讚、討論,更歡迎私信獲取練習素材,刻意練習才能學有收穫。
這是 EXCEL進階課堂 · 案例析 的第3篇教程。
因為疫情,許多高校開始了線上教學,大部分老師都自稱淪為了」十八線男女主播「。在種種自黑當中,老師對於學生線上學習的效果都比較擔心,不知道連在校學習都要老師監督的學生們,在線上學習時到底有什麼樣的表現。
某高校組織了一次問卷調查,發現有460名學生明確表示在線學習困難,學習非常吃力,無法跟上教學進度。領導們想了解這些學生具體在哪些課程上學習存在問題,於是要求進行細化調查。負責此項工作的小譚老師設計了這樣的統計表格。
圖1 統計表設計
進階君認為:這個表格設計是非常不規範的,因為後續的查詢,篩選,統計是非常困難的。
果不其然,具體細化的統計工作結束後,小譚老師得到了這樣的一張統計表。
圖2 統計表部分內容
他突然發現,這樣的數據上來以後,根本無法按課程查詢,無法進行相關的統計工作,這可如何向領導回復呢?思考很久,他沒有想到解決辦法,只好向進階君私信求救。
這個已經運用的數據表,在設計時沒有充分考慮到後續的使用情況,所以顯得特別隨意和不規範。那麼規範的設計應該如何的呢?
圖3 規範的統計表設計
根據數據後續使用的需求,每個課程應該是單獨的一行記錄,圖3為規範的統計表設計。
現在的問題解決目標是:將不規範的數據表變為規範的數據表,即將現有的數據(圖4)整理為規範數據表(圖5):
圖4 不規範數據表
圖5 規範數據表
如何才能把不規範的數據表整理為規範的數據表呢?
進階君思考了一下,從工作效率和準確度兩個維度思考,準備動用VBA代碼來實觀。
第一步:在sheet2中建立規範的數據表表頭。
第二步:在sheet2中插入命令按鈕。
插入命令按鈕的前提是需要調出 開發工具 這個功能選項卡。調用方法,請查看進階君以前的教程。
首先:把開發模式調整為設計模式。在設計模式下,只是完成代碼編寫,不能進行代碼運行。
接著:選擇 命令按鈕。
然後:在sheet2空白區域畫出命令按鈕,大小隨意。
第三步:對命令按鈕的單擊事件進行編碼。
雙擊命令銨扭,注意:此時是在設計模式下。會彈出代碼編寫窗口。
在命令銨扭的單擊事件中,編寫代碼:
為了方便小夥們應用,進階君將代碼放出:
Private Sub CommandButton1_Click() Dim i As Integer &39;記錄源數據記列 Dim k As Integer &39;記錄整理數據的列 k = 3 For i = 3 To 440 &39;源數據中需要整理的列 If (Sheet1.Cells(i, j)) <> &34; Then &39;將不需要整理的數據寫入一行前面部分 Sheet2.Cells(k, t) = Sheet1.Cells(i, t) Next t Sheet2.Cells(k, 7) = Sheet1.Cells(i, j) &39;整理的數據行號增加一行 End If Next j Next iEnd Sub
第四步:執行代碼。
首先:保存代碼,然後關閉編寫代碼窗口。
接著:把開發工具當中的設計模式關閉。變為非黃顯示即可。
然後:單擊按鈕。效果如下動圖所示:
運行效果動圖
到此為止,我們成功地挽救了這個不規範的數據表,得到了想要的數據結果。
進階君在這裡需要說明,解決這個問題的方法有很多。如果小夥伴還有更好、更簡單的方法,歡迎給進階君留言討論。
為方便小夥伴們學習,進階君將原始素材共享出來,獲取素材的方法:
第一步:關注 Excel進階課堂。
第二步:私信 Excel進階課堂,因為設定的是自動回復,所以內容一定要準確
私信內容:練一練
第三步:根據得到信息打開網盤,找到 案例分析03 挽救不規範數據表 工作簿 自行下載