EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)สูตรเดิมนี้จะแสดงข้อมูลไม่ถูกต้องหากมีอักษรบางตัวบังเอิญมีผลรวมเท่ากัน ขอปรับสูตรใหม่เป็นDhitiBank wrote:ลองแบบนี้ครับ
ที่ D2 คีย์
=INDEX($B$2:$B$11,SMALL(IF(IF(FREQUENCY(SUMIF($B$2:$B$11,$B$2:$B$11,$C$2:$C$11),SUMIF($B$2:$B$11,$B$2:$B$11,$C$2:$C$11)),SUMIF($B$2:$B$11,$B$2:$B$11,$C$2:$C$11))=LARGE(IF(FREQUENCY(SUMIF($B$2:$B$11,$B$2:$B$11,$C$2:$C$11),SUMIF($B$2:$B$11,$B$2:$B$11,$C$2:$C$11)),SUMIF($B$2:$B$11,$B$2:$B$11,$C$2:$C$11)),ROWS(D$2:D2)),ROW($B$2:$B$11)-ROW($B$2)+1),1))
กด Ctrl+Shift ค้าง แล้ว Enter -> คัดลอกลงล่างจนเห็นค่าผิดพลาด
ที่ E2 คีย์
=IF(ISTEXT(D2),SUMIF($B$2:$B$11,D2,$C$2:$C$11),0)
Enter -> คัดลอกลงล่างครับ
B2:B11
-> Conditional format -> New Rule -> Use a formula to determine...ปรับ E2 ใหม่เป็นด้านล่างนะครับ (ส่วน D2 ใช้สูตรเดิม)logic wrote:อันนี้หายอดขึ้นมาก่อนครับ
E2 =IFERROR(LARGE(IF(FREQUENCY(MATCH(SUMIF($B$2:$B$11,$B$3:$B$11,$C$2:$C$11),SUMIF($B$2:$B$11,$B$3:$B$11,$C$2:$C$11),0),ROW($B$2:$B$11)-ROW($B$2)+1),SUMIF($B$2:$B$11,$B$3:$B$11,$C$2:$C$11)),ROWS($E$2:E2)),"")
D2 =IF(N(E2),INDEX($B$2:$B$11,SMALL(IF(SUMIF($B$2:$B$11,$B$2:$B$11,$C$2:$C$11)=E2,ROW($B$2:$B$11)-ROW($B$2)+1),COUNTIF(E$2:E2,E2))),"")
ทั้งสองสูตรต้องกดแป้นแบบ Array คือ ctrl+shift+enter
แต่ในส่วนของ คุณ logic พบว่าพอลองใส่ข้อมูลเพิ่มแล้วlogic wrote:อันนี้หายอดขึ้นมาก่อนครับ
E2 =IFERROR(LARGE(IF(FREQUENCY(MATCH(SUMIF($B$2:$B$11,$B$3:$B$11,$C$2:$C$11),SUMIF($B$2:$B$11,$B$3:$B$11,$C$2:$C$11),0),ROW($B$2:$B$11)-ROW($B$2)+1),SUMIF($B$2:$B$11,$B$3:$B$11,$C$2:$C$11)),ROWS($E$2:E2)),"")
D2 =IF(N(E2),INDEX($B$2:$B$11,SMALL(IF(SUMIF($B$2:$B$11,$B$2:$B$11,$C$2:$C$11)=E2,ROW($B$2:$B$11)-ROW($B$2)+1),COUNTIF(E$2:E2,E2))),"")
ทั้งสองสูตรต้องกดแป้นแบบ Array คือ ctrl+shift+enter