😎 เคล็ดนี้ไม่ต้องพึ่งพาการสั่ง Protect ครับ ถ้าไม่ใช่เจ้าของแฟ้ม พอเปิดแฟ้มขึ้นมา จะพบว่าตารางมีแต่เลข 0 เต็มไปหมด แต่ถ้าเป็นเจ้าของแฟ้ม ต้องรู้ว่าต้องไปที่เซลล์ไหน พอกรอกตัวเลข 123 กับ 999 ลงไป สูตรจึงจะทำงานได้ตามปกติ
สมมติว่า เราต้องการบวกเลข 1 กับเลข 2 ในเซลล์ B2 และ C2 เข้าด้วยกัน แต่ก่อนจะยอมให้สูตร B2+C2 ทำงานได้ตามปกติ ต้องผ่านการกรอกรหัสลงไปในเซลล์ B4 และ B5 เป็นเลข 123 และ 999 ตามลำดับให้ถูกต้องเรียบร้อยก่อน
ถ้าสร้างสูตร IF ซ้อน IF จะได้สูตรตามเซลล์ D2
=IF( B4=123, IF(B5=999, B2+C2, 0), 0)
หรือใช้สูตร And มาใช้งานร่วมด้วย กลายเป็นสูตร IF เพียงสูตรเดียวดังนี้
=IF( AND(B4=123,B5=999), B2+C2, 0)
ก่อนจะจัดเก็บแฟ้ม ให้ลบค่าในเซลล์ B4 กับ B5 ทิ้งไป แค่นี้แหละครับ คนที่เปิดแฟ้มขึ้นมา ถ้าไม่เก่งจริง ไม่สามารถไล่ย้อนไปหาที่ไปที่มาของสูตร จะไม่มีทางใช้แฟ้มของคุณได้เลย
☝️ ยังมีวิธีการลับๆที่นึกไม่ถึงเพื่อใช้ป้องกันแฟ้มที่เป็นผลงานของตัวเองในหลักสูตรสุดยอดเคล็ดลับและลัดของ Excel ครับ
ความถูกต้องใน Excel คือเป้าหมายที่สำคัญใช่ไหม แทนที่จะใส่เลข 0 ที่คนเห็นความแตกต่างชัด ลองนึกดูซิว่าถ้าใส่สูตรอื่นที่ทำให้เพี้ยนไปจากเดิมบ้างจะน่ากลัวขนาดไหน ได้แฟ้มผิดๆไปใช้โดยไม่รู้ตัว
ตัวอย่างนี้ทำให้ดูเพื่อจะได้เข้าใจง่าย เวลาใช้จริงยังมีวิธีซ่อนอีหหลายอย่าง ขนาดคนสร้างแฟ้มเองจะหาที่ตัวเองทำไว้ไม่พบทีเดียว
วิธีการนี้นำมาเปิดเผยเพื่อแนะนำว่า อย่าใช้แฟ้มมรดกที่คนสร้างเขาลาออกไปแล้วเลย
ลูกศิษย์ยกแฟ้มมาให้ผมดูบอกว่าหัวหน้าฝากมาถาม บอกว่าเดิมทีแฟ้มนี้คนสร้างเขากรอกชื่อของเขาไว้ที่เซลล์ A1 พอเขาลาออกไป เพื่อนเอามาใช้ต่อแล้วลบชื่อคนสร้างทิ้งไป ตั้งแต่นั้นแฟ้มนี้ก็คำนวณมั่วเลย บางวันก็เพี้ยนเป็นสิบล้าน บางวันก็เพี้ยนเป็นร้อยล้าน
ผมแกะดูพบว่าเขาผูกสูตรไว้ให้เกี่ยวข้องกับชื่อของเขา แถมมี VBA ควบคุมเข้าไปอีกชั้น ต่อให้กรอกแก้ไขโดยย้อนไปใส่ชื่อให้ถูก ก็ยังแก้ที่เขาทำไว้ไม่ได้ครับ
ส่วนใหญ่คนที่ลาออก มีใครบ้างที่ลาออกไปแบบ Happy ต้องระวังให้ดีครับว่าอาจได้อะไรแบบนี้มาใช้ต่อแล้วผิดได้โดยไม่รู้ตัว
คนชอบขโมยผลงานเนี่ย เจอบ่อย บางคนไม่ได้ลอกแต่เลียนแบบ เอาแนวทางที่ไม่เคยมีใครคิดถึงมาก่อนเอาไปใช้ น้อยคนนักที่จะให้เกียรติบอกขอบคุณที่มา
พอใช้ VBA เป็นจะมีหลายทางที่จะใช้ป้องกันเพิ่มเข้าไป แต่ต้องระวังว่าถ้าเขาเปิดแฟ้มแล้วไม่ enable macro จะป้องกันตามที่ทำไว้ไม่ได้ ผมใช้วิธีแก้ไขโดยสร้าง Function VBA ให้ลิงก์ข้อมูลในแฟ้มไปใช้ต่อแทนการลิงก์ปกติ ดังนั้นเมื่อ enable เท่านั้นสูตรที่ทำไว้จึงทำงานต่อได้
เพื่อนผมเป็นโปรแกรมเมอร์ขายโปรแกรมสำเร็จรูป จะเข้าไป service แล้วเพิ่มวันให้โปรแกรมของเขาทำงานต่อได้ตราบเท่าที่ลูกค้ายังจ่ายเงินให้ ถ้าจ่ายไม่ครบ โปรแกรมจะหยุดทำงานไปเลย
บทเรียนนี้สอนว่า "ห้ามติดเงินโปรแกรมเมอร์นะครับ"