半導體企業內的數位轉型課程筆記-1-Excel
製程整合單位的數位轉型課程架構與概念-Excel

前言:Microsoft應用程式的界面邏輯
在一系列筆記之前,我們可以透過應用程式的概念去了解這個程式大致的功能,
如此一來就可以很容易的理解一個介面,這樣的話即使更新或者是其他程式,
例如把這個想法套到Excel和PBI上面,都可以很快的上手,而之後我們用VSCode也是一樣的概念。
- 上方導覽:用於控制主視窗內容項目及搜尋
例如: Word中的File, Home, Format

- 左方導覽:用於控制整個應用程式的設定,或切換主視窗內容
例如: Outlook中的切換郵件內容(主視窗內容)的郵件選單

- 下方狀態:主視窗視覺設定,或簡要系統設定
例如: Excel中的縮放,巨集執行狀態。或是VSCode中的程式語言版本等等。

- 右方導覽:主視窗的小部件細項控制
例如: PowerPoint中的圖片選項,Excel中的座標軸控制選項等。

為什麼從excel開始講,excel有什麼好講?
我覺得在企業內推動數位轉型的時候,最大的阻力是資料來源,有各式各樣的資料來源需要標準化,
簡單來說,電腦要讀取的資料,和人類讀取的資料角度,是有很大的不同。
假如一開始就轉換成電腦讀的資料,意思是標準化、正規化的資料,很多問題就會迎刃而解。
如果想要讓一般同仁具有此概念的話,使用excel了解資料的本質是很重要的,
Excel的本質,就是一個易於操作的資料表,而不瞭解資料表的基礎概念的話,同仁常常拿一份巢狀的報表,或者是結構異常複雜的報表,想要轉換成Power BI或使用Python進行分析,那是十分困難。
我們在使用公司資料的時候,從資料庫取出的資料,通常呈現的會是標準化過的資料,而我們進行的加工與合併,就是反正規化的結果,但無論如何這些資料都會保持column & row的關係,像excel 最原始的結構一樣,不會有像財務報表一般的合併儲存格、在儲存格中同時填入單位與數字的狀況。


因此,當我們需要分析資料的時候,首先最基礎的就是把資料的人類閱讀方便部分消除,包含顏色,合併儲存格等,再進行整理。 那這樣的基本步驟,最方便的就是使用excel 轉換,所以,熟練地使用excel公式處理資料是相當重要的。
在資料庫領域,正規化與反正規化是兩個有著不同概念的資料設計過程,用於優化資料庫的結構和效能。以下是這兩者的詳細解釋:
資料庫中的正規化、標準化(Normalization)
定義:資料庫中的標準化(Normalization)是一種設計概念,旨在將資料分成不同的表格以避免冗餘(重複)並確保資料的完整性。透過將數據拆分為小而專門的表格來減少數據的不一致性,並使用外鍵(Foreign Keys)在表格間建立關聯。
目標:
-
減少資料冗餘,優化資料儲存效能。
-
確保資料一致性,避免重複或異常資料。
-
補充 - 常見的標準化形式:
現在大部分資料庫遵守到第三正規形,因為過於標準化會造成效能負擔,當然有更多正規的形式,有興趣的朋友可以自行上網查詢補充資料。
- 第一正規形(1NF):每個表格中的欄位必須只包含單一值,即「原子性」。
- 第二正規形(2NF):符合1NF,並且所有非主鍵欄位必須完全依賴於主鍵。
- 第三正規形(3NF):符合2NF,並且所有非主鍵欄位必須只依賴於主鍵,而不依賴於其他非主鍵欄位。
- BCNF(Boyce-Codd Normal Form):比3NF更嚴格,用於解決某些特例。
比如說,假設我們有一個包含學生資料的表格,包括學生姓名、課程名稱和老師名字。通過標準化,我們可以將此表格分解為三個表:學生表、課程表 和 老師表,並使用關聯來連接它們。這樣可以避免老師或課程名稱重複出現在多行中。
雖然資料標準化具有對數據關係更好的約束性,但也可能導致數據關係表增加而令資料庫IO更易繁忙。
資料庫中的反正規化(Denormalization)
定義:資料庫中的反正規化(Denormalization)是標準化、正規化的相反過程。它將已標準化的表格進行合併,以便在查詢時減少表格之間的連結,從而提高讀取效能。正規化通常會帶來一定程度的資料冗餘,但可以加快查詢速度。
目標:
- 提高查詢效率,減少複雜查詢的執行時間。
- 簡化某些高頻率查詢,以提升應用程式效能。
應用場景:
- 當查詢頻繁且涉及多表連結時,正規化有助於提高查詢速度。
- 在資料倉儲中,通常更傾向於正規化,以快速查詢資料。
例子:以一個包含訂單資訊的資料庫為例,若頻繁查詢顧客名稱和地址,可以將顧客資訊合併到訂單表中,儘管這會導致某些顧客信息重複儲存,但可提高查詢效能。
總結
- 標準化:是一種將資料分解為多個表以消除冗餘、提升一致性的過程。適合於強調資料完整性和一致性的情境。
- 反正規化:是一種將已標準化的資料表進行合併、引入冗餘的過程,以提升查詢效率。適合於查詢頻繁且需要快速讀取的情境。
在資料的儲存時,選擇標準化或反正規化,取決於應用需求,例如資料的一致性需求和查詢效能等。
必須學會的公式
Excel內含了基礎的資料處理邏輯,我們可以從這邊開始學習,例如
- and, or
- sum, average, count, counta: 計算非空格資料
- if, countif, sumif
- vlookup
- concat/ concatenate 連接
- 快速比較: 儲存格A = B,會直接回傳True/False
Excel巨集撰寫與使用
由於Excel巨集是一個很大的議題,因此只列出一些我遇到的觀念問題
- 程式碼放sheet和放module的不同?
- sheet 只作用在那一個sheet
- ThisWorkbook: 作用在目前的worksheet
- module: 可以給不同的sheet使用的功能
- Option Explicit: 強制每個變數都需要宣告型態的設定