ยุคนี้เรื่องการทำความสะอาด Cleaning Data เริ่มมีความสนใจอยากใช้มากขึ้น ส่วนใหญ่มักบอกกันว่าต้องทำความสะอาดข้อมูลก่อนเพื่อช่วยทำให้สูตร VLookup, XLookup หาค่าเจอ เช่น
=Trim(Cell) เพื่อตัดวรรคที่ใส่มาเกิน ไม่ว่าจะวรรคหน้าหลังหรือตรงกลาง ให้เหลือวรรคเดียวระหว่างคำ เช่น abc def
=Left(Cell,3) เพื่อตัดข้อความให้เหลือเพียง 3 ตัว abc นับมาจากด้านซ้าย
=Right(Cell,3) เพื่อตัดข้อความให้เหลือเพียง 3 ตัว def นับมาจากด้านขวา
=Mid(Cell,3,1) เพื่อตัดข้อความให้เหลือเพียง 1 ตัว c นับมาจากด้านซ้ายตัวที่ 3
สูตรพวกนี้มักนำมาคลีนข้อมูลที่เป็นตัวอักษร ถ้านำมาใช้กับตัวเลข ต้องระวังว่าผลที่ได้จะกลายเป็น Text เช่น ถ้าในเซลล์ใส่เลข 123 เอาไว้ =Mid(Cell,3,1) แม้จะได้ค่าออกมาเห็นเป็นเลข 3 แต่เลข 3 ที่ได้จะชิดซ้ายออกมาให้รู้ว่ามีสถานะเป็น Text ไปแล้ว
ก่อนจะนำเลข 3 ที่ได้ไปใช้บวกลบต่อต้องปรับให้กลับมาเป็นตัวเลข 3 ที่ชิดขวา โดยใส่เครื่องหมายลบลบกระตุ้นให้กลับมาเป็นตัวเลขแบบเซลล์เดิมต้นทาง
Cleaning Data ที่สำคัญมากๆแต่มักนึกไม่ถึงกัน ถ้าเป็นตัวเลขที่เกิดจากการคำนวณ หากจะนำไปใช้ต่อในการตัดสินใจ ต้องหาทางทำให้ตัวเลขผลลัพธ์ที่ได้มานั้นมีค่าตรงกับเงื่อนไขที่ใช้ก่อน จึงจะนำไปใช้กับสูตร IF, Choose, Match, VLookup, XLookup แล้ว Excel ตัดสินใจถูกต้อง
ตัวอย่างง่ายๆ เช่น ในเซลล์ B2 สร้างสูตร =2.3-2.2 ไว้ เรามักนึกว่าได้คำตอบเป็นเลข 0.1 แต่พอนำค่าไปเทียบด้วยสูตร IF กลับให้คำตอบเป็น No
=IF( B2 = 0.1, "Yes", "No")
สาเหตุที่สูตร IF ไม่คืนค่าออกมาเป็น Yes เพราะแท้จริงแล้ว 2.3-2.2 ได้ค่า 0.0999999999999996 ออกมาแต่เพราะเจอรูปแบบให้แสดงทศนิยม 1 หลักเลยแสดง 0.1 ให้เห็น
ถ้าต้องการนำไปเทียบกับ 0.1 ว่าเท่ากันจริงไหม ต้องปรับสูตรเป็น
=IF( ROUND(2.3-2.2, 1) = 0.1, "Yes", "No")
หรือ
=IF( ROUND(ฺB2, 1) = 0.1, "Yes", "No")
จึงจะได้คำตอบ Yes ออกมา
ขอให้หลักไว้ว่า ก่อนที่จะนำผลที่ได้จากการคำนวณไปใช้ต่อในการตัดสินใจ ต้องจัดการปรับค่าที่ได้ให้ตรงกับเงื่อนไขที่ใช้เทียบเสมอ แต่ถ้าไม่ได้ใช้ต่อในการตัดสินใจก็ปล่อยไปไม่ต้องทำความสะอาดก็ได้
Download ตัวอย่าง
https://drive.google.com/file/d/1sygrBbeWRZS-Mrr0gHh2ZP8ueGd53JFe/view?usp=sharing
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.