วันนึงผมเจอคนที่ทำงานเอาไฟล์ Excel อันนึงให้ดู ผมเจอสูตรที่แปลกมาก คือ อันนี้ครับ
=SUM(C7+D7+E7+F7+H7+I7)
คือมันเป็นสูตรที่ดูแล้วขัดหูขัดตามาก เพราะมีความแปลกในตัวเองหลายประการ แต่ก็เป็นสิ่งที่น่าสนใจเลยอยากจะเอามาแชร์กันครับ
ประการแรก คนทั่วไปก็จะคิดว่า ทำไมไม่เขียนแบบนี้
=SUM(C7:I7)
แน่นอนว่ามันไม่เหมือนกัน เพราะสูตรตั้งใจเว้น G7 เอาไว้ ดังนั้นควรจะเขียนแบบนี้มากกว่า
=SUM(C7:F7)+SUM(H7:I7)
แต่ว่าการเขียน =SUM(C7:F7)+SUM(H7:I7) อาจมีข้อจำกัดบางอย่างที่สู้สูตรแรกไม่ได้ เช่น
- ถ้าข้อมูลในช่องดันเป็นข้อมูล Text ที่หน้าตาเหมือนตัวเลข แต่เราดันอยากบวกมัน แบบนี้ SUM ไปตรงๆ จะบวกไม่ได้ เพราะว่าสูตร SUM จะหาผลรวมเฉพาะช่องที่มีประเภทข้อมูลเป็น Number เท่านั้น (ซึ่งก็ดีในสถานการณ์ทั่วๆ ไปแหละครับ) แต่ถ้าเราดันอยากให้บวก Text ที่หน้าตาเหมือนตัวเลขด้วย เจ้า =SUM(C7:F7) ก็จะทำหน้าที่นี้ไม่ได้
- ถ้าหากมีการแทรกคอลัมน์ระหว่าง Range ที่อยู่ในสูตร SUM เช่น C7:F7 ตัว Cell ใหม่ที่แทรกขึ้นมา ก็จะถูกบวกเข้าไปด้วยโดยอัตโนมัติ (ซึ่งก็ดีในสถานการณ์ทั่วไป) แต่ถ้าหากเราอยู่ในสถานการณืที่ไม่อยากให้เอามาบวกด้วย แบบนี้สูตร =SUM(C7:F7) ก็จะไม่ดี
ดังนั้นถ้าเราอยากแก้ไขจุดอ่อนของ SUM ธรรมดา เช่น
อยากให้บวกข้อมูล Text ที่หน้าตาเหมือนตัวเลขได้
เราอาจต้องเขียนสูตรแบบนี้แทน เช่น =SUM((C7:F7)*1) แล้วกด Ctrl+Shift+Enter (เป็นสูตรแบบ Array Formula) หรือจะใช้เป็น =SUMPRODUCT((C7:F7)*1) แล้วกดแค่ Enter แทนก็ได้
ทั้งนี้การ *1 เพื่อทำให้แปลง Text เป็น Number ซะก่อน แล้วค่อย SUM เพราะถ้าเราใช้ Math Operator ใดๆ เช่น + – * / ใส่เข้าไป จะช่วยให้แปลง Text เป็น Number ได้
อยากให้ปลอดภัยต่อการแทรกคอลัมน์
เราก็ควรจะใช้ =SUM(C7,D7,E7,F7) เพราะว่าสามารถใช้เทคนิคกด Ctrl ค้างไว้แล้วไล่คลิ๊กแต่ละช่องได้ ซึ่งจะช่วยให้เขียนสูตรเร็วขึ้น ง่ายกว่าการใส่ + ลงไป
อยากให้ทั้งบวกข้อมูล Text ที่หน้าตาเหมือนตัวเลขได้ และ ปลอดภัยต่อการแทรกคอลัมน์
เราก็ควรใช้สูตร =SUM(C7+D7+E7+F7+H7+I7) ???
จะเห็นว่าก็ไม่ เพราะมันก็เป็นการเขียนโดยไม่จำเป็นอยู่ดี
เพราะจริงๆ เขียนว่า =C7+D7+E7+F7+H7+I7 ก็พอแล้วจริงมั้ยครับ?
นี่คือสาเหตุที่ว่า คิดยังไง ในมุมไหน สูตรนี้ก็แปลกอยู่ดี
อย่างไรก็ตาม ถ้ามันได้คำตอบที่ถูกต้องตามที่คนเขียนต้องการ มันก็เป็นสูตรที่ทำหน้าที่ของมันได้แล้วล่ะครับ
เพื่อนๆ คิดยังไงกันบ้างครับ?? Comment กันได้นะ