ฟังก์ชัน DCOUNTA

นำไปใช้กับ
Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016

บทความนี้จะอธิบายเกี่ยวกับไวยากรณ์ของสูตรและการใช้ฟังก์ชัน DCOUNTA ใน Microsoft Excel

คำอธิบาย

นับจำนวนเซลล์ที่ไม่ว่างในเขตข้อมูล (คอลัมน์) ของระเบียนในรายการหรือฐานข้อมูลที่ตรงกับเงื่อนไขที่คุณระบุ

เลือกอาร์กิวเมนต์เขตข้อมูลหรือไม่ก็ได้ ถ้าไม่ใส่ค่าเขตข้อมูล DCOUNTA จะนับระเบียนทั้งหมดในฐานข้อมูลที่ตรงกับเงื่อนไข

ไวยากรณ์

DCOUNTA(database, field, criteria)

ไวยากรณ์ของฟังก์ชัน DCOUNTA มีอาร์กิวเมนต์ดังนี้

  • ฐาน ข้อมูล ต้องระบุ ช่วงของเซลล์ที่ประกอบขึ้นเป็นรายการหรือฐานข้อมูล ฐานข้อมูลคือรายการของข้อมูลที่เกี่ยวข้องซึ่งแถวของข้อมูลที่เกี่ยวข้องคือระเบียน และคอลัมน์ของข้อมูลคือเขตข้อมูล แถวแรกของรายการมีป้ายชื่อสําหรับแต่ละคอลัมน์
  • ฟิลด์ เสริม บ่งชี้ว่าจะใช้คอลัมน์ใดในฟังก์ชัน ใส่ป้ายชื่อคอลัมน์ที่อยู่ระหว่างเครื่องหมายอัญประกาศคู่ เช่น "อายุ" หรือ "ผลตอบแทน" หรือตัวเลข (ไม่มีเครื่องหมายอัญประกาศ) ที่แสดงตําแหน่งของคอลัมน์ภายในรายการ: 1 สําหรับคอลัมน์แรก 2 สําหรับคอลัมน์ที่สอง และอื่นๆ
  • เงื่อนไข ต้องระบุ ช่วงของเซลล์ที่มีเงื่อนไขที่คุณระบุ คุณสามารถใช้ช่วงใดก็ได้สําหรับอาร์กิวเมนต์ criteria ตราบใดที่ช่วงนั้นมีป้ายชื่อคอลัมน์อย่างน้อยหนึ่งป้าย และมีอย่างน้อยหนึ่งเซลล์อยู่ใต้ป้ายชื่อคอลัมน์ที่คุณระบุเงื่อนไขสําหรับคอลัมน์นั้น

ข้อสังเกต

  • คุณสามารถใช้ช่วงใดเป็นอาร์กิวเมนต์ criteria ก็ได้ ตราบเท่าที่ช่วงนั้นมีป้ายชื่อของคอลัมน์อย่างน้อยหนึ่งป้าย และมีอย่างน้อยหนึ่งเซลล์อยู่ใต้ป้ายชื่อคอลัมน์ที่ใช้ระบุเงื่อนไข
    ตัวอย่าง เช่น ถ้าช่วง G1:G2 มีป้ายชื่อคอลัมน์ Income ใน G1 และจำนวน $10,000 ใน G2 คุณก็สามารถกำหนดช่วงนั้นเป็น MatchIncome และใช้ชื่อนั้นเป็นอาร์กิวเมนต์ของ Criteria ในฟังก์ชันฐานข้อมูลได้
  • ถึงแม้ว่าช่วงเงื่อนไขจะอยู่ที่ใดก็ได้บนเวิร์กชีต แต่อย่าวางช่วงเงื่อนไขไว้ใต้รายการ ถ้าคุณเพิ่มข้อมูลเพิ่มเติมลงในรายการ ข้อมูลใหม่จะถูกเพิ่มลงในแถวแรกด้านล่างรายการ ถ้าแถวด้านล่างรายการไม่ว่างเปล่า Excel จะไม่สามารถเพิ่มข้อมูลใหม่ได้
  • ดูให้แน่ใจว่าช่วงเงื่อนไขไม่ได้ซ้อนทับรายการข้อมูล
  • เมื่อต้องการดำเนินการทั้งคอลัมน์ในฐานข้อมูล ให้เพิ่มบรรทัดว่างไว้ใต้ป้ายชื่อคอลัมน์ภายในช่วง criteria

