06 ตารางคำนวณต้องมาก่อน ส่วนสูตรลัดมาทีหลัง

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

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

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

ยกตัวอย่างสูตรคำนวณหาชื่อแฟ้ม ซึ่งดูแล้วยากที่จะจำ และไม่มีทางรู้ว่ามีหลักการคิดมาได้อย่างไร

=MID(CELL(“filename”),FIND(“[“,CELL(“filename”))+1,FIND(“]”,CELL(“filename”))-FIND(“[“,CELL(“filename”))-1)

สูตรนี้มีที่มาจากสูตร

=MID(ข้อความที่มีชื่อแฟ้ม, เลขตำแหน่งเครื่องหมาย [, เลขจำนวนตัวอักษรของชื่อแฟ้ม)

แยกคำนวณแต่ละส่วนได้ตามรูปต่อไปนี้

image005

แทนที่จะใช้สูตรยาวจนจำแทบไม่ไหวในเซลล์ B7 ให้เริ่มจากการใช้สูตรหาค่าที่เกี่ยวข้องกับการแยกคำทีละขั้น ดังนี้

  1. เซลล์ A1 ใช้สูตร =CELL(“filename”) เพื่อหาชื่อแฟ้ม โดยคำตอบที่ได้จะแสดงทั้งชื่อ drive ชื่อโฟลเดอร์ ชื่อแฟ้ม และชื่อชีท
  2. เซลล์ B3 และ B4 ใช้สูตร =FIND(“[“,$A$1) และ =FIND(“]”,$A$1) เพื่อคำนวณหาตำแหน่งของเครื่องหมายวงเล็บ [ ] ตามลำดับ
  3. เซลล์ B5 ใช้สูตร =MID(A1,B3+1,B4-B3-1) เพื่อแยกเฉพาะส่วนที่เป็นชื่อแฟ้มออกมาใช้งาน