“อยากคำนวณ %Change เทียบกับเป้าหมาย ต้องเขียนสูตรยังไงครับ” โจ้ถามในเช้าวันสงกรานต์ที่ไม่ได้เป็นวันหยุด
“ช่วงนี้ตกเป้ากระจุยเลยพี่ คิดเปอร์เซ็นต์เปลี่ยนแปลงผิดทุกที” โจ้เสริม
“เอ … พี่คุ้น ๆ ว่าเหมือนเคยสอนสูตรนี้แล้วนะ ใช่มะ ?”
“เออใช่! พี่เคยสอนแล้ว เดี๋ยวขอหาแป๊ปนึง” โจ้ตอบพลางแบมือตบหน้าผากตัวเอง
“เจอแล้ว สูตรนี่ไง!” โจ้ร้องลั่นออฟฟิศ
=IF( AND( B4>0, C4=0 ),100%,
IF( AND( B4<0, C4=0 ),-100%,
IF( AND( B4=0, C4=0 ), 0,
(B4-C4) / ABS(C4) ) ) )

(สำหรับผู้ที่สนใจที่มาของสูตร อ่านรายละเอียดได้จากบทความ ep1 หรือคลิก ที่นี่ )
โจ้ร้องดังมาก น้องโบจึงเดินมาหาต้นเสียง เห็นผมกับโจ้สุมหัวกันเลยเข้ามาแจม นั่งดูสูตรแป๊ปนึงแล้วพูดว่า
“หนูว่าสูตรเหมือนดูซ้ำซ้อนนะคะพี่”
“เหมือนต้องการผลลัพธ์โดยดูจากเซลล์ B4 น่าจะใช้ฟังก์ชัน SIGN ได้นะคะ”
“เฮ้ย .. จริงด้วย!!” ผมร้องลั่น เสียงดังกว่าโจ้อีก
ฟังก์ชัน SIGN คืออะไร?
ฟังก์ชัน SIGN คือฟังก์ชันที่ใช้แสดงเครื่องหมายของตัวเลข
โครงสร้างง่ายมาก คือ
SIGN( number )
number คือ ตัวเลข เช่น 2, 250, 0, -2, B4
SIGN ให้ผลลัพธ์ได้ 3 แบบ คือ 1, 0, -1
ถ้า number เป็นบวก ให้ผลลัพธ์เป็น 1
ถ้า number เป็นศูนย์ ให้ผลลัพธ์เป็น 0
ถ้า number เป็นลบ ให้ผลลัพธ์เป็น -1
เช่น
SIGN(2) = 1
SIGN(250) = 1
SIGN(0) = 0
SIGN(-2) = -1
SIGN(-250) = -1
แล้วจะเอาฟังก์ชัน SIGN มาใช้กับเคสนี้ยังไง?
มาลองวิเคราะห์สูตรเดิมกัน
=IF( AND( B4>0, C4=0 ),100%,
IF( AND( B4<0, C4=0 ),-100%,
IF( AND( B4=0, C4=0 ), 0,
(B4-C4) / ABS(C4) ) ) )
จะพบว่า IF 3 ชั้น ใช้ในกรณีที่ C4=0 หมดเลย
เพราะถ้า C4 เป็นศูนย์ ก็จับหาร (B4-C4) ไม่ได้ ไม่งั้นจะขึ้น #DIV/0!
แล้วถ้าใช้ฟังก์ชัน IFERROR แทน IF ล่ะ ?
อาจเขียนสูตรใหม่ได้เป็น
=IFERROR( (B4-C4)/ABS(C4),
IF( B4>0, 1,
IF( B4=0, 0,
IF( B4<0, -1 ) ) ) )
เริ่มเห็นสิ่งที่น้องโบ ‘เห็น’ แล้วใช่ไหมครับ ^__^
ใช่ครับ IF 3 ชั้น ถูกเขียนขึ้นมาเพื่อต้องการผลลัพธ์เป็นเครื่องหมายของ B4 นั่นเอง
ถ้า B4>0 หรือ B4 เป็นบวก ต้องการ 1
ถ้า B4=0 หรือ B4 เป็นศูนย์ ต้องการ 0
ถ้า B4<0 หรือ B4 เป็นลบ ต้องการ -1
นี่มัน SIGN(B4) ชัดๆ !!
ดังนั้น
IF( B4>0, 1,
IF( B4=0, 0,
IF( B4<0, -1 ) ) )
สามารถยุบได้เหลือเพียง
SIGN(B4)
หรือเขียนสูตรใหม่ได้เป็น
=IFERROR( (B4-C4)/ABS(C4), SIGN(B4) )

นี่แหละครับ ความเจ๋งของฟังก์ชันที่ชื่อสั้นๆว่า SIGN ^__^
ด้วยผลกระทบจาก COVID-19 ตัวเลขช่วงนี้อาจต่ำเป้าหมายที่วางไว้ สูตรนี้น่าจะช่วยให้คำนวณได้ง่ายขึ้น
ตัวเลขไม่ดีอาจทำให้หลายคนเครียด แต่เครียดไปตัวเลขก็เท่าเดิม งั้นก็ไม่เครียดดีกว่า สิ่งสำคัญในยามนี้คือการอยู่รอดและกำลังใจ เราจะฝ่าฟันวิกฤติครั้งนี้ไปด้วยกันครับ
สู้ๆ !
สำหรับใครที่สนใจไฟล์ตัวอย่างของบทความนี้ สามารถดาวน์โหลดเพื่อศึกษาเพิ่มเติมได้เลยครับ
ป.ล. ผู้คิดสูตร IFERROR( (B4-C4)/ABS(C4),SIGN(B4) ) คือคุณ Bo Rydobon เจ้าของเพจ Excel Wizard นั่นเอง
ขอบคุณ “น้องโบ” ที่แชร์เทคนิคดีๆครับ ^/\^
.
หากคุณชอบบทความแนวนี้ สามารถอัพเดตบทความใหม่โดยคลิก Like เฟซบุ๊กแฟนเพจ วิศวกรรีพอร์ต
อย่าลืมแชร์ให้เพื่อนอ่านเพื่อเป็นกำลังใจให้คนเขียนด้วยนะครับ ^__^
อ้อ! ตอนนี้ผมมีสอนแบบออนไลน์แล้วนะครับ สนใจดูรายละเอียดได้จาก ลิงก์นี้ ครับ
One thought on “ทำไมเพิ่งเจอ! สูตร Excel คำนวณ % การเปลี่ยนแปลง ep 2 (% Growth YoY)”