บทความนี้คือส่วนหนึ่งของโครงการ ร่วมสร้าง “หนังสือคู่มือ Excel ที่เจ๋งที่สุด” ใครที่มี comment เพื่อแนะนำ ปรับปรุงหนังสือได้ คุณจะได้เครดิตในฐานะผู้ร่วมเขี
ปกติแล้วเวลาพูดถึงเรื่องการค้นหาข้อมูล คนส่วนใหญ่คงนึกถึงเครื่องมือ Find (Ctrl+F) ซึ่งผมก็ใช้มันบ่อยมากเช่นกัน แต่วันนี้ผมจะมาเปิดเผยความสามารถลับๆ ของมันที่หลายคนอาจยังไม่รู้ เป็นยังไงมาดูกันเลย!
การใช้เครื่องมือ Find เพื่อค้นหาข้อมูล
เครื่องมือนี้ เอาไว้ค้นหาสิ่งที่ต้องการ มีวิธีสั่งงานโดยให้ไปที่ [Home] –> Editing–> Find & Select –> Find… หรือ กด Ctrl+F ก็ได้ ง่ายกว่าเยอะ โดยที่ก่อนจะทำการค้นหา ถ้าเราเลือก Range เอาไว้ก่อน แล้วค่อยกด Ctrl+F มันจะหาเฉพาะ Range ที่เราเลือก (แต่ถ้าเลือกที่ Cell เดียว มันจะหาทั้งหมดเลย เพราะคงไม่มีใครหา Cell เดียวจริงมั๊ยครับ?)
จากนั้นใส่คำค้นหาที่ต้องการใน Find what: จากนั้นก็จะให้เลือกเอาว่าจะกด Find Next หรือ Find All
Find Next ก็จะทำให้ Active Cell เด้งไปยังผลลัพธ์ที่อยู่ถัดไป ส่วน Find All ก็จะ List ผลลัพธ์ทั้งหมดที่เจอมาให้เลย
โดยที่การค้นหาของเรา สามารถกำหนด Options >> เพิ่มเติมได้ ซึ่งจะมีเงื่อนไขให้เลือกเพิ่ม คือ
- Format… ระบุรูปแบบที่ต้องการ ซึ่งหากขี้เกียจระบุเองก็สามารถกด Choose Format from cell แล้วจิ้มไปยัง Cell ที่มีรูปแบบที่ต้องการได้เลย
- Within: เอาไว้ระบุว่าจะหาเฉพาะใน Sheet หรือใน Workbook
- Look in: ตรงนี้มีให้เลือก 2 แบบ ซึ่งสำคัญมากๆๆ นั่นก็คือFormulasหรือValues
- Formula : จะเป็นการค้นหาจากสิ่งที่อยู่ใน Formula Bar ของแต่ละช่อง
- Value : เป็นการค้นหาจากผลลัพธ์ที่แสดงออกมาใน Cell แต่ละช่อง
- Match Case : ติ๊กเลือกถ้าต้องการสนใจตัวพิมพ์เล็กตัวพิมพ์ใหญ่ว่าต้องตรงกัน
- Match entire cell contents : ติ๊กเลือกอันนี้ ถ้าต้องการให้เจอทั้งคำใน Cell เท่านั้น
การใช้เครื่องมือ Find เพื่อเลือกข้อมูลหลายๆ Cell
ที่ผมบอกว่าเครื่องมือ Find มันเจ๋งก็คือตรงความสามารถ Find All นี่แหละ ปกติเวลาคนหาแล้วกด Find All มันจะ List ผลการค้นหาทั้งหมดที่เจอมาให้ แต่สังเกตว่ายังเลือกช่องเดียวอยู่
ตรงนี้แหละ ให้กด Ctrl+A เพื่อเลือกผลลัพธ์ทุกอัน คุณจะเห็นว่า Cell ต่างๆ ใน Excel ก็จะถูกเลือกไปด้วย ซึ่งอันนี้แหละเป็นเทคนิคการ Select Cell ที่เจ๋งมาก
การใช้เครื่องหมาย Wildcard เพื่อค้นหาข้อมูลแบบ Advance
ที่นี้เทคนิคสำคัญที่หลายคนอาจจะไม่รู้ก็คือ เครื่องมือ Find นี้เราใส่เครื่องหมายอเนกประสงค์อย่างเครื่องหมาย Wild Card เช่น ? หรือ * ได้ด้วย แล้วมันคืออะไรมาดูกัน
เวลาเราใช้ เครื่องมือการค้นหาอย่าง Find/Replace รวมถึงการใช้ Function ที่ Support การค้นหาข้อมูล เช่น SEARCH, SUMIF, VLOOKUP, etc.. จริงๆเราสามารถค้นหาคำที่มีลักษณะคล้ายกับคำที่กำหนดแต่ไม่เหมือนเป๊ะๆได้ ด้วยการใช้เครื่องหมาย Wildcard มาช่วย
- เครื่องหมายคำถาม (?) แทนตัวอักษรใดๆก็ได้จำนวน 1ตัวอักษร
- เช่น “b?t” จะเจอคำที่มี 3 ตัวอักษร ที่ขึ้นต้นด้วย b และลงท้ายด้วย t เช่น bat และ but แต่ไม่จอ bt (เพราะตรงกลางไม่มีตัวอักษร)
- เครื่องหมายดอกจัน (*) แทนตัวอักษรใดๆก็ได้จำนวนกี่ตัวอักษรก็ได้
- เช่น “b*t” จะเจอทุกคำที่ขึ้นต้นด้วย b และ ลงท้ายด้วย t เช่น bat, but, bt, beast
- เช่น “*ing” จะเจอทุกคำที่ลงท้ายด้วย ing เช่น interesting, sing, ping
- เช่น “a*” จะเจอทุกคำที่ขึ้นต้นด้วย a รวมถึง a ตัวเดียวด้วย
- ลองใช้ผสมๆ กัน
- เช่น “a?*” จะเจอทุกคำที่ขึ้นต้นด้วย a แต่ไม่รวมถึงคำที่มี a แค่ตัวเดียว
- ถ้าอยากจะหาคำที่มีเครื่องหมายคำถาม หรือ ดอกจันจริงๆ ในข้อความ ให้ใส่เครื่องหมาย ~ นำหน้าอักษรนั้นๆ เช่น คำว่า star*wars ให้ใส่ใน criteria ว่า “star~*wars”
- ข้อความที่พิมพ์นั้น จะไม่สนใจตัวพิมพ์เล็กพิมพ์ใหญ่ ดังนั้นฟังก์ชั่นที่รองรับ Wildcard มันจะไม่สนใจตัวพิมพ์เล็กพิมพ์ใหญ่นะครับ อันนี้อาจต้องระวัง
ฟังก์ชั่นที่รองรับเครื่องหมาย Wildcard มีดังนี้
AVERAGEIF, AVERAGEIFS, COUNTIF, COUNTIFS, DPRODUCT, DSTDEVP, DSUM, DVARP, HLOOKUP, MATCH, SEARCH, SEARCHB, SUMIF, SUMIFS, VLOOKUP
ซึ่งจะมีตัวอย่างการใช้ Wildcard คู่กับฟังก์ชั่นต่างๆ เช่น VLOOKUP ในบทต่อๆ ไปครับ อดใจรอหน่อยนะ
ตัวอย่างการใช้เครื่องมือ Find แบบ Advance
ปกติแล้วเครื่องมือ Find/Replace ถ้าเราไม่ได้เลือก Match entire cell contents ล่ะก็ มันจะเป็นการค้นหาช่องที่มีคำคำนั้นอยู่ ไม่ว่าจะเป็นส่วนใดส่วนหนึ่ง เช่น หาคำว่า cat ก็จะเจอในทุก cell ที่มีคำว่า cat ไม่ว่าจะมีคำอื่นอยู่ด้วยหรือไม่ หรืออยู่ตำแหน่งใดก็ตาม เช่น cat, category, scatter, tomcat
ดังนั้นหากเราเขียน Wildcard ว่า cat* แต่กลับไม่ได้เลือก Match entire cell contents มันก็จะให้ผลเหมือนเดิมอยู่ดี เพราะเครื่องมือ Find จะทำตัวเหมือนใส่ Wildcard * นำหน้าและต่อท้ายคำค้นหาให้โดยอัตโนมัติอยู่แล้ว
แล้วถ้าเราอยากให้หาช่องที่ขึ้นต้นด้วยคำว่า cat ล่ะ? จะเขียนยังไง?
ถ้าเราติ๊กเลือกว่า Match entire cell contents แปลว่า มันจะต้องเจอให้ครบทั้งคำจริงๆ เช่น ถ้าหาว่า cat ก็จะเจอแต่ cat (ทั้งพิมพ์เล็กพิมพ์ใหญ่)
หรือถ้าหาว่า cat* ก็จะเจอทุกคำที่ขึ้นต้นด้วย cat (ตามด้วยอะไรก็ได้) แต่จะไม่เจอช่องที่มีคำอื่นขึ้นก่อน cat เช่น scatter, tomcat เลย
แต่ถ้าอยากจะให้มันสนใจตัวพิมพ์เล็กพิมพ์ใหญ่ตามเราด้วย ก็ให้ติ๊ก Match Case เพิ่มไปครับ
การใช้เครื่องมือ Replace
ถ้าเราใช้เครื่องมือ Find เป็นแล้ว การใช้ Replace ก็ไม่ใช่เรื่องยาก นั่นก็คือเราจะต้องเลือกเพิ่มเติมว่า หากใช้ Find หาเจอแล้ว ต่อไปจะทำการแทนที่ หรือ Replace ด้วยคำว่าอะไร รูปแบบอะไรแทน
วิธีการสั่งงานก็เหมือน Find เลยครับ แต่เปลี่ยนคีย์ลัดเป็น Ctrl+H แทน
เทคนิคการใช้เครื่องมือ Replace
- ใช้เปลี่ยนข้อมูล : จากอันหนึ่งเป็นอีกอันหนึ่ง เช่น จาก cat เป็น dog
- ใช้เปลี่ยนสูตร : เช่น จาก =Sheet2!B2:E7 เป็น =Sheet3!B2:E7
- ลบข้อมูลใน Cell : ทำได้โดยใส่ข้อมูลใน Find what: แต่ใน Replace With: ให้ปล่อยว่างไว้
- ใช้เปลี่ยน Format : เช่น เปลี่ยนทุกช่องที่มี Fonts ตัวเอียง ให้กลายเป็นทั้งเอียงและขีดเส้นใต้ เป็นต้น