Page 1 of 1
ตรวจจำนวนสินค้าตามรหัส ได้ผลลัพธ์ที่ผิดพลาด
Posted: Sat Feb 25, 2017 10:31 pm
by wisit
รบกวนผู้รู้และอาจารย์
พอดีผมมีปัญหาในเรื่องผลลัพธ์แสดงค่าผิดพลาด รายละเอียดผมอธิบายไว้ในไฟล์แล้วครัว เพราะผมเขียนรายละเอียดเยอะครับ
เลยเขียนไว้ในไฟล์ครับ
Re: ตรวจจำนวนสินค้าตามรหัส ได้ผลลัพธ์ที่ผิดพลาด
Posted: Sat Feb 25, 2017 10:41 pm
by snasui

กรุณาแจ้งมาใหม่ว่าต้องการจะแสดงผลใด ที่ชีตใด เซลล์ใด ด้วยค่าเท่าใด ด้วยเงื่อนไขใด จะได้สะดวกในการทำความเข้าใจครับ
ผมอ่านที่อธิบายในไฟล์แล้วไม่สื่อถึงตำแหน่งเซลล์ ตำแหน่งชีต จึงไม่สามรถที่จะเข้าใจปัญหาที่เป็นได้ครับ
Re: ตรวจจำนวนสินค้าตามรหัส ได้ผลลัพธ์ที่ผิดพลาด
Posted: Sun Feb 26, 2017 1:20 am
by wisit
ขอโทษครับอาจารย์
1. คีย์ข้อมูลรหัสพนักงาน (ซึ่งจริงๆ มีเป็นร้อย) และรหัสสินค้า ในชีทข้อมูล
2. ต้องการตรวจสอบว่าพนักงาน 1E จนถึง 30E ขายสินค้าวอลนอก วอลใน และผ้า ได้กี่จำนวน (ผลลัพธ์จะแสดงในคอลัมน์ B2 ถึงคอลัมน์ D31 ในชีทตรวจสอบสินค้า แต่ผมคีย์ข้อมูลไม่กี่รหัส) ตามรหัสที่สินค้าที่เรากรอกตัวเลขเข้าไปในคอลัมน์ H3, I3 และ J3
3. จากไฟลฺ์งาน เรากรอกรหัส 16 ลงในคอลัมน์ H3, กรอกรหัส 14 ลงในคอลัมน์ I3 และกรอกรหัส 156 ลงในคอลัมน์ J3 (คอลัมน์ J จะมีรหัส 3 หลัก ส่วนคอลัมน์ H กับ I จะมีรหัสเพียง 2 หลัก) ผลลัพธ์จะต้องเป็นศูนย์ เพราะรหัสดังกล่าวพนักงานไม่ได้ขาย
4. แต่กลับพบจำนวนผลลัพธ์ในรหัสพนักงาน 10E (C11) ซึ่งไม่มีการคีย์ข้อมูลรหัสพนักงาน 10E และรหัสพนักงาน 30E (B31, C31 และ D31) ไม่มีการคีย์รหัสสินค้าตาม H3, I3 และ J3 ที่เราได้กรอกรหัส
5. จากผลลัพธ์ในข้อ 4 ที่ผมเช็ครหัสพนักงานจะคูณ 10 และรหัสที่เราคีย์ในคอลัมน์ H3, I3 และ J3 จะตรวจหาผลลัพธ์ของรหัสสินค้าเพิ่มในหลักหน่วย 1 ค่า (เฉพาะผลลัพธ์ที่คูณ 10 )
6. จากผลลัพธ์ในรหัสพนักงาน 10E มีจำนวน 100 (C11) จากที่ผมสังเกตตรงที่ผมไฮไลท์ D9 กับ E9 ซึ่งเป็นรหัสพนักงาน 1E และค่ารหัสในคอลัมน์ D9 ก็คือ รหัส 15 ซึ่งใน 1E ไม่พบถือว่าถูก แต่ 10E กลับพบรหัสสินค้าวอลใน จำนวน 100 ม้วน
7. ผลลัพธ์ในรหัสพนักงาน 30E ก็เช่นกัน มีจำนวน 25 (B31) , 15 (C31) และ 17 (D31) จะมีค่าตามค่าใน 3E แต่จะตรวจจำนวนสินค้าบวกเพิ่มมาอีก 1 ค่า
ขอโทษด้วยครับถ้าผมสื่อความหมายยาว และอธิบายไม่ค่อยเข้าใจ
Re: ตรวจจำนวนสินค้าตามรหัส ได้ผลลัพธ์ที่ผิดพลาด
Posted: Sun Feb 26, 2017 5:51 am
by snasui

เนื่องจากกระบวนการภายในของ Sumif มีการแปลงค่าใหม่ ตัวเลขที่ผสมกับอักษร E สามารถแปลงค่าเป็นตัวเลขได้ จึงเกิดความผิดพลาดขึ้น
หากต้องกาทดสอบให้ไปที่ชีตข้อมูลเซลล์ M2 คีย์
=Value(K2)
Enter > Copy ลงด้านล่าง > จัดรูปแบบค่าที่ได้ให้เห็นเป็นตัวเลข
และที่ โดยที่ E10 ของชีต ตรวจจำนวนสินค้าคีย์สูตร
=Value(A11&I3)
Enter > จัดรูปแบบค่าที่ได้ให้เห็นเป็นตัวเลข
วิธีการแก้ไข
ให้เปลี่ยนสูตรเป็น Sumproduct แทน Sumif โดยที่ B2 ของชีต ตรวจจำนวนสินค้าคีย์สูตร
=SUMPRODUCT(--(ข้อมูล!$J$2:$J$30=ตรวจจำนวนสินค้า!A2&$H$3),ข้อมูล!$C$2:$C$30)
Enter > Copy ลงด้านล่าง > ปรับใช้กับคอลัมน์ C และ D
Re: ตรวจจำนวนสินค้าตามรหัส ได้ผลลัพธ์ที่ผิดพลาด
Posted: Sun Feb 26, 2017 1:45 pm
by wisit
ขอบคุณครับอาจารย์
แต่ผมสงสัยนิดนึงครับ ถ้าผมเปลี่ยนไปใช้อักษรตัวอื่นที่ไม่ใช่ E ค่าที่ได้จะถูกต้องไม่มีผิดพลาด เป็นเฉพาะตัว E เลยสงสัยอะครับ
แต่สูตรที่อาจารย์แนะนำ ใช้ได้ผลดีครับ แต่ข้อมูลผมมีเยอะเลยทำให้เครื่องทำงานช้า
Re: ตรวจจำนวนสินค้าตามรหัส ได้ผลลัพธ์ที่ผิดพลาด
Posted: Sun Feb 26, 2017 2:08 pm
by snasui

อักขระตัวอื่นไม่สามารถแปลงเป็นตัวเลขได้เหมือนตัว E จึงไม่เกิดปัญหาเหมือนที่เกิดกับตัว E ครับ
คำว่า "อะครับ" ให้ใช้คำว่าครับแทนนะครับ

Re: ตรวจจำนวนสินค้าตามรหัส ได้ผลลัพธ์ที่ผิดพลาด
Posted: Sun Feb 26, 2017 2:36 pm
by wisit
ขอบคุณมากครับอาจารย์
