圖表
表格
樞紐分析
樞紐分析及假設分析
數學補習班管理試算表(學生版)
工作表已載入「數學補習班」的學生資料。請依照教學任務分析資料,並在指定儲存格輸入公式。
✏️ 注意:公式名稱須使用英文,並可使用下列運算符(+, -, *,
/, <, >, =, <>,
<=, >=, &)。每條公式均須以 = 開始。
支援 XLOOKUP。捲到工作表下方或右方邊緣時,系統會自動加入更多列/欄。
若要保留本工具的全部設定,請匯出 JSON 備份;XLSX 適合與 Excel 交換基本資料及公式。
🔍 自動檢查區
完成每一部分後,可按相應的「檢查」按鈕即時核對結果。系統會按題目檢查數值、指定公式或實際操作設定。
🧷 輸入的公式會自動儲存在本機瀏覽器;使用同一瀏覽器重新開啟網頁時,進度仍會保留。
-
部分 A:認識數據與凍結窗格(A1:AD9)
💡 請依次完成四個操作;紅/綠燈會檢查工作表目前及曾經實際套用的凍結設定,而不是檢查儲存格內容。
功能位置:檢視 → 凍結窗格。第三步必須先選取 C2。
🔴 未完成:凍結頂端列
🔴 未完成:凍結首欄
🔴 未完成:在 C2 依目前儲存格凍結
🔴 未完成:取消凍結窗格
-
部分 B:學費計算(I, J, K, L 欄)
💡 提示:
I 欄以「堂數 × 每堂收費」計算原價;J 欄以 IF 判斷堂數是否大於 10;
K 欄先以 1 - 折扣率 求出應付比例,再以 ROUND 四捨五入;
L 欄以 INT 將 K 欄的結果向下取整。先完成第 2 列,再使用填滿手柄複製公式。
✅ 參考答案(以第 2 列為例):
I2:=E2*F2
J2:=IF(E2>10,0.075,0)
K2:=ROUND(I2*(1-J2),1)
L2:=INT(K2)
然後將公式向下填滿 I2:I9、J2:J9、K2:K9、L2:L9。
-
部分 C:成績判斷(M ~ T 欄)
💡 提示:
比較運算會直接產生 TRUE 或 FALSE。先以 IF 判斷是否合格,
再使用 >、<、<= 完成單一條件;
NOT 用於反轉真假值,AND 要求所有條件成立,OR 則只要求其中一項成立。
✅ 參考答案(第 2 列):
M2:=IF(H2>=50,TRUE,FALSE)
N2:=H2>75
O2:=NOT(G2)
P2:=AND(N2,G2)
Q2:=H2<50
R2:=OR(Q2,O2)
S2:=H2<=55
T2:=D2<>"Basic"
-
部分 D:StuID 文字處理(U ~ Z 欄)
💡 提示:
U、V、Z 欄分別使用 LEFT、LEN、RIGHT;
W 欄以 FIND 找出 "-" 的位置,X 欄再以該位置加 1 作為 MID 的起始位置;
Y 欄以 & 串連 StuID、Name 及 Class,固定文字須放在雙引號內。
✅ 參考答案(第 2 列):
U2:=LEFT(A2,2)
V2:=LEN(A2)
W2:=FIND("-",A2)
X2:=MID(A2,W2+1,2)
Y2:=A2&" - "&B2&" ("&C2&")"
Z2:=RIGHT(A2,2)
-
部分 E:統計與排名(B17:B23, C17:C19, AA2:AA9)
💡 提示:
B17~B21:COUNTA、AVERAGE、MAX、MIN、COUNT;
C17~C19:SUM、COUNTIF、SUMIF;
B22 使用 / 計算平均折後學費;B23 使用第二個 = 比較兩個數值是否相等;
AA2 開始使用 RANK;排名的資料範圍須以絕對參照 $H$2:$H$9 固定,避免向下填滿時發生偏移。
✅ 參考答案:
B17:=COUNTA(A2:A9)
B18:=AVERAGE(H2:H9)
B19:=MAX(H2:H9)
B20:=MIN(H2:H9)
C17:=SUM(K2:K9)
C18:=COUNTIF(D2:D9,"Basic")
C19:=SUMIF(D2:D9,"Basic",K2:K9)
B21:=COUNT(H2:H9)
B22:=C17/B17
B23:=C18=B17
AA2:=RANK(H2,$H$2:$H$9),然後向下填滿 AA2:AA9。
-
部分 F:查找+隨機+SQRT(AB2:AB9, AC2:AC9, AD2:AD9)
💡 提示:
AB 欄以目前列的 Level 作為查找值,在 A14:A16 尋找相符項目,再由 B14:B16 傳回每堂費用;
AC 欄使用不需參數的 RAND();AD 欄以 SQRT 計算同一列 H 欄分數的平方根。
✅ 參考答案(第 2 列):
AB2:=XLOOKUP(D2,$A$14:$A$16,$B$14:$B$16)
AC2:=RAND()
AD2:=SQRT(H2)
然後將公式向下填滿 AB2:AB9、AC2:AC9、AD2:AD9。
🔸 部分 A 會按實際凍結窗格設定自動更新紅/綠燈;新工作簿原本的「未凍結」狀態不會被當作已完成「取消凍結」。
練習指引(全部在同一張表完成)
部分 A:認識數據與凍結窗格
- 觀察標題列 A1:H1,說明各欄所代表的資料:StuID、Name、Class、Level、Lessons、Fee_per_Lesson、Paid?、Test_Score。先辨別文字、數值及布林值三種資料類型。
-
觀察 A2:H9,並根據欄位標題回答:
a. 哪些學生屬於 Pro 等級?
b. 哪些學生的 Paid? = FALSE(未付款)?
c. 哪位學生的上課堂數最多?
- 按「前往 A1:AD9」,再向右捲動至 AD 欄,體驗標題列及左側學生資料離開畫面後,閱讀大型資料表會較困難。凍結窗格只影響畫面瀏覽,不會移動、刪除或改寫資料。
- 選擇「檢視 → 凍結窗格 → 凍結頂端列」,向下捲動至第 17 列附近,確認第 1 列標題仍然可見;待第一盞燈轉綠後才繼續。
- 選擇「檢視 → 凍結窗格 → 凍結首欄」,向右捲動並確認 A 欄的 StuID 仍然可見。
- 選取 C2,再選擇「檢視 → 凍結窗格 → 凍結窗格(依目前儲存格)」。向下或向右捲動時,第 1 列及 A:B 欄應保持可見;這表示系統凍結了所選儲存格上方的列及左方的欄。
- 最後選擇「檢視 → 凍結窗格 → 取消凍結窗格」,再次捲動並比較前後效果。四個操作必須依以上次序完成,紅/綠燈才會全部轉綠。
部分 B:學費計算(按指定方法建立公式)
- I1、J1、K1、L1 已設有標題:
Total_Fee、Discount_Rate、Discounted_Fee、Int_Fee。
- 在 I2 輸入運算公式,以「堂數 × 每堂費用」計算原價學費(本格毋須使用函數),然後將公式填滿 I2:I9。
- 折扣規則:堂數大於 10 時,折扣率為 7.5%;否則折扣率為 0。
在 J2 使用一個 IF 函數計算折扣率,再填滿 J2:J9。請先分辨邏輯測試、條件成立值及條件不成立值。
- 在 K2 使用
ROUND 函數,根據 I2 的總學費及 J2 的折扣率計算折後學費,並四捨五入至小數點後 1 位,再填滿 K2:K9。
- 在 L2 使用
INT 函數,將 K2 的結果向下取整,再填滿 L2:L9;比較 K、L 兩欄中含小數的資料列。
部分 C:成績判斷(拆開 AND / OR / NOT)
- M1~T1 已有標題:
Pass?、HighScore?、Unpaid?、Good_Student?、Below50?、Need_FollowUp?、Borderline(<=55?)、NonBasic?。
- 合格線 50 分,50 分或以上當作合格。在 M2 使用
IF 判斷是否合格(TRUE 或 FALSE),填滿 M2:M9。
- 在 N2 用比較運算符
> 單獨判斷 Test_Score 是否 > 75(HighScore?),填滿 N2:N9。
- 在 O2 使用
NOT 判斷是否「未付款」(Paid? = FALSE),填滿 O2:O9。
- 定義 Good_Student?:高分 而且 已付款。在 P2 使用
AND,配合 N2 及 G2,填滿 P2:P9。
- 在 Q2 用比較運算符
< 判斷分數是否 < 50,填滿 Q2:Q9。
- 定義 Need_FollowUp?:分數 < 50 或未付款。在 R2 使用
OR,配合 Q2 及 O2,填滿 R2:R9。
- 在 S2 使用
<= 判斷分數是否 ≤55(Borderline),填滿 S2:S9。
- 在 T2 使用
<> 判斷 Level 是否「不是 Basic」,填滿 T2:T9。
部分 D:StuID 文字處理(按指定文字函數建立公式)
- U1~Z1 已有標題:
Class_from_ID、ID_Length、Dash_Pos、Seat_No、Full_Label、Seat_RIGHT。
- 在 U2 使用
LEFT 擷取 StuID 的前兩個字元(班別),填滿 U2:U9。
- 在 V2 使用
LEN 計算 StuID 的字元數目,填滿 V2:V9。
- 在 W2 使用
FIND 找出 StuID 中 "-" 的位置(由左至右的字元序號),填滿 W2:W9。
- 在 X2 使用
MID,以 W2+1 作為開始位置,擷取兩個字元作座號,填滿 X2:X9。
- 在 Y2 用
& 串連文字,組合出 StuID & " - " & Name & " (" & Class & ")",填滿 Y2:Y9。
- 在 Z2 使用
RIGHT,由 StuID 直接擷取座號,填滿 Z2:Z9,並與 X 欄比較。
部分 E:統計與排名
- A17:A20 已有標題:
Total_Students、Average_Score、Max_Score、Min_Score。
- 在 B17 使用
COUNTA 計算 A2:A9 的非空白儲存格數目,從而求出學生人數。由於 StuID 是文字,COUNT 不適用於此欄。
- 在 B18 使用
AVERAGE 計算 H2:H9 的平均分。
- 在 B19 使用
MAX 找出 H2:H9 最高分;在 B20 使用 MIN 找出最低分。
- 在 C17 使用
SUM 計算 K2:K9(Discounted_Fee)的總和。
- 在 C18 使用
COUNTIF 計算 D2:D9 中 Level 為 "Basic" 的學生人數。
- 在 C19 使用
SUMIF 計算 Level 為 "Basic" 的學生折後學費總和;條件範圍使用 D2:D9,加總範圍使用 K2:K9。
- AA1 已寫上
Overall_Rank,在 AA2 使用 RANK 根據 H2:H9 全體分數排名(1 = 最高分),填滿 AA2:AA9。
- 在 A21:A23 分別輸入
Numeric_Score_Count、Average_Discounted_Fee 及 All_Basic?(新工作簿已預先提供)。在 B21 使用 COUNT 計算 H2:H9 內數值分數的數目。
- 在 B22 以
C17/B17 計算每名學生的平均折後學費。這一格用於練習除法運算符 /,毋須使用函數。
- 在 B23 以
C18=B17 判斷全體學生是否均屬 Basic。公式開首的第一個 = 表示開始輸入公式;中間的第二個 = 才是「等於」比較運算符。
部分 F:查找與隨機(XLOOKUP, RAND, SQRT)
- A13:B16 是「Level 收費表」(第 13 列為標題列)。在 AB2 使用
XLOOKUP:以 D2 的 Level 作查找值、A14:A16 作查找陣列、B14:B16 作傳回陣列,再填滿 AB2:AB9。
- AC1 已設為
Random_No。在 AC2 使用 RAND 產生一個大於或等於 0 且小於 1 的隨機數,再填滿 AC2:AC9。
- AD1 已設為
Score_SQRT。在 AD2 使用 SQRT 計算同一列 Test_Score 的平方根,再填滿 AD2:AD9。
完成以上所有部分後,你應該已經用過:
常數:TRUE, FALSE;
運算符:+, -, *, /, <, >, =, <>, <=, >=, &;
函數:INT, RAND, SQRT, ROUND, AND, NOT, OR, LEFT, LEN, MID, RIGHT,
AVERAGE, COUNT, COUNTIF, MAX, MIN, RANK, SUM, SUMIF, FIND, XLOOKUP, IF。
延伸函數:COUNTA(計算非空白儲存格,包括文字)。