ตัวอย่าง

คัดลอกข้อมูลตัวอย่างในตารางต่อไปนี้ และวางในเซลล์ A1 ของเวิร์กชีต Excel ใหม่ สำหรับสูตรที่จะแสดงผลลัพธ์ ให้เลือกสูตร กด F2 แล้วกด Enter ถ้าคุณต้องการ คุณสามารถปรับความกว้างของคอลัมน์เพื่อดูข้อมูลทั้งหมดได้ ถ้าคุณคัดลอกตัวอย่างใดๆ ต่อไปนี้ลงใน Excel ให้ตรวจสอบให้แน่ใจว่าคุณเลือกเซลล์ทั้งหมดในตารางนี้ รวมถึงเซลล์ที่มุมซ้ายบนสุด

ต้นไม้ ความสูง อายุ ผลตอบแทน ผลกำไร ความสูง
="=แอปเปิล" >10 <16
="=แพร์"
ต้นไม้ ความสูง อายุ ผลตอบแทน ผลกำไร
Apple 18 20 14 105.0
Pear 1.2 1.2 10 96.0
Cherry 1.3 14 9 105.0
Apple 14 15 10 75.0
Pear 9 8 8 76.8
Apple 8 9 6 45.0
สูตร คำอธิบาย ผลลัพธ์
=DCOUNTA(A4:E10,"ผลกำไร",A1:F2) นับแถว (1) ที่มี "Apple" ในคอลัมน์ A ที่มีความสูง >10 และ <16 เฉพาะแถวที่ 8 เท่านั้นที่ตรงตามสามเงื่อนไขเหล่านี้ 1

ตัวอย่างของเงื่อนไข

  • เมื่อคุณใส่ =ข้อความ ในเซลล์ Excel จะตีความเป็นสูตรและพยายามคํานวณ เมื่อต้องการใส่ =text เพื่อให้ Excel ไม่พยายามคํานวณ ให้ใช้ไวยากรณ์นี้:
    ='=entry''
    เมื่อ รายการ คือข้อความหรือค่าที่คุณต้องการค้นหา ตัวอย่างเช่น
สิ่งที่คุณพิมพ์ลงในเซลล์ สิ่งที่ Excel ประเมินและแสดง
="=Davolio" =Davolio
="=3000" =3000
  • เมื่อคุณกรองข้อมูลข้อความ Excel จะไม่แยกความแตกต่างระหว่างอักขระตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก แต่คุณสามารถใช้สูตรเพื่อค้นหาแบบตรงตามตัวพิมพ์ใหญ่-เล็กได้

ส่วนต่อไปนี้แสดงตัวอย่างของเกณฑ์ที่มีความซับซ้อน

หลายเกณฑ์ในหนึ่งคอลัมน์

ตรรกะบูลีน: (พนักงานขาย = "Davolio" OR พนักงานขาย = "Buchanan")

เมื่อต้องการค้นหาแถวต่างๆ ที่ตรงกับหลายเกณฑ์สำหรับหนึ่งคอลัมน์ ให้พิมพ์เกณฑ์ลงไปตรงด้านล่างของแต่ละเกณฑ์ในแต่ละแถวของช่วงเกณฑ์นั้น

ในช่วงข้อมูลต่อไปนี้ (A6:C10) มีการใช้ช่วงเงื่อนไข (B1:B3) เพื่อนับแถวต่างๆ ที่มี "Davolio" หรือ "Buchanan" ในคอลัมน์พนักงานขาย

พนักงานขาย
="=Davolio"
="=Buchanan"
ชนิด พนักงานขาย ยอดขาย
เครื่องดื่ม Suyama $5,122
เนื้อสัตว์ Davolio $450
ผลผลิต Buchanan $6,328
ผลผลิต Davolio $6,544
สูตร คำอธิบาย ผลลัพธ์
'=DCOUNTA(A6:C10,2,B1:B3) นับจำนวนแถว(3) ใน A6:C10 ที่ตรงกับเงื่อนไข "พนักงานขาย" อย่างใดอย่างหนึ่งในแถว 2 และ 3 =DCOUNTA(A6:C10,2,B1:B3)

หลายเงื่อนไขในหลายคอลัมน์ซึ่งเงื่อนไขทั้งหมดต้องเป็นจริง

