Page 1 of 1

คีย์ข้อมูลในช่องแล้วแสดงผลรวมที่ต้องการ

Posted: Sun Oct 27, 2013 11:14 pm
by Miracles
สมุดงาน1.xlsx
คำถามที่ 1 คือ

จากข้อมูล กลุ่ม1 กลุ่ม2 กลุ่ม3
ผมอยากทำช่องกรอกข้อมูลลงไปตามที่เห็นด้านบน เช่น กรอก ABD
A คือข้อมูลที่อยู่ในกลุ่ม1
B คือข้อมูลที่อยู่ในกลุ่ม2
D คือข้อมูลที่อยู่ในกลุ่ม3

สิ่งที่ผมต้องการคือ
1.อยากให้ข้อมูลตามที่ผมทำแถบสีแดงเน้นไว้แล้วนั้นบวกกัน
แล้วมาแสดงผล ในตารางผลรวมABD
2.แล้วนำข้อมูลในตารางผลรวมABD
มาเรียงแต้มมากอย่างที่เห็น
3.นำข้อมูลเฉพาะที่มีแต้ม3 มาอยู่ในตาราง OK ช่อง1
และนำข้อมูลเฉพาะที่มีแต้ม2 มาอยู่ในตาราง OK ช่อง2

โดยที่เราไม่ต้องมานั่งทำทีละขั้นตอน
อยากให้คีย์CODEเสร็จ ผลรวมออกมาแล้วไปเลขไปเรียงไว้ตามที่เห็นนี้เลยจะต้องทำอย่างไร
จากหลายขั้นตอนที่กล่าวมา
ข้อมูลที่จำเป็นต้องนำไปใช้คือข้อมูลที่สรุปอยู่ ในตาราง OK ช่อง1และช่อง2 แค่นั้นเองครับ
ถ้ามีวิธีลดขั้นตอนให้เร็วกว่านี้ช่วยแนะนำด้วยครับ


คำถามที่ 2 คือ

มันขึ้น #DIV/0! ครับ ต้องการให้ซ่อนเมื่อเป็นค่าว่าง
จะต้องทำอย่างไรบ้างครับ


รบกวน คุณsnasui และท่านผู้รู้ทุกท่านช่วยแนะนำด้วยครับ
ขอบคุณมากๆครับ :D :D :D

Re: คีย์ข้อมูลในช่องแล้วแสดงผลรวมที่ต้องการ

Posted: Mon Oct 28, 2013 10:29 am
by nattasiray
เปิดดู Files แล้ว ผมหงายหลังครับ เพราะข้อมูลเยอะมาก ยากแก่การทำความเข้าใจ ขอความร่วมมือจากคุณทำตัวอย่างสัก 10 บรรทัดก็พอ จากนั้นบอกว่า ผลลัพธ์ที่ต้องการนั้นมาจากการใช้เซลล์อะไรในการคำนวณ


ตารางในเวิร์คชีต คำถามที่1 นั้น เห็นคุณมีอักษร A ซ้ำกันที่ E2 กับ K2 แต่ที่ Q2 เป็น D ตกลง ที่ E2 กับ K2 เป็นอักษร D ด้วยหรือไม่

อีกประการหนึ่งคุณกำลังทำงานแบบขี่ช้างจับตั๊กแตน (ทำเรื่องง่ายให้เป็นเรื่องยาก) กล่าวคือ คุณไม่ได้ออกแบบตารางบันทึกข้อมูลให้เป็นแบบฐานข้อมูล (บันทึกข้อมูลแบบจากข้างบนลงข้างล่าง) กลับบันทึกเป็นแบบตารางออกรายงาน (ซ้ายไปขวา) สร้างปัญหาในภายหลัง เช่น ต้องเสียเวลาเลื่อนหน้าจอไปทางขวาเพื่อค้นหาข้อมูลซึ่งขัดกับพฤติกรรมปกติของมนุษย์ที่ต้องอ่านหนังสือจากข้างบนลงข้างล่างเสมอ หรือไม่สามารถสร้างตารางสรุปผลข้อมูลแบบตรงตามความต้องการได้


ดังนั้นให้คุณแก้ไขตารางบันทึกข้อมูลเป็นแบบดังรูปก่อน โดยดูจากคลิปวิดิโอการแก้ไขที่ http://www.youtube.com/watch?v=pUXJLzqlEPk

