PDA

View Full Version : นับจำนวน 2 เงื่อนไข-ด่วน



worachai_p
6 Jun 2007, 15:31
ต้องการนับจำนวน แบบ 2 เงื่อนไข ตามไฟล์ที่แนบมาครับ
รบกวนด่วนด้วยครับ เพราะต้องหาข้อมูลใช้ในการวิเคราะห์สินค้าครับ

สมเกียรติ
6 Jun 2007, 15:46
ไม่มีแฟ้มแนบมาด้วย
:confused:

วานิชย์
6 Jun 2007, 15:49
ไม่มี file แนบมานะครับ :confused:

โดยทั่ว ๆ ไปการนับจำนวนของข้อมูลจะใช้ Count / Countif
แต่ถ้าเงื่อนไขซับซ้อนขึ้นก็จะใช้ SUM Array / SUMPRODUCT ครับ
:)

worachai_p
6 Jun 2007, 15:55
สินค้าจำนวนชิ้นที่เบิกจำนวนชิ้นที่รับ


a60b3c20d416b018a020d122c524d026a228จำนวนครั้งที่เบิกจำนวนครั้งที่รับรวมจำนวนชิ้นที่เบิกรวมจำนวนชิ้นที่รับa22848b11318c21724d23564อยากทราบสูตรที่จะทำนับข้อมูลในช่องสีเหลืองครับเนื่องจากเป็นการนับแบบมี 2 เงื่อนไข คือ นับจำนวนครั้งที่เบิกเฉพาะสินค้านั้นๆ

ต้องขออภัยจริงๆ ที่แนบไฟล์มาไม่ได้ มีการผิดพลาดทางเทคนิคนิดหน่อยครับ จึงขอส่งเป็น text ให้ดูครับ

ขอบคุณครับ

สมเกียรติ
6 Jun 2007, 15:59
:confused: งงงงงงงงงงงครับ

worachai_p
6 Jun 2007, 16:05
ผมไม่สามารถส่งไฟล์แนบให้ได้ครับ คือ
ข้อมูล คอลัมภ์ a มีชื่อสินค้า a b c b c a c (ตามลำดับ)
คอลัมภ์ b มีปริมาณสินค้าที่เบิก 0 2 0 1 1 3 2 (ตามลำดับ)
คอลัมภ์ c มีปริมาณสินค้าที่เข้า 3 3 2 0 0 2 3 (ตามลำดับ)
โจทย์
1. ต้องการนับครั้งที่เบิกสินค้า a , b , c (จำนวนที่เป็น 0 ไม่นับ)
2. ต้องการนับครั้งที่รับสินค้า a , b , c (จำนวนที่เป็น 0 ไม่นับ)

ผมสามารถโหลดไฟล์ที่อาจารย์หลายๆ ท่านทำให้ได้นะครับ

ขอบคุณครับ

วานิชย์
6 Jun 2007, 16:26
จำนวนครั้งที่เบิก
=SUMPRODUCT((รายการสินค้า=สินค้า)*(ปริมาณเบิก>0))

จำนวนครั้งที่รับ
=SUMPRODUCT((รายการสินค้า=สินค้า)*(ปริมาณรับ>0))


:)

worachai_p
6 Jun 2007, 16:46
ต้องขอบคุณมากๆ ครับ ผมได้ลองประยุกต์สูตรแล้วใช้ได้เลยครับ
แต่ยังอยากทำความเข้าใจเกี่ยวกับสูตรนี้ มากขึ้น ไม่ทราบพอจะแนะนำ
หาอ่านหรืออธิบายให้จะได้ไหมครับ
=SUMPRODUCT((รายการสินค้า=สินค้า)*(ปริมาณเบิก>0))
สูตรในวงเล็บแรก คูณกับ สูตรวงเล็บสอง (เฉพาะที่มากกว่า 0) ทำไมจึงออกเป็นลักษณะของการนับจำนวนได้ทั้งที่ ในวงเล็บแรกมีลักษณะเป็นข้อความ เมื่อนำไปคูณกับปริมาณเบิกมีลักษณะเป็นตัวเลข ถึงให้ผลลัพธ์ได้ครับ

Nongmod
6 Jun 2007, 17:35
sumproduct เป็นFunction แบบ Array ครับ หลักการคิดคือ

ในวงเล็บแรก (รายการสินค้า=สินค้า) เป็นการตรวจสอบเงื่อนไขชนิดสินค้าตามรายการสินค้า ค่าที่ได้จะเป็น TRUE หรือ FALSE เช่น {TRUE;TRUE;FALSE;FALSE} ลองทดสอบค่าได้โดยการ ลากคลุมสูตรเฉพาะ (รายการสินค้า=สินค้า) แล้วกด F9
ในวงเล็บที่สอง (ปริมาณเบิก>0) เป็นการตรวจสอบเงื่อนไขของปริมาณเบิก ที่มีค่ามากกว่า 0 ค่าที่ได้จะเป็น TRUE หรือ FALSE เช่น เดียวกัน เช่น {TRUE;FALSE;FALSE;FALSE}
เมื่อนำทั้งสองวงเล็บมาคูณกันจะเป็นการคูณระหว่าง 2 Array เข้าด้วยกัน เมื่อ ค่า TRUE *TRUE = 1 , TRUE*FALSE = 0 และ FALSE * FALSE = 0 เช่น {TRUE;TRUE;FALSE;FALSE} * {TRUE;FALSE;FALSE;FALSE} = {1;0;0;0}
Sumproduct ({1;0;0;0})= 1และถ้าต้องการเปลี่ยนจากนับเป็นผลรวมให้เปลี่ยนสูตรเป็น
=SUMPRODUCT((รายการสินค้า=สินค้า)*(ปริมาณเบิก>0)*ปริมาณเบิก)

สมเกียรติ
6 Jun 2007, 18:41
http://www.excelexperttraining.com/forums/showthread.php?t=50
http://www.excelexperttraining.com/blog/archives/z300-ExcelCore36.php

อรวีร์
6 Jun 2007, 23:12
คุณ Nongmod อธิบายได้เยี่ยมมากค่ะ ละเอียดแต่กระชับดี ;)
เบาแรงคุณวานิชย์ ไปเลย :)

worachai_p
8 Jun 2007, 15:32
ขอบคุณอาจารย์ทุกๆท่านครับ อธิบายได้ชัดเจนดีครับ