本文將說明 Microsoft Excel 中 DCOUNTA 函數的公式語法及使用方式。
描述
計算清單或資料庫的記錄欄位 (欄) 中,符合您所指定條件的非空白儲存格。
field 引數是選擇性的。 如果省略 field,則 DCOUNTA 會計算資料庫中符合準則的所有記錄。
語法
DCOUNTA(database, field, criteria)
DCOUNTA 函數語法具有下列引數:
-
Database 必要。 這是組成清單或資料庫的儲存格範圍。 資料庫是相關資料的清單,其中相關資訊列為記錄,資料欄則為欄位。 清單的第一列會包含每一個資料欄的標籤。
-
Field 選擇性。 指出函數中所使用的資料欄。 輸入以雙引號括住的欄標籤,如 "樹齡" 或 "收益",或是代表欄在清單中所在位置的號碼 (無雙引號),如 1 代表第一欄,2 代表第二欄,依此類推。
-
Criteria 必要。 這是含有您指定條件的儲存格範圍。 您可以使用任何的範圍做為準則引數,但範圍之中至少需含有一個欄標籤,而欄標籤之下至少需有一個儲存格,以指定該欄的準則。
註解
-
您可以使用任何的範圍做為準則引數,但範圍之中至少需含有一個欄標籤,而欄標籤之下至少需有一個儲存格,以指定該欄的準則。
例如,範圍 G1:G2 中儲存格 G1 的欄位標籤為「收入」,而儲存格 G2 為金額 $10,000,您可以先將這個範圍命名為「符合收入」,然後在資料庫函數中使用該名稱做為準則引數。
-
雖然準則範圍可以在工作表中的任何位置,但是請勿把準則範圍置於清單的下方。 如果您新增更多資訊到清單中,則新的資訊將會新增至清單之下的第一列。 如果清單下方不是空白列,那麼 Excel 就沒有辦法加入新的資訊。
-
確定準則範圍沒有與清單重疊。
-
如要在資料庫的整個欄中執行此作業,請在準則範圍的欄標籤之下插入一空白行。
範例
請在下列表格中複製範例資料,再將之貼到新 Excel 活頁簿中的儲存格 A1。 若要讓公式顯示結果,請選取公式,按 F2,然後再按 Enter。 如有需要,您可以調整欄寬來查看所有資料。 若您將下列任何樣本複製到 Excel,請務必選取本表格中的所有儲存格,包括最左上角的儲存格。
樹種 |
高度 |
樹齡 |
收益 |
利潤 |
高度 |
="=蘋果" |
>10 |
<16 |
|||
="=梨子" |
|||||
樹種 |
高度 |
樹齡 |
收益 |
利潤 |
|
蘋果 |
18 |
20 |
14 |
105.0 |
|
梨子 |
12 |
12 |
10 |
96.0 |
|
櫻桃 |
13 |
14 |
9 |
105.0 |
|
蘋果 |
14 |
15 |
10 |
75.0 |
|
梨子 |
9 |
8 |
8 |
76.8 |
|
蘋果 |
8 |
9 |
6 |
45.0 |
|
公式 |
描述 |
結果 |
|||
=DCOUNTA(A4:E10, "利潤", A1:F2) |
計算欄 A 中,高度 >10 且 <16 之 "蘋果" 的列數 (1)。 只有列 8 符合這三個條件。 |
1 |
準則範例
-
當您在儲存格中輸入 =文字時,Excel 將解譯其為公式並嘗試進行計算。 若要輸入 =文字而不使 Excel 嘗試進行計算,請使用下列語法:
=''= 輸入項目 ''
其中輸入項目是您想要尋找的文字或數值。 例如:
您在儲存格中輸入的內容 |
Excel 的評估與顯示 |
="=季正霖" |
=季正霖 |
="=3000" |
=3000 |
-
當您篩選文字資料時,Excel 並不會區分大小寫字元。 但是,您可以使用公式執行區分大小寫的搜尋。
下列各節會提供複雜準則的範例。
單一欄中包含多個準則
布林值邏輯: (銷售人員 = "季正霖" 或銷售人員 = "巫百勝")
如果要在單一欄中尋找符合多個準則的列,請直接將準則輸入至各準則範圍的下一列。
在下面的資料範圍 (A6:C10) 中,準則範圍 (B1:B3) 將用於計算「銷售人員」欄中包含 "季正霖" 或 "巫百勝" 的列。
|
銷售人員 |
|
="=季正霖" |
||
="=巫百勝" |
||
|
||
類別 |
銷售人員 |
銷售額 |
飲料 |
唐祖安 |
$5,122 |
Meat |
季正霖 |
$450 |
農產品 |
巫百勝 |
$6,328 |
農產品 |
季正霖 |
$6,544 |
公式 |
描述 |
結果 |
'=DCOUNTA(A6:C10,2,B1:B3) |
計算 A6:C10 中,符合列 2 或列 3 中之 "銷售人員" 條件的列數 (3)。 |
=DCOUNTA(A6:C10,2,B1:B3) |
多個欄中包含多個準則,所有準則必須為 true
布林值邏輯: (類型 = "農產品" 且銷售額 > 2000)
若要尋找符合多個欄中多個準則的列,請在準則範圍的同一列中輸入所有的準則。
在下面的資料範圍 (A6:C12) 中,準則範圍 (A1:C2) 將用來計算「類型」欄中,所有包含 "農產品",且「銷售額」欄中數值大於 $2,000 的列。
類別 |
銷售人員 |
銷售額 |
="=農產品" |
>2000 |
|
類別 |
銷售人員 |
銷售額 |
飲料 |
唐祖安 |
$5,122 |
Meat |
季正霖 |
$450 |
農產品 |
巫百勝 |
$935 |
農產品 |
季正霖 |
$6,544 |
飲料 |
巫百勝 |
$3,677 |
農產品 |
季正霖 |
$3,186 |
公式 |
描述 |
結果 |
'=DCOUNTA(A6:C12,,A1:C2) |
計算 A6:C12 中,符合列 2 條件 (="農產品" 且 >2000) 的列數 (2)。 |
=DCOUNTA(A6:C12,,A1:C2) |
多個欄中包含多個準則,任何準則皆可以為 true
布林值邏輯: (類型 = "農產品" 或銷售人員 = "季正霖")
如果要尋找在多個欄中符合多個準則,且當中任何準則可以為 true 的列,請將準則輸入不同的準則範圍列。
在下面的資料範圍 (A6:C10) 中,準則範圍 (A1:B3) 將顯示「類型」欄中所有包含 "農產品" 的列,或包含 "季正霖"的列
類別 |
銷售人員 |
|
="=農產品" |
||
="=季正霖" |
||
類別 |
銷售人員 |
銷售額 |
飲料 |
唐祖安 |
$5,122 |
Meat |
季正霖 |
$675 |
農產品 |
巫百勝 |
$937 |
農產品 |
巫百勝 |
|
公式 |
描述 |
結果 |
'=DCOUNTA(A6:C10,"銷售額",A1:B3) |
計算 A6:C10 中,符合 A1:C3 中任一條件的列數 (2),其中 "銷售額" 欄位不是空的。 |
=DCOUNTA(A6:C10,"銷售額",A1:B3) |
多組準則,每組準則包含多個欄的準則
布林值邏輯: ( (銷售人員 = "季正霖" 且銷售額 > 3000) 或 (銷售人員 = "巫百勝" 且銷售額 > 1500) )
如果要尋找符合多組準則,且每組包含多個欄的準則,請在每一列個別輸入每組準則。
在下面的資料範圍 (A6:C10) 中,準則範圍 (B1:C3) 將用於計算「銷售人員」欄中包含 "季正霖" 且「銷售額」欄中數值大於 $3,000 的列,或「銷售人員」欄中包含 "巫百勝" 且「銷售額」欄中數值大於 $1,500 的列。
類別 |
銷售人員 |
銷售額 |
="=季正霖" |
>3000 |
|
="=巫百勝" |
>1500 |
|
類別 |
銷售人員 |
銷售額 |
飲料 |
唐祖安 |
$5,122 |
Meat |
季正霖 |
$450 |
農產品 |
巫百勝 |
$6,328 |
農產品 |
季正霖 |
$6,544 |
公式 |
描述 |
結果 |
'=DCOUNTA(A6:C10,,B1:C3) |
計算 A6:C10 中,符合 B1:C3 中所有條件的列數 (2)。 |
=DCOUNTA(A6:C10,,B1:C3) |
多組準則,每組準則包含一個欄的準則
布林值邏輯: ( (銷售額 > 6000 且銷售額 < 6500 ) 或 (銷售額 < 500) )
如果要尋找符合多組準則、每組準則皆包含一欄之準則的列,請在同一欄名中包含多個欄。
在下面的資料範圍 (A6:C10) 中,準則範圍 (C1:D3) 將用於計算「銷售額」欄中含有介於 $6,000 至 $6,500 間的數值,或數值小於 $500 的列。
類別 |
銷售人員 |
銷售額 |
銷售額 |
>6000 |
<6500 |
||
<500 |
|||
類別 |
銷售人員 |
銷售額 |
|
飲料 |
唐祖安 |
$5,122 |
|
Meat |
季正霖 |
$450 |
|
農產品 |
巫百勝 |
$6,328 |
|
農產品 |
季正霖 |
$6,544 |
|
公式 |
描述 |
結果 |
|
'=DCOUNTA(A6:C10,,C1:D3) |
計算符合列 2 條件 (>6000 且 <6500) 或列 3 條件 (<500) 的列數 (2)。 |
=DCOUNTA(A6:C10,,C1:D3) |
尋找只共用部分字元的文字值準則
若要尋找只共用部分字元的文字值,請執行下列一或多項動作:
-
輸入一至多個不包含等號 (=) 的字元,以尋找欄中包含文字值且所開頭字元符合輸入字元的列。 例如,如果輸入季做為準則,Excel 會搜尋到 "季正霖"、"季大衛" 和 "季彼得"。
-
使用萬用字元。
下列的萬用字元可以做為比較準則。
使用 |
尋找 |
? (問號) |
任何單一字元 例如,sm?th 可以找到 "smith" 及 "smyth" |
* (星號) |
任何數目的字元 例如,*east 可以找到 "Northeast" 和 "Southeast" |
~ (波狀符號) 後面跟著 ?、* 或 ~ |
問號、星號或波狀符號 例如,fy91~? 可以找到 "fy91?" |
在下面的資料範圍 (A6:C10) 中,準則範圍 (A1:B3) 將用於計算「類型」欄中以「肉」為開始的列,或「銷售人員」欄中第二個字元等於「百」的列。
類別 |
銷售人員 |
銷售額 |
肉類 |
||
?百* |
||
類別 |
銷售人員 |
銷售額 |
飲料 |
唐祖安 |
$5,122 |
Meat |
季正霖 |
$450 |
農產品 |
巫百勝 |
$6,328 |
農產品 |
季正霖 |
$6,544 |
公式 |
描述 |
結果 |
'=DCOUNTA(A6:C10,,A1:B3) |
計算符合 A1:B3 中任何一個條件的列數 (3)。 |
=DCOUNTA(A6:C10,,A1:B3) |
使用公式結果建立準則
您可以使用由公式計算出來的數值做為準則。 請記住以下要點:
-
公式必須評估為 TRUE 或 FALSE。
-
由於您所使用的是公式,請以正常的方式輸入公式,不要以下列方式輸入運算式:
=''= 輸入項目 ''
-
請不要將欄標籤當做準則標籤來使用;您可以將準則標籤保留空白,也可以在範圍中使用不是欄標籤的標籤 (下面範例中的「算數平均值」與「完全符合」)。
如果您在公式中使用欄標籤,而不是相對儲存格參照或範圍名稱,Excel 會在包含準則的儲存格中顯示錯誤值 (例如 #NAME? 或 #VALUE!)。 您可以略過這些錯誤,因為它們不影響範圍的篩選。
-
您在準則內使用的公式,必須使用相對參照來參考第一列中對應的儲存格。
-
公式中的其他參照必須是絕對參照。
篩選超過資料範圍中所有數值之平均數的數值
在下面的資料範圍 (A6:C10) 中,準則範圍 (C1:C2) 將用於計算「銷售額」欄中,其數值大於所有「銷售額」數值之平均數 (C7:C10) 的列。 平均值將計算在儲存格 C4 中,且會將結果與公式 =">"&C4 結合在儲存格 C2 中,以建立所使用的準則。
銷售額 |
||
=CONCATENATE(">",C4) |
||
算數平均值 |
||
=AVERAGE(C7:C10) |
||
類別 |
銷售人員 |
銷售額 |
飲料 |
唐祖安 |
$5,122 |
Meat |
季正霖 |
$450 |
農產品 |
巫百勝 |
$6,328 |
農產品 |
季正霖 |
$6,544 |
公式 |
描述 |
結果 |
'=DCOUNTA(A6:C10,,C1:C2) |
計算符合 C1:C2 範圍中條件 (>4611) 的列數 (3)。 C2 中的條件是將 =">" 與 C4 儲存格串連而得,此即為 C7:C10 的算數平均值。 |
=DCOUNTA(A6:C10,,C1:C2) |