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]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)มีผลอย่างแน่นอนครับ หากไม่ตรงกัน สูตรก็จะแสดงผลเป็น #N/Aชื่อ-สกุล ในตารางข้อมูลลูกจ้างชั่วคราวกับตาราง code เว้นวรรค ระหว่างชื่อ-สกุล ไม่เท่ากัน จะมีผลต่อการค้นหาหรือไม่ค่ะ
ถ้าทำเช่นนั้นได้ จะถือว่าดีมากครับ เพราะเลขบัตรประชาชนจะไม่ซ้ำกันเลยครับ แต่อย่างไรก็ควรจำลองรหัสปลอมมาน่ะครับ ไม่ควรเอาข้อมูลจริงมาโพสต์ไว้ เพื่อความปลอดภัยครับคุณ bank9597
พี่ขอแทนตัวว่าพี่ก็แล้วกันนะ หรือว่าพี่ทำข้อมูลใหม่ โดยใช้เลขบัตรประชาชนเป็นตัวเชื่อมดีไหมค่ะ แต่ว่าพี่ต้องไปทำชีตใหม่ก่อน ดีไหม ขอบคุณค่ะ
ขอบคุณอาจารย์มากครับ นึกว่าจะไม่มาช่วยเสียแล้ว อิอิsnasui wrote: มาช่วยเสริมเรื่องสูตรครับ
การ Match ข้อมูลสองเงื่อนไขขึ้นไปสามารถ If เข้ามาช่วยแทนการเชื่อมข้อมูลเข้าด้วยกัน เพื่อประสิทธิภาพการคำนวณที่ไวขึ้น สูตรมีความยืดหยุ่นมากขึ้นเนื่องจากสามารถเพิ่มเงื่อนไขเข้าไปได้ง่ายกว่าเดิม นอกจากนี้ให้เลือกขอบเขตข้อมูลเท่าที่มีไม่ควรจะเผื่อเอาไว้ให้เป็นภาระในการคำนวณโดยไม่จำเป็นครับ
ยกตัวอย่างสูตรเดิม
ที่ A2 คีย์
=INDEX(code!$A$2:$A$1000,MATCH(D2&E2,code!$B$2:$B$1000&code!$C$2:$C$1000,0))
Ctrl+Shift+Enter
สามารถปรับใหม่เป็น
=INDEX(code!$A$2:$A$990,MATCH(1,IF($D2=code!$B$2:$B$990,IF($E2=code!$C$2:$C$990,1)),0))
Ctrl+Shift+Enter