สร้างแบบฟอร์มสลับภาษาอัตโนมัติ (ไทย-อังกฤษ) ตอนที่2 จากที่เราได้ฝึกปฏิบัติ การเขียนสูตรสำหรับการสร้างแบบฟอร์มสลับภาษาอัตโนมัติ ตอนที่1 มาแล้วนั้น หวังเป็นอย่างยิ่งว่า ผู้อ่านทุกท่านได้ลองปฏิบัติตามตั้งแต่ต้นจนจบ มาพร้อมๆ กัน ซึ่งในวันนี้เราจะมาต่อยอดกัน เพื่อให้สามารถนำไปประยุกต์ใช้งานต่อไป ก่อนที่จะฝึกปฏิบัติตอนที่ 2 นี้ ผมอยากจะแน่ใจว่า ไฟล์ workshop คราวที่แล้วของคุณยังอยู่ และได้ใส่สูตรครบถ้วนทุกเซลล์แล้ว หากใครยังทำไม่เสร็จ ก็ขอให้กลับไปทำให้เสร็จก่อน ไม่ต้องใจร้อนครับ ค่อยๆ ทำ จะได้จำได้ หากไม่แน่ใจว่าจะทำออกมาถูกต้องหรือไม่นั้น ผมมีไฟล์เฉลย เพื่อเอาไปตรวจสอบดูว่าออกมาเหมือนกันหรือไม่ ดาวน์โหลดไฟล์ workshop ที่สำเร็จแล้ว ของเนื้อหาตอนที่ 1 ได้ที่ //www.e-hrit.com/samroeng/download/Language_Switching_Form-2.xls เมื่อโหลดมาแล้ว ก็เปิดไฟล์นี้ขึ้นมาครับ ในตอนที่แล้ว เราสร้างเฉพาะแบบฟอร์มเปล่าๆ แต่ในคราวนี้ เราจะลิงค์ข้อมูลมาใส่ในแบบฟอร์มด้วย เนื่องจากแบบฟอร์มนี้คือ "ใบสั่งซื้อ" ซึ่งเราจะต้องใส่ข้อมูลบริษัทผู้ขาย เบอร์โทร เบอร์แฟกซ์ และชื่อผู้ติดต่อ ลงในแบบฟอร์ม เราจำเป็นต้องมีฐานข้อมูลรายชื่อบริษัทผู้ขายด้วย และเพื่อความสะดวก ผมจึงเตรียมข้อมูลตัวอย่างไว้ให้แล้ว สามารถดาวน์โหลดที่ //www.e-hrit.com/samroeng/download/vendor.xls และเมื่อดาวน์โหลดมาแล้ว ก็เปิดไฟล์ขึ้นมาด้วยเช่นกัน ผมขอนำข้อมูล รายชื่อผู้ขาย มารวมไว้เป็นไฟล์เดียวกันกับไฟล์ workshop เพื่อความสะดวกในการใช้งาน โดยการคลิกขวาที่ชื่อชีท vender ในไฟล์ vendor.xls แล้วเลือก Move or Copy... จากรายการย่อยที่ปรากฎ ในช่อง To book ที่อยู่ด้านบนของกรอบรายการ ให้คลิกที่เครื่องหมายสามเหลี่ยมหัวลง เพื่อเลือกชื่อไฟล์ Language_Switching_Form-2.xls แล้วติ๊กถูก ที่หน้าคำว่า Create a copy เสร็จแล้วก็คลิก OK จะเห็นว่าในไฟล์ workshop ของเรา จะมีชีทเพิ่มเข้ามาอีกหนึ่งชีท คือ vender นั่นเอง ทำการบันทึกไฟล์ workshop เป็นชื่อใหม่ โดยการ Save as.. แล้วตั้งชื่อเป็น Language_Switching_Form-3.xls ส่วนไฟล์ vendor.xls ตอนนี้เราไม่จำเป็นต้องใช้แล้ว ปิดไปได้เลยครับ ![]() รูปที่ 1 แสดงตัวอย่างทะเบียนรายชื่อผู้ขายทั้งสองภาษา จากข้อมูลตัวอย่าง ทะเบียนรายชื่อผู้ขาย จะมีอยู่ด้วยกัน 7 คอลัมน์ ซึ่งส่วนที่เป็นชื่อบริษัท และชื่อผู้ติดต่อ จะมีทั้งภาษาไทยและภาษาอังกฤษ เพื่อให้สอดคล้องกับแบบฟอร์มของเรานั่นเอง ผมเตรียมข้อมูลไว้ให้ทั้งหมด 21 รายการ ดังนั้น ช่วงฐานข้อมูลรายชื่อผู้ขาย ก็คือช่วง $A$4:$G$24 หรือถ้าจะอ้างอิงช่วงเต็มๆ ก็คือ vender!$A$4:$G$24 ก่อนที่จะไปเริ่มเขียนสูตร เพื่อดึงข้อมูลเหล่านี้ไปกรอกลงในแบบฟอร์ม ให้เราพิจารณา ชื่อผู้ขาย และชื่อผู้ติดต่อ โดยชื่อผู้ขายที่เป็นภาษาอังกฤษ จะเป็นคอลัมน์ B หรือคอลัมน์ที่ 2 ของช่วงฐานข้อมูลนั่นเอง ส่วนชื่อผู้ขายที่เป็นภาษาไทย จะเป็นคอลัมน์ C หรือคอลัมน์ที่ 3 สำหรับชื่อผู้ติดต่อที่เป็นภาษาอังกฤษ จะเป็นคอลัมน์ D หรือคอลัมน์ที่ 4 ของช่วงฐานข้อมูล ส่วนชื่อผู้ติดต่อที่เป็นภาษาไทย จะเป็นคอลัมน์ E หรือคอลัมน์ที่ 5 นั่นเอง นอกจากนี้ก็ยังมีเบอร์โทร อยู่คอลัมน์ F หรือคอลัมน์ที่ 6 และเบอร์แฟกซ์ อยู่คอลัมน์ G หรือคอลัมน์ที่ 7 ให้จำตำแหน่งคอลัมน์ของข้อมูลเหล่านี้ให้แม่นๆ เพราะเราจะต้องนำไปเขียนสูตรด้วย เรามีแบบฟอร์มที่สร้างไว้จากครั้งที่แล้วทั้งหมด 3 แบบ (ที่จริงแล้วก็แบบเดียวกันนั่นแหละ แต่ใช้วิธีทำแตกต่างกัน) ผมขอเลือกแบบแรกที่อยู่ในชีทที่ชื่อว่า Report มาเป็นตัวอย่างนะครับ ในชีท Report ให้คุณใส่รหัสผู้ขายสักรายหนึ่งในเซลล์ F15 (ดูรายการรหัสจากคอลัมน์ A ในชีท vender) ซึ่งผมขอเลือก SMP ก็แล้วกัน ผมจะใช้ฟังก์ชัน VLOOKUP เพื่อดึงข้อมูลของผู้ขายรหัส SMP นี้ มาแสดงในแต่ละเซลล์ที่เกี่ยวข้อง อันได้แก่ ชื่อผู้ขาย ชื่อผู้ติดต่อ เบอร์โทร เบอร์แฟกซ์ เนื่องจาก เบอร์โทร เบอร์แฟกซ์ เป็นรายการที่ใช้ได้กับแบบฟอร์มทั้งที่เป็นภาษาไทยและภาษาอังกฤษ ดังนั้น การเขียนสูตรจึงไม่ยุ่งยากนัก เรามาลองเขียนสูตรเพื่อให้แสดงเบอร์โทร เบอร์แฟกซ์ ของผู้ขายรหัส SMP กันเลยครับ ที่เซลล์ F19 ซึ่งเราต้องการให้แสดงเบอร์โทร ให้พิมพ์สูตรดังนี้ =VLOOKUP($F$15,Vender!$A$4:$G$24,6,0) และที่เซลล์ F21 ซึ่งเราต้องการให้แสดงเบอร์แฟกซ์ ให้พิมพ์สูตรดังนี้ =VLOOKUP($F$15,Vender!$A$4:$G$24,7,0) ก่อนที่จะทำอะไรต่อไป ให้ลองตรวจดูในฐานข้อมูลว่า ผู้ขายรหัส SMP นี้ มีเบอร์โทรและเบอร์แฟกซ์ ตรงกับที่แสดงในแบบฟอร์มหรือไม่ หลังจากนั้นให้ลองเปลี่ยนรหัสผู้ขายในเซลล์ F15 ให้เป็นรหัสของผู้ขายรายอื่นๆ แล้วดูว่าเบอร์โทร กับเบอร์แฟกซ์ เปลี่ยนไปถูกต้องหรือไม่ สำหรับสูตรในเซลล์ F17 ที่แสดงชื่อผู้ขาย และในเซลล์ F23 ที่แสดงชื่อผู้ติดต่อนั้น โดยหลักการแล้วก็จะใช้สูตรแบบเดียวกัน แต่จะต้องเลือกว่าเอาภาษาอังกฤษ หรือภาษาไทย เช่น ที่ F17 หากต้องการแสดงชื่อภาษาอังกฤษ สูตรจะเป็น =VLOOKUP($F$15,Vender!$A$4:$G$24,2,0) หรือถ้าต้องการแสดงชื่อภาษาไทย สูตรก็จะเป็น =VLOOKUP($F$15,Vender!$A$4:$G$24,3,0) ซึ่งจะเห็นว่าเขียนสูตรเหมือนกัน ไม่ว่าจะแสดงเป็นอังกฤษหรือไทย ต่างกันแค่เลข 2 กับเลข 3 ซึ่งเป็นเลขชี้คอลัมน์ข้อมูลเท่านั้นเอง เราจะเอาสูตรทั้งสองแบบนี้มาเขียนรวมกันเป็นสูตรเดียว ดังนั้น สูตรในเซลล์ F17 จะเป็นดังนี้ =VLOOKUP($F$15,Vender!$A$4:$G$24,IF($L$1="En",2,3),0) ส่วนสูตรในเซลล์ F23 จะเป็นดังนี้ =VLOOKUP($F$15,Vender!$A$4:$G$24,IF($L$1="En",4,5),0) ![]() รูปที่ 2 แสดงตัวอย่างการดึงข้อมูลรายชื่อผู้ขายมากรอกในแบบฟอร์ม ให้ทำการบันทึกไฟล์นี้ไว้ก่อนนะครับ คุณอาจจะทดลองสลับเปลี่ยนภาษา หรือลองเปลี่ยนรหัสผู้ขาย เพื่อดูการเปลี่ยนแปลงที่เกิดขึ้นในแบบฟอร์มของเรา ถึงตอนนี้ เราก็สามารถดึงข้อมูลจากฐานข้อมูล ซึ่งอยู่คนละที่กัน มาแสดงในแบบฟอร์มได้แล้ว แต่เนื่องจากเนื้อหาเริ่มยาวขึ้น คนอ่านอาจจะเริ่มตาลายแล้ว ผมขอจบบทนี้ไว้เพียงเท่านี้ก่อน แต่การเขียนสูตรตามที่แนะนำมาข้างต้นนี้ ยังมีจุดบกพร่องและไม่สะดวกอีกหลายจุด ซึ่งผมจะมาเฉลยในตอนต่อไป พร้อมทั้งแนะนำวิธีการปรับปรุงอีกครั้งหนึ่ง เห็นแล้วหนาวเลยนะคะเนี่ย พวกโปรแกรมที่ไว้คีย์ข้อมูลอย่าง Excel หรือ SPSS นี่ ไม่ถนัดอย่างแรงเลยอ่ะค่ะ แค่ใช้คำนวณได้ ก็ดีใจจะแย่แล้วค่ะ อาทิตย์หน้าก็สอบ SPSS ตอนนี้ยังงงอยู่เลย แป่ว...
![]() โดย: simple_xxx
![]() |
บทความทั้งหมด
|