เมื่อแปลงแล้วจะสามารถใช้สูตร SUMIFS {MAX(IF())} AVERAGEIF AVERAGEIFS เพื่อคำนวณหาผลลัพธ์อย่างมี่เงื่อนไขได้ หรือสั่งเรียงลำดับด้วยฟังก์ชัน LARGE SMALL แล้วเปลี่ยนเป็นข้อมูลด้วยฟังก์ชัน INDEX MATCH หรือ VLOOKUP ซึ่งสูตรดังกล่าวนั้นใช้กับงานฐานข้อมูลครับ และผลพลอยได้ของการแปลงเป็นฐานข้อมูลก็สามารถใช้คำสั่งในแท็บ Data ได้ด้วย


งานของคุณเป็นงานประยุกต์ใช้ไมโครซอฟต์เอ็กเซลเลียนแบบฐานข้อมูลครับ ลองศึกษาจากเว็บไซต์แห่งนี้ หรือ หาหนังสือ "จัดการฐานข้อมูลด้วย Microsoft Excel 2010" มาศึกษาเพิ่มเติมครับ

เรื่องกำหนดแบบอักษรเริ่มต้นให้กับแฟ้มและโปรแกรมศึกษาที่ http://www.snasui.com/viewtopic.php?f=9&t=4936

Re: คีย์ข้อมูลในช่องแล้วแสดงผลรวมที่ต้องการ

Posted: Mon Oct 28, 2013 10:40 am
by bank9597
:D การส่งข้อมูลไปบันทึก ต้องใช้ VBA ครับ ซึ่งต้องเขียนมาเอง

ส่วนที่ถามมา ใช้สูตรดังนี้

ชีทคำถามที่ 1
ที่ AA3 คีย์ =LARGE($X$3:$X$102,ROWS($C$3:$C3)) คัดลอกลงมา
ที่ Z3 คีย์ =SMALL(IF($X$3:$X$102=AA3,$W$3:$W$102),COUNTIF($AA$3:AA3,AA3)) กด ctrl+shift+enter คัดลกลงมา
ที่ AC3 คีย์ =IFERROR(SMALL(IF($AA$3:$AA$102=3,$Z$3:$Z$102),ROWS($AC$3:AC3)),"") กด ctrl+shift+enter คัดลกลงมา
ที่ AD3 คีย์ =IFERROR(SMALL(IF($AA$3:$AA$102=2,$Z$3:$Z$102),ROWS($AC$3:AD3)),"") กด ctrl+shift+enter คัดลกลงมา

ชีทคำถามที่2
ที่ U5 คีย์ =IFERROR(SUM(T5*100/S5),"") คัดลอกลงมา

Re: คีย์ข้อมูลในช่องแล้วแสดงผลรวมที่ต้องการ

Posted: Mon Oct 28, 2013 12:30 pm
by Miracles
ต้องขออภัยทุกท่านด้วยครับที่ทำให้งง :tt: ผมเองเพิ่มเริ่มมาศึกษาEXCEL เคยใช้EXCELก็แค่สูตรบวก ลบ คูณ หาร :D เลยไม่รู้จะอธิบายยังไงให้มันเป็นหลักการ เลยถามแบบบ้านๆไป ส่วนอักษร A นั้นผมคีย์ผิดไปครับ ต้องเป็น ABCD ทุกกลุ่มครับ
สูตรที่คุณnattasirayแนะนำมานั้นดีครับ แต่ต้องบอกตรงๆว่าเมื่อรู้สูตรแล้วผมไม่รู้ว่าจะใส่ค่าให้มันแสดงผลออกมาอย่างที่ต้องการอย่างไร :roll:
มันเลยเป็นปัญหา เลยนั่งงงอยู่พักนึง จนคุณbank9597มาโพสท์เขียนสูตรไว้ให้ และทำมาไว้ให้แล้วในสมุดงานแบบนี้แหล่ะครับ ใช่เลยที่ผมต้องการ

ผมต้องการสูตรสำเร็จแบบที่คุณbank9597เขียนไว้ :thup: แค่นั้นเองครับ โดยที่ผมจะสามารถแก้ไขเซลล์แล้วนำไปประยุกต์ใช้ในเชลล์อื่นๆได้

สำหรับVBAนั้นเองยังไม่เคยใช้ครับ ผมจะลองศึกษาดูครับ

ส่วนข้อความที่ขึ้น #DIV/0! ใช้สูตรแบบที่คุณbank9597เขียนไว้ =IFERROR(SUM(T5*100/S5),"") แก้ไขได้แล้วครับ

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


ขอบคุณมากๆครับ :thup: :thup: :thup: