Fast Faster Fastest
Home

เร็ว เร็วกว่า เร็วที่สุด

เมื่อสิบกว่าปีก่อน หลังจากลาไปเรียน MBA แล้วกลับเข้าทำงานที่ธนาคารไทยพาณิชย์อีกครั้ง ผมได้รับมอบหมายงานมหาหิน โดยธนาคารต้องการทราบยอดค่าใช้จ่ายดอกเบี้ยรายเดือน 60 เดือน ให้สร้างตารางคำนวณหายอดดอกเบี้ยรวม พยากรณ์ไปในอนาคต

สูตรคำนวณหาดอกเบี้ยของธนาคารไม่ยากเท่าไร เพราะมีรูปแบบและวิธีคิดคำนวณตายตัวอยู่แล้ว แต่ที่ทำให้งานนี้เป็นงานมหาหินก็เพราะว่า นอกจากจะต้องคำนวณหาดอกเบี้ย 60 เดือน ยังต้องศึกษาว่า ถ้าอัตราดอกเบี้ยเปลี่ยนแปลงไปทีละ .25% จะมีผลกระทบต่อยอดดอกเบี้ยทั้ง 60 เดือนนี้อย่างไรบ้าง

หัวหน้าให้ศึกษาผลกระทบของอัตราดอกเบี้ยตั้งแต่ ร้อยละ 5, 5.25, 5.5, 5.75, .... บวกเพิ่มไปทีละ .25 จนไปถึง อัตราดอกเบี้ยร้อยละ 10

ให้จัดทำตารางเป็นรายงานสรุปหน้าเดียว แนวตั้งเป็นอัตราดอกเบี้ยตั้งแต่ร้อยละ 5 ถึงร้อยละ 10 ส่วนแนวนอนเป็นยอดดอกเบี้ย เรียงไป 60 เดือน

%

เดือนที่

1 2 3 4 5 ... 60
5.00               
5.25               
5.50               
5.75               
6.00               

...

             
10.00                

เอ! จะทำยังไงดีล่ะทีนี้ นั่งคิดนอนคิดอยู่หลายวัน คิดออกเป็นอย่างเดียวก็คือ โจทย์ยากๆอย่างนี้ต้องใช้ macro แล้วล่ะ (สมัยนั้นผมยังใช้ Data Table ไม่เป็นนี่นา)

เชื่อว่าหลายๆท่านที่ใช้ Excel พอเป็น แต่พอเจองานที่คิดไม่ออก บอกไม่ถูก เจองานที่ทำให้หัวหมุนไปหมุนมา เห็นงานที่ต้องทำซ้ำๆๆๆ มักจะหาทางออกว่า นี่ ถึงเวลาที่จะต้องหันไปใช้ macro หรือ vba กันทั้งนั้น

อย่างตารางดอกเบี้ยนี้ ผมใช้ macro สั่งให้ใช้อัตราดอกเบี้ย 5% แล้วคำนวณหาดอกเบี้ยทั้ง 60 เดือน แล้วสั่งให้ copy คำตอบไปปะในตารางสรุปแบบ value แล้วให้ macro วนการทำงานไปอีกรอบ ให้เพิ่มอัตราดอกเบี้ยขึ้นเป็น 5.25% แล้วให้ทำงานวนไปอีก วนไปอีกจนกระทั่งถึงอัตราดอกเบี้ย 10%

เครื่อง IBM AT ที่ใช้อยู่สมัยนั้น คำนวณไปพิมพ์ไป ใช้เวลาเกือบครึ่งค่อนวัน ได้ตารางสรุปดอกเบี้ยที่ว่านี้ในที่สุด พอนำไปส่งหัวหน้า ท่านยังไม่เชื่อว่าคำนวณถูกต้อง ยังใช้เครื่องคิดเลขตรวจสอบการคำนวณซ้ำอีกหลายรอบ เพราะตารางนี้จะต้องส่งไปให้สาขาใช้ทั่วประเทศ ห้ามผิดพลาดเด็ดขาด

เชื่อว่า สมัยโน้น ผมอาจเป็นคนไทยคนแรกๆที่ใช้ macro เสียด้วยซ้ำ เพราะในธนาคารเอง จะมีฝ่ายวิจัยวางแผนกับฝ่ายคอมพิวเตอร์เท่านั้นที่จะมีโอกาสได้ใช้เครื่อง PC

ทำงานเสร็จแล้วครับ หัวหน้ายกนิ้วให้เลยว่า เก่ง ประเมินผลงานประจำปีออกมาว่าเยี่ยม ผมล่ะยิ้มแถมภาคภูมิใจ ตัวลอยไปไกลทีเดียว

ต่อมา ก่อนจะย้ายออกจากธนาคาร รุ่นน้องในฝ่ายแนะว่า โจทย์ที่ผมเจอแบบนั้นน่ะใช้ Data Table ก็ได้ เขาอธิบายให้ผมฟัง ก็ยังไม่เข้าใจ ยังไม่เข้าใจว่า Data Table นี่มันทำงานอย่างไร

เดี๋ยวนี้เข้าใจแล้วครับว่า Data Table เป็นอย่างไร เจ้าความภาคภูมิใจของผมที่เคยใช้ macro ตอนโน้นน่ะหมดสิ้นเกลี้ยงไปเลย ถ้าผมใช้ Data Table เป็นตั้งแต่ตอนนั้น งานจะเสร็จในเวลาไม่กี่นาที

เครื่องไม้เครื่องมือที่ Excel มีอยู่ จะใช้ทำงานได้เร็วช้าต่างกันไปตามลำดับดังนี้

  1. สูตรและคำสั่งใน worksheet ทำงานเร็วที่สุด
  2. สูตรและคำสั่งใน vba ทำงานเร็วรองลงมา
  3. สูตรและคำสั่งใน vba ซึ่งเราสร้างขึ้นมาเองทำงานช้าที่สุด

ยิ่งตัวชิบ Intel Pentium มีความสามารถมากขึ้น ยิ่งจะทำให้สูตรและคำสั่งใน worksheet ทำงานเร็วขึ้นไปอีก

ดังนั้นหลักการใช้ vba ที่ถูกต้อง ไม่ได้ขึ้นกับว่า เราสร้างรหัส vba ได้ถูกต้องและใช้ทำงานได้เท่านั้น แต่ก่อนอื่นจะต้องรู้จักว่า เมื่อใดจะใช้ vba

Home

 

เอกสารประกอบหลักสูตร Excel Expert Training   
http://www.tpa.or.th/xlsiam     http://xls.i.am

05/11/2544