ตรรกะบูลีน ( ชนิด = "พืชผล" AND ยอดขาย > 2000)

เมื่อต้องการค้นหาแถวต่างๆ ที่ตรงกับหลายเงื่อนไขในหลายคอลัมน์ ให้พิมพ์เงื่อนไขทั้งหมดในแถวเดียวกันกับช่วงเงื่อนไข

ในช่วงข้อมูลต่อไปนี้ (A6:C12) มีการใช้ช่วงเงื่อนไข (A1:C2) เพื่อนับแถวต่างๆ ที่มี "Produce" ในคอลัมน์ชนิด และมีมูลค่ามากกว่า $2,000 ในคอลัมน์ยอดขาย

ชนิด พนักงานขาย ยอดขาย
="=ผลผลิต" >2000
ชนิด พนักงานขาย ยอดขาย
เครื่องดื่ม Suyama $5,122
เนื้อสัตว์ Davolio $450
Produce Buchanan $935
พืชผัก Davolio $6,544
เครื่องดื่ม สัญญา $3,677
พืชผัก Davolio $3,186
สูตร คำอธิบาย ผลลัพธ์
'=DCOUNTA(A6:C12,,A1:C2) นับจํานวนแถว (2) ใน A6:C12 ที่ตรงกับเงื่อนไขในแถว 2 (="Produce" และ >2000) =DCOUNTA(A6:C12,,A1:C2)

หลายเงื่อนไขในหลายคอลัมน์ซึ่งเงื่อนไขใดเงื่อนไขหนึ่งต้องเป็นจริง

ตรรกะบูลีน ( ชนิด = "พืชผล" OR พนักงานขาย = "Davolio")

เมื่อต้องการค้นหาแถวต่างๆ ที่ตรงกับหลายเกณฑ์ในหลายคอลัมน์ซึ่งเกณฑ์ใดเกณฑ์หนึ่งต้องเป็นจริง ให้พิมพ์เกณฑ์ในแต่ละแถวของช่วงเกณฑ์

ในช่วงข้อมูลต่อไปนี้ (A6:C10) ช่วงเกณฑ์ (A1:B3) แสดงแถวทั้งหมดที่มี "Produce" ในคอลัมน์ Type หรือ "Davolio"

ชนิด พนักงานขาย
="=Produce"
="=Davolio"
ชนิด พนักงานขาย ยอดขาย
เครื่องดื่ม Suyama $5,122
เนื้อสัตว์ Davolio $675
Buchanan Buchanan $937
Produce Buchanan
สูตร คำอธิบาย ผลลัพธ์
'=DCOUNTA(A6:C10,"ยอดขาย",A1:B3) นับจำนวนแถว (2) ใน A6:C10 ที่ตรงตามเงื่อนไขใดเงื่อนไขหนึ่งใน A1:C3 โดยที่ เขตข้อมูล "ยอดขาย"ไม่ว่างเปล่า =DCOUNTA(A6:C10,"ยอดขาย",A1:B3)

หลายชุดของเงื่อนไขโดยที่แต่ละชุดของเงื่อนไขมีเงื่อนไขสำหรับหลายคอลัมน์

ตรรกะบูลีน: ( (พนักงานขาย = "Davolio" AND ยอดขาย >3000) OR (พนักงานขาย = "Buchanan" AND ยอดขาย > 1500) )

เมื่อต้องการค้นหาแถวต่างๆ ที่ตรงกับหลายชุดของเกณฑ์โดยที่แต่ละชุดของเกณฑ์ประกอบด้วยเกณฑ์สำหรับหลายคอลัมน์ ให้พิมพ์แต่ละชุดของเกณฑ์ในแต่ละแถว

ในช่วงข้อมูลต่อไปนี้ (A6:C10) มีการใช้ช่วงเงื่อนไข (B1:C3) เพื่อนับแถวต่างๆ ที่มีทั้ง "Davolio" ในคอลัมน์พนักงานขาย และมูลค่ามากกว่า $3,000 ในคอลัมน์ยอดขาย หรือแถวต่างๆ ที่มีทั้ง "Buchanan" ในคอลัมน์พนักงานขาย และมูลค่ามากกว่า $1,500 ในคอลัมน์ยอดขาย

