全部練習題 / 數學

同時「量大」又「出貨快」的訂單有幾張(SUMPRODUCT)

困難 數學
題目說明
提示 0/4
官方解法 2
–
測試案例
1
2
3
重設
提交
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
正在載入互動式試算表...
正在準備儲存格資料與公式求解引擎
○ 就緒 請在反白的目標儲存格輸入公式,然後點「提交」。

題目

題目說明

採購要找出「超過 100 件、又在 5 天內出貨」的訂單。件數在 B2:B6、出貨天數在 C2:C6,門檻寫在表上(E1、E2)。把數量填進 Both 儲存格 F3。

一條公式要同時處理兩個條件——不能用輔助欄,也不能把兩個計數相加。

題目資料

用表格檢視整份資料(可選取、可複製)
這道題的資料表
ABCE
1OrderUnitsDays to shipUnits > 100
2SO-11204Days < 5
3SO-2809Both
4SO-33003
5SO-4607
6SO-52102

觀念解析

SUMPRODUCT((B2:B6>100)*(C2:C6<5)) 先把兩個 TRUE/FALSE 陣列相乘。相乘就是 AND(1*1 = 1,任何一邊是 0 就是 0),SUMPRODUCT 再把乘積加總,得到同時成立的列數。COUNTIFS 用條件字串做同一件事,比較式簡單時更好讀。

解題思路

答案寫在 F3。送出時我們會換 3 組輸入重跑你的公式,寫死數字一定過不了 —— 公式必須跟著儲存格走。

  1. 目標儲存格是 F3
  2. 先做出兩個 TRUE/FALSE 陣列:B2:B6>100 與 C2:C6<5
  3. 相乘之後只留下兩邊都成立的列
  4. 公式形狀:=SUMPRODUCT((?)*(?))

官方解法

展開 2 種解法(建議先自己試一次)

解法 1:兩個布林陣列相乘

=SUMPRODUCT((B2:B6>100)*(C2:C6<5))

SO-1(120, 4)、SO-3(300, 3)、SO-5(210, 2)都成立,1+0+1+0+1 = 3。相乘是 AND,SUMPRODUCT 負責計數。

解法 2:COUNTIFS 搭配兩個數值條件

=COUNTIFS(B2:B6, ">100", C2:C6, "<5")

用條件字串得到同樣答案。門檻單純時 COUNTIFS 更好讀;條件裡需要函數(LEFT、MONTH、ISNUMBER)時,SUMPRODUCT 才寫得出來。

函數指南

相關練習

常見問題

怎麼統計同時符合兩個數值條件的列?

=SUMPRODUCT((範圍1>a)*(範圍2<b)),或 =COUNTIFS(範圍1, ">"&a, 範圍2, "<"&b)。兩者都只算全部條件都成立的列。

為什麼 SUMPRODUCT 一定要那些括號?

少了括號,比較式的結合方式會不同:SUMPRODUCT(B2:B6>100) 只會評估第一個元素。把每個比較括起來,才能先得到完整陣列再相乘。