本文說明 Microsoft Excel 中 DCOUNTA 函式的公式語法與使用方式。
描述
計算清單或資料庫的記錄欄位 (欄) 中,符合您所指定條件的非空白儲存格。
field 引數是選擇性的。 如果省略 field,則 DCOUNTA 會計算資料庫中符合準則的所有記錄。
語法
DCOUNTA(database, field, criteria)
DCOUNTA 函數語法具有下列引數:
- 資料庫 必須。 這是組成清單或資料庫的儲存格範圍。 資料庫是相關資料的清單,其中相關資訊列為記錄,資料欄則為欄位。 清單的第一列會包含每一個資料欄的標籤。
- 場地 可選的。 指出函數中所使用的資料欄。 輸入以雙引號括住的欄標籤,如 "樹齡" 或 "收益",或是代表欄在清單中所在位置的號碼 (無雙引號),如 1 代表第一欄,2 代表第二欄,依此類推。
- 標準 必須。 這是含有您指定條件的儲存格範圍。 您可以使用任何的範圍做為準則引數,但範圍之中至少需含有一個欄標籤,而欄標籤之下至少需有一個儲存格,以指定該欄的準則。
註解
- 您可以使用任何的範圍做為準則引數,但範圍之中至少需含有一個欄標籤,而欄標籤之下至少需有一個儲存格,以指定該欄的準則。
例如,範圍 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 >欄中包含「Apple」的第 1) (,高度分別為 10 和 <16 的列數。 只有列 8 符合這三個條件。 | 1 |
準則範例
- 當您在儲存格中輸入 =文字時,Excel 將解譯其為公式並嘗試進行計算。 若要輸入 =文字而不使 Excel 嘗試進行計算,請使用下列語法:
=''=條目'
其中 entry 是你想找到的文字或值。 例如:
| 您在儲存格中輸入的內容 | Excel 的評估與顯示 |
|---|---|
| ="=季正霖" | =季正霖 |
| ="=3000" | =3000 |
- 當您篩選文字資料時,Excel 並不會區分大小寫字元。 但是,您可以使用公式執行區分大小寫的搜尋。
下列各節會提供複雜準則的範例。
單一欄中包含多個準則
布林邏輯: (Salesperson = 「Davolio」或 Salesperson = 「Buchanan」)
如果要在單一欄中尋找符合多個準則的列,請直接將準則輸入至各準則範圍的下一列。
在下面的資料範圍 (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
布林邏輯: (類型 = 「生產」 AND 銷售 > 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 列條件 (2) 的行數 (=「生產」及 >2000) 。 | =DCOUNTA(A6:C12,,A1:C2) |
多個欄中包含多個準則,任何準則皆可以為 true
布林邏輯: (類型 = 「生產」或 銷售人員 = 「Davolio」)
如果要尋找在多個欄中符合多個準則,且當中任何準則可以為 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) |
多組準則,每組準則包含多個欄的準則
布林邏輯: ( (銷售員 = 「Davolio」 銷售 >3000) 或 (銷售員 = 「Buchanan」 以及銷售 > 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列條件的2) (數為6000 (>6500 <) ,或符合第3列條件 (<500) 。 | =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 格計算,結果則在 C2 格子中與公式 =“>”&C4 合併,以建立所使用的標準。
| 銷售 | ||
|---|---|---|
| =串接 (“”>,C4) | ||
| 算數平均值 | ||
| =AVERAGE(C7:C10) | ||
| 類別 | 銷售人員 | 銷售額 |
| 飲料 | 唐祖安 | $5,122 |
| Meat | 季正霖 | $450 |
| 農產品 | 巫百勝 | $6,328 |
| 農產品 | 季正霖 | $6,544 |
| 公式 | 描述 | 結果 |
| '=DCOUNTA(A6:C10,,C1:C2) | 計算符合 C1:C2 中條件 4611) (>) (3 列數。 C2 中的條件是將 =“>” 與儲存格 C4 串接而成,C4 是計算出的 C7:C10 的平均值。 | =DCOUNTA(A6:C10,,C1:C2) |