統計模型思維 第二課 Part 2(Excel 運算子及陣列運算)

Eugene Chang (張佑成)

November 17th 2024

# Excel 運算子(Operator) 請下載:[Lecture2 運算子範例](https://drive.google.com/uc?export=download&id=1dvzLbYBnG2Q6qkOQOtF-flMaDHcrX58j) --- ## Excel 運算子(Operator) 在 Excel 公式裡表達數學運算的符號 | 運算子 | 描述 | 範例 | |:--:|:------:|:------:| | + | 加法 | =3+2 | | - | 減法 | =5-3 | | * | 乘法 | =3*2 | | / | 除法 | =10/2 | | % | 百分比 | =20% | | ^ | 指數 | =2^3 | --- # 算數運算子:日期運算 在 Excel 裡,每一個日期的背後都對應到一個數字,其規則為: - 自 1900/01/00 開始過了多少日 - 1900/01/01 為 1 - 1901/01/01 為 366 - 但日期不能小於 0 -> Excel 裡的時間不得小於 1900/01/00 --- # Excel 運算子: 比較公式 Excel 除了數字上的運算,也可以**做比較** --- # 範例(寫出第一個比較式) ![](https://drive.google.com/uc?export=download&id=16vcRJEg10UclR70AVZ8sWkK7SBYeGvAq) --- # 範例(寫出第一個比較式) ![](https://drive.google.com/uc?export=download&id=1Quv8pbHhPkFWaS-uEjzLtrKuQjCit0cx) --- # 數學公式 vs 比較公式 1. 數學公式的輸入與輸出都是**數字** 2. 比較公式的輸出是**成立或不成立** --- # Excel 運算子: 比較運算子 | 運算子 | 描述 | 範例 | |:--:|:------:|:------:| | = | 相等 | =A1=B1 | | > | 大於 | =A1>B1 | | < | 小於 | =A1<B1 | | >= | 大於等於 | =A1>=B1 | | <= | 小於等於 | =A1<=B1 | | <> | 不等於 | =A1<>B1 | --- # Excel 運算子: 比較運算子 - 比較運算子會回傳一個布林值 (Boolean) --- # 布林值(Boolean) - 如果比較結為真,則回傳 TRUE - 如果比較結不為真,則回傳 FALSE --- # 比較運算子 注意 :比較運算子 可以放字串 。 - 英文的比較 (不分大小寫): a<b<c<d< ... <y<z - 字串內出現數則與一般比較相同 : 0<1<2<3< ... < 8<9 - 標點符號的比較 : 半形標點符號 < 全形標點符號 --- # 連結運算子 | 運算子 | 描述 | 範例 | |:--:|:------:|:------:| | & | 連結兩個文字 | ="你"&"好" | *注意在 Excel 公式内,要表達文字需要使用雙引號 “ ” 將文字括起來 --- # 參考運算子 | 運算子 | 描述 | 範例 | |:--:|:------:|:------:| | : | 範圍運算子,為兩個參照之間的所有儲存格產生一個參照 | =B1:B3 | | , | 聯集運算子,將多個參照結合成一個參照 | =SUM(A1,B1,C1) | | 空格 | 交集運算子 | = | --- # 範例 Excel 檔案 請下載:[Lecture2 - 邏輯函數範例](https://drive.google.com/uc?export=download&id=1ofceiZ5h3wqGg_6K7dqjnupWswdV_tWr) --- # Excel 函數(Function) 今天我們在用 Excel 時,都會有一些常見的運算,針對這些運算,微軟就把這些運算寫成一個個就像數學公式一樣的函數 --- # Excel 函數(Function) 舉例來説,Excel 内建了 `SUM()` 函數用來處理加總的運算: ![](https://drive.google.com/uc?export=download&id=1nx6vd_h7YnOPjxgc_gzdBnSaSNSmsZ1t) --- # 函數的使用方法 輸入函數名稱,函數就如同數學公式,需要輸入才有輸出: ``` =SUM(1, 2, 3) ``` 1,2,3 代表 SUM 函數的引數,可以想成數學公式需要帶入的數字, 不同的輸入之間可用 , 分開 --- # 函數的使用方法(例) ![](https://drive.google.com/uc?export=download&id=1nx6vd_h7YnOPjxgc_gzdBnSaSNSmsZ1t) --- # 邏輯函數 單純的比較式很難表達複雜的邏輯,因此,Excel 内建了一些好用的邏輯函數 --- # NOT 函數 取得**布林值的反值** ``` =NOT(布林值) ``` [官網文件](https://support.office.com/zh-tw/article/not-%E5%87%BD%E6%95%B8-9cfc6011-a054-40c7-a140-cd4ba2d87d77) --- # AND 函數 若所有引數為 TRUE, 則回傳 TRUE ``` =AND(引數1, 引數2, 引數3) ``` --- # AND 函數 若需要結合兩個條件的結果,例:條件1 與 條件2 都必須成立,就可以用 AND 函數表達 [官網文件](https://support.office.com/zh-tw/article/and-%E5%87%BD%E6%95%B8-5f19b2e8-e1df-4408-897a-ce285a19e9d9) --- # AND truth table(真值表) | A | B | AND(A, B) | | :----: | :-----------: | :---: | | True | True | True | | True | False | False | | False | True | False | | False | False | False | --- # OR 函數 若其中一個引數為 TRUE, 則回傳 TRUE ``` =OR(引數1, 引數2, 引數3) ``` --- # OR 函數 如果 A2 大於 1 OR 小於 100,即顯示 TRUE ``` =OR(A2>1,A2<100) ``` [官網文件](https://support.office.com/zh-tw/article/or-%E5%87%BD%E6%95%B8-7d17ad14-8700-4281-b308-00b131e22af0) --- # OR truth table(真值表) | A | B | OR(A, B) | | :----: | :-----------: | :---: | | True | True | True | | True | False | True | | False | True | True | | False | False | False | --- # AND vs OR AND 代表**而且**,例:條件1 **而且** 條件2都必須成立才會回傳 TRUE OR 代表**或許**,例:條件1 **或** 條件2其中一者成立才就回傳 TRUE --- # IF 函數 若我們在 Excel 會遇上一些條件或判斷,就可以使用 IF 函數寫出一個二分法的判斷式: ``` =IF(比較公式, 若比較公式結果是True會做的事, 若比較公式結果是False會做的事) ``` [官網文件](https://support.office.com/zh-tw/article/if-%E5%87%BD%E6%95%B8-69aed7c9-4e8a-4755-a9bc-aa8bbff73be2) --- # 練習三: 判斷 A > B > C --- # 陣列公式(Array Formula) --- # 陣列公式 請下載:[Lecture2 - 陣列 Excel 範例檔案](https://drive.google.com/uc?export=download&id=1eXGbcm6kXlHTAsYbanT6Lum5wZEpV-42) --- # 何爲陣列? 由**多個連續的儲存格所組成的範圍**,就是陣列(Array) ![](https://drive.google.com/uc?export=download&id=1glj5QhGOLJTyqu-3jRehs2nyfpA55kUH) --- # 爲何要在乎陣列? 有了陣列,就可以在 Excel 内,用虛擬的方式去表示一個數列 / 向量 / 序列 微軟官網教學:[連結](https://support.microsoft.com/zh-tw/office/%E9%99%A3%E5%88%97%E5%85%AC%E5%BC%8F%E7%9A%84%E8%A6%8F%E5%89%87%E5%92%8C%E7%AF%84%E4%BE%8B-7d94a64e-3ff3-4686-9372-ecfd5caa57c7) --- # 陣列的大小 如何表達一個陣列的大小? 其實就和表達**矩陣大小的方法一樣** --- # 陣列的大小 - 一個陣列包含 m 個 Row 與 n 個 Column - 下圖框起來的部分就是一個 4 x 2 大小的陣列 ![](https://drive.google.com/uc?export=download&id=1t93iuY2m2eVT1RsgI90-xeL2aaCqvybh) --- # 陣列的維度 - 注意縱向永遠是第一個維度 例:下圖是一個 1 x 5 的一維陣列 ![](https://drive.google.com/uc?export=download&id=113sCgI9p-lupAa1VmCmLLBbZi_Z23Ajp) --- # 陣列的維度 例:下圖是一個 6 x 1 的一維陣列 ![](https://drive.google.com/uc?export=download&id=1glj5QhGOLJTyqu-3jRehs2nyfpA55kUH) --- # 二維陣列 若一個陣列的**兩維長度都超過 1**,那該陣列就是一個**二維陣列** 例:下圖是一個 6 x 2 的二維陣列 ![](https://drive.google.com/uc?export=download&id=1Qbv80KVtWOn5A6SUlAL-9S1pYygKUUsq) --- # 二維陣列 有了二維陣列,就可以在 Excel 内,用虛擬的方式去表示一個矩陣 (Matrix) --- # 陣列運算 陣列公式是一種可對陣列中一或多個項目執行同樣運算的公式 --- # 陣列運算 舉例來説,若希望把兩個向量内,逐個元素進行相加,得出一個相對應元素相加的結果所組成的新向量: ![](https://drive.google.com/uc?export=download&id=1GCN-HNzyxFAcp0QcMiaZeu9MqVfmF-9z) --- # 陣列運算 1. 輸入公式: ![](https://drive.google.com/uc?export=download&id=1RE7x5ocjUevzbqMk3bYhsQsroEU5EEhB) --- # 陣列運算 2. 按下 Ctrl + Shift + Enter: ![](https://drive.google.com/uc?export=download&id=1sj9u_xfKFCXJgK2qw2HEQpcvUk_57pOb) --- # 陣列運算 - 注意 Excel 會在公式兩邊加上大括號字元 ({ }) - 陣列運算範圍内的每一個儲存格的公式都相同 ![](https://drive.google.com/uc?export=download&id=1S_QWwBJFm5uhDGCc7XIfMaNDX7V3Sjux) --- # 陣列運算的好處 - 保護資料,計算的結果不能被輕易修改 - 除錯容易(多個儲存格公用同一個公式,有錯誤一定是公式不對) - 效能快(計算的速度比下拉快很多) --- # 陣列運算與函數並用 如下圖,現在我們收到了一批訂單,想要知道訂單的總金額並填在合計的地方,要怎麼用呢? ![](https://drive.google.com/uc?export=download&id=180whRdGij7bTStMD3-Mv8M9XUWt2sZ8S) --- # 陣列運算與判斷式 現在我們有兩張表: - 一張顯示個電影院沒有折扣時的價格 - 一張顯示使用信用卡在該電影院消費是否會打折如果有折扣一律八五折 - 試試看用陣列加上IF() 函數完成經過折價後的價格表。 ![](https://drive.google.com/uc?export=download&id=1v0jO5x4U6pJDPlYQ-UVdudf-H06czpsU) ---

Thanks for Watching

Contact: yuyueugene84@gmail.com

Download PDF