ชนิด พนักงานขาย ยอดขาย
="=Davolio" >3000
="=Buchanan" >1500
ชนิด พนักงานขาย ยอดขาย
เครื่องดื่ม Suyama $5,122
เนื้อสัตว์ Davolio $450
ผลผลิต Buchanan $6,328
ผลผลิต Davolio $6,544
สูตร คำอธิบาย ผลลัพธ์
'=DCOUNTA(A6:C10,,B1:C3) นับจำนวนแถว (2) ใน A6:C10 ที่ตรงตามเงื่อนไขทั้งหมดใน B1:C3 =DCOUNTA(A6:C10,,B1:C3)

หลายชุดของเงื่อนไขโดยที่เงื่อนไขแต่ละชุดมีเงื่อนไขสำหรับหนึ่งคอลัมน์

ตรรกะบูลีน ( (ยอดขาย > 6000 AND ยอดขาย < 6500 ) OR (ยอดขาย < 500) )

เมื่อต้องการค้นหาแถวต่างๆ ที่ตรงกับหลายชุดของเกณฑ์โดยที่แต่ละชุดของเกณฑ์ประกอบด้วยเกณฑ์สำหรับหนึ่งคอลัมน์ ให้พิมพ์เกณฑ์ทั้งหมดในแถวเดียวกันกับช่วงเกณฑ์ ให้ใส่ส่วนหัวของคอลัมน์แบบเดียวกันไว้ในหลายๆ คอลัมน์

ในช่วงข้อมูลต่อไปนี้ (A6:C10) มีการใช้ช่วงเงื่อนไข (C1:D3) เพื่อนับแถวต่างๆ ที่มีมูลค่าระหว่าง $6,000 และ $6,500 และมูลค่าน้อยกว่า $500 ในคอลัมน์ยอดขาย

ชนิด พนักงานขาย ยอดขาย ยอดขาย
>6000 <6500
<500
ชนิด พนักงานขาย ยอดขาย
เครื่องดื่ม Suyama $5,122
เนื้อสัตว์ Davolio $450
ผลผลิต Buchanan $6,328
ผลผลิต Davolio $6,544
สูตร คำอธิบาย ผลลัพธ์
'=DCOUNTA(A6:C10,,C1:D3) นับจํานวนแถว (2) ที่ตรงกับเงื่อนไขในแถว 2 (>6000 และ <6500) หรือตรงกับเงื่อนไขในแถว 3 (<500) =DCOUNTA(A6:C10,,C1:D3)

เกณฑ์ที่จะค้นหาค่าข้อความที่มีอักขระบางตัวร่วมกันแต่ไม่ใช่ทั้งหมด

เมื่อต้องการค้นหาค่าข้อความที่มีอักขระบางตัวร่วมกันแต่ไม่ใช่ทั้งหมด ให้ทำตามขั้นตอนใดขั้นตอนหนึ่ง หรือมากกว่าดังต่อไปนี้

  • พิมพ์อักขระอย่างน้อยหนึ่งตัวโดยไม่มีเครื่องหมายเท่ากับ (=) เพื่อค้นหาแถวที่มีค่าข้อความในคอลัมน์ที่ขึ้นต้นด้วยอักขระเหล่านั้น ตัวอย่างเช่น ถ้าคุณพิมพ์ข้อความ Dav เป็นเงื่อนไข Excel จะค้นหา "Davolio," "David," และ "Davis"
  • ใช้อักขระตัวแทน
    สามารถใช้อักขระตัวแทนต่อไปนี้เป็นเกณฑ์การเปรียบเทียบได้
ให้ใช้ เมื่อต้องการค้นหา
? (เครื่องหมายคำถาม) อักขระใดๆ หนึ่งตัว
เช่น ใช้ sm?th เพื่อหา “smith” และ “smyth”
* (เครื่องหมายดอกจัน) จำนวนอักขระสูงสุดเท่าไหร่ก็ได้
เช่น ใช้ *east เพื่อหา "Northeast" และ "Southeast"
~ (เครื่องหมายตัวหนอน) ตามด้วย ?, * หรือ ~ เครื่องหมายคําถาม เครื่องหมายดอกจัน หรือเครื่องหมายตัวหนอน
ตัวอย่างเช่น fy91~? จะค้นหา "fy91?"

ในช่วงข้อมูลต่อไปนี้ (A6:C10) มีการใช้ช่วงเงื่อนไข (A1:B3) เพื่อนับแถวต่างๆ ที่มี "Me" เป็นอักขระตัวแรกในคอลัมน์ชนิด หรือแถวต่างๆ ที่มีอักขระตัวที่สองเป็น "u" ในคอลัมน์พนักงานขาย

ชนิด พนักงานขาย ยอดขาย
Me
?u*
ชนิด พนักงานขาย ยอดขาย
เครื่องดื่ม Suyama $5,122
เนื้อสัตว์ Davolio $450
ผลผลิต Buchanan $6,328
ผลผลิต Davolio $6,544
สูตร คำอธิบาย ผลลัพธ์
'=DCOUNTA(A6:C10,,A1:B3) นับจำนวนแถว (3) ที่ตรงกับเงื่อนไขอย่างใดอย่างหนึ่ง A1:B3 =DCOUNTA(A6:C10,,A1:B3)

เกณฑ์ที่ได้สร้างไว้เป็นผลลัพธ์ของสูตร

คุณสามารถใช้ค่าการคํานวณที่เป็นผลลัพธ์ของสูตรเป็นเงื่อนไขของคุณได้ โปรดอย่าลืมประเด็นสําคัญต่อไปนี้:

  • สูตรต้องประเมินค่าเป็น TRUE หรือ FALSE
  • เนื่องจากว่าคุณกำลังใช้สูตร ให้ใส่สูตรที่ต้องการ และอย่าพิมพ์นิพจน์ในรูปแบบต่อไปนี้
    ='=entry''
  • อย่าใช้ป้ายชื่อคอลัมน์สำหรับป้ายชื่อของเกณฑ์ ให้ปล่อยป้ายชื่อของเกณฑ์ว่างเปล่า หรือจะใช้ป้ายชื่อที่ไม่ใช่ป้ายชื่อคอลัมน์ในช่วงก็ได้ (ในตัวอย่างด้านล่าง ค่าเฉลี่ยจากการคำนวณ และการตรงกันพอดี)
    ถ้าคุณใช้ป้ายชื่อคอลัมน์ในสูตรแทนการอ้างอิงเซลล์แบบสัมพัทธ์หรือชื่อช่วง Excel จะแสดงค่าความผิดพลาด เช่น #NAME ใช่ไหม หรือ #VALUE! ในเซลล์ที่มีเงื่อนไข ในเซลล์ที่มีเงื่อนไข คุณอาจละเลยข้อผิดพลาดนี้ได้ เพราะไม่มีผลกระทบต่อวิธีการกรองช่วง
  • สูตรที่คุณใช้เป็นเกณฑ์จะต้องใช้การอ้างอิงสัมพัทธ์เพื่ออ้างอิงไปยังเซลล์ที่สอดคล้องกันในแถวแรก
  • การอ้างอิงอื่นๆ ในสูตรจะต้องเป็นการอ้างอิงแบบสัมบูรณ์

การกรองค่าที่มากกว่าค่าเฉลี่ยของค่าทั้งหมดในช่วงข้อมูล

ในช่วงข้อมูลต่อไปนี้ (A6:C10) มีการใช้ช่วงเงื่อนไข (C1:C2) เพื่อนับแถวต่างๆ ที่มีค่าในคอลัมน์ยอดขายมากกว่าค่าเฉลี่ยของค่ายอดขายทั้งหมด (C7:C10) ค่าเฉลี่ยจะถูกคํานวณในเซลล์ C4 และผลลัพธ์จะถูกรวมในเซลล์ C2 กับสูตร =">"&C4 เพื่อสร้างเกณฑ์ที่ใช้

การขาย
=CONCATENATE("">,C4)
ค่าเฉลี่ยจากการคำนวณ
=AVERAGE(C7:C10)
ชนิด พนักงานขาย ยอดขาย
เครื่องดื่ม Suyama $5,122
เนื้อสัตว์ Davolio $450
ผลผลิต Buchanan $6,328
ผลผลิต Davolio $6,544
สูตร คำอธิบาย ผลลัพธ์
'=DCOUNTA(A6:C10,,C1:C2) นับจํานวนแถว (3) ที่ตรงตามเงื่อนไข (>4611) ใน C1:C2 เงื่อนไขใน C2 จะถูกสร้างขึ้นโดยการเรียงต่อ =">" กับเซลล์ C4 ซึ่งเป็นค่าเฉลี่ยจากการคํานวณของ C7:C10 =DCOUNTA(A6:C10,,C1:C2)

ด้านบนของหน้า