บันทึกข้อมูลใน Excel เป็นเรื่องที่หลายคนมองข้าม และบางคนอาจจะคิดว่าเรื่องแค่คีย์ข้อมูลลงไปโง่ ๆ แบบนี้มันต้องมีเทคนิคหรือว่ากฎเกณฑ์อะไรยุ่งยากด้วยหรือไร? เรื่องนี้เป็นปัญหาที่เจอมาตลอดในชีวิตการทำงาน คือต้องเจอการทำงานกับ excel ที่ไม่ได้มีการบันทึกข้อมูลที่ดี
แต่ก่อนอื่น อยากให้ลองอ่านสักบล็อกสองบล็อกที่เคยเขียนไปก่อนหน้านี้ก่อน
- การอ้างอิงตำแหน่ง ใน Excel https://datarevol.com/excel/references/
- เทคนิคการใช้ excel https://datarevol.com/excel/excel-tricks/
เนื้อหาโดยรวม :)
ข้อมูลใน Excel มีเพื่อคำนวณ!
และครั้งนี้ จะเป็นเรื่อง “บันทึกข้อมูล” ใน Excel ซึ่งเป็นเรื่องที่อยากจะขอร้องให้ทำความเข้าใจ ก่อนที่จะทำอะไร ๆ กับ Excel (ยกเว้นจะใช้งาน Excel เพื่อพิมพ์รายงานแทน Word! คงไม่ต้องคิดอะไรมาก) การทำงานกับ Excel ไม่ได้ยากอย่างที่คิด แต่ก็มีอะไรที่ต้องระวังอยู่พอสมควร ขอให้คิดไว้เสมอว่า Excel ไม่ใช่ Word แต่ถ้าจะใช้ Excel แทน Word ก็ได้ ไม่ผิดนะจ๊ะ อันนี้แล้วแต่เลยจ้ะที่รัก คือ เข้าใจว่า บางคนก็ใช้ Excel แทน Word เพราะมันสะดวกดี จัดรูปแบบ blocking ได้ง่าย แต่ถ้าคุณอยากจะใช้ Excel เป็น Excel คุณต้องคำนึงถึงการทำงานว่า ข้อมูลใน Excel มีเพื่อการคำนวณเสมอ
ความข้อนี้เป็นไฉน? จะไฉน ฉะนี้ ชะนีอะไรก็ตามแต่เถิด ไปดูตัวอย่างดีกว่าจ้ะ
ตัวอย่างนี้เอามาจากของจริง แต่ว่า ขอเปลี่ยนรายละเอียดภายในก็แล้วกัน จะได้ไม่มีผลกระทบอะไรกับข้อมูล ต้องบอกก่อนว่า Excel อันนี้ ผู้จัดทำตั้งใจใช้งานแทน word เฉย ๆ เป็นรายงานที่พิมพ์เป็นกระดาษให้ผู้บริหารอ่าน แต่ถ้าต้องเอามารวบรวมปัญหา เพื่อตรวจสอบต่าง ๆ โดยใช้ Query หรือ Pivot Table จากตารางรายงานนี้เป็นปัญหาแน่นอน เพราะการบันทึกข้อมูลแบบนี้เป็นวิธีการทำงานที่ “ยาก” ต่อการนำไปใช้งานต่อ
มาดูเป็นข้อ ๆ ว่า การบันทึกข้อมูลแบบนี้ ในเชิงการทำฐานข้อมูล ทำให้เสียเวลาอย่างไร
หัวตารางควรทำแถวเดียว
ปัญหา: สิ่งแรกที่เห็น คือการจัดหัวตาราง 2 แถว และมี merge กันด้วยในบางคอลัมน์ ตรงนี้ ถ้าเราจะ filter หรือว่าทำ PivotTable เพื่อสรุปจะมีปัญหาตามมาแน่นอน
สิ่งที่ควรจะเป็น: หัวตาราง ควรมีเพียงแถวเดียว และมีชื่อคอลัมน์ครบทุกช่อง
Tip: ถ้าจำเป็นต้องทำหัวตารางมากกว่า 1 แถวเพื่อความสวยงามเวลาพิมพ์รายงานออกมา ลองทำแยกต่างหากไปจากตารางใช้งานเลย เวลาจะพิมพ์ค่อยซ่อนแถวที่เป็นหัวตารางที่ใช้งานจริงไป
อย่าใส่ Cell ว่างแบบไร้เหตุผล
ปัญหา: คอลัมน์ “จังหวัด” มีช่องว่าง ซึ่งเข้าใจได้ว่า เป็นการปล่อยว่าเพื่อความสวยงามและ “อ่านด้วยตาได้สะดวก” ถ้าเขียนทุกแถว คนอ่านคงตาลาย เรื่องนี้เข้าใจได้ดี แต่สำหรับการทำงานในเชิงตารางของ Excel เพื่อการคำนวณ การปล่อยให้ Cell ว่าง ต้องหมายความว่า Cell นั้นไม่มีข้อมูล ไม่ควรปล่อยให้ว่าง “เพื่อความสวยงาม”
สิ่งที่ควรจะเป็น: ทุกช่องจะต้องใส่ค่า ไม่ปล่อยทิ้งว่างเอาไว้ อย่างเช่นตัวอย่างนี้ จังหวัดก็ต้องใส่ชื่อให้ครบทุก cell เพื่อที่การนำไปค้นหา (เช่นทำ lookup) หรือเพื่อทำ PivotTable
แก้ปัญหา: ถ้าเป็นไฟล์ที่มีอยู่เดิมแล้ว แก้ปัญหาด้วยการใช้ Fill Down ของ Power Query ช่วยได้ หรือจะใช้สูตร อย่างที่เขียนถึงในเรื่อง เติม Cell ว่างด้วยข้อมูลด้านบน หรือ เลือกลบทั้งแถว ส่วนแถวที่เป็นที่ว่าง ถ้าต้องการลบทั้งแถว ใช้วิธีอย่างที่เขียนถึงใน ลบแถวว่าง เพื่อ clean ข้อมูล ก็ได้
Tip: แนะนำให้เติมข้อมูลให้ครบทุก Cell แล้วใช้วิธี Pivot เพื่อสรุปผลสำหรับการทำรายงานอีกครั้งหนึ่ง
ข้อมูลเดียวกัน อย่าแยก Cell
ปัญหา: มักจะพบเสมอเมื่อมีการใช้ Excel แทน Word คือจะมีการพิมพ์ข้อความยาว ๆ แล้วไม่พอใน Cell ก็เลยขึ้น Cell ใหม่ อย่างใน สาขา 6 แบ่งข้อมูลเป็น 2 ส่วน แต่ใส่ข้อมูลเป็น 4 Cell ลองนึกถึงถ้าคุณจะใช้ Query หรือ pivot คุณจะได้ข้อมูล “สาขา 6” ถึง 2 ข้อมูล
สิ่งที่ควรจะเป็น: สำหรับ Excel ต้องจำไว้เสมอว่า แต่ละ cell คือ ข้อมูลที่อ้างอิงได้ชัดเจน ถ้าสิ่งที่ใช้แสดงการอ้างอิงนั้น แยกไปอยู่ในคนละ cell จะทำให้ cell นั้นมีค่าของข้อมูลผิดพลาด เราให้ cell แสดงข้อความทั้งหมด โดยขึ้นบรรทัดให้ใหม่ใน cell เดิมโดยใช้ Format Cells > alignment Warp Text
ไม่ต้องสรุปผลรวมย่อย
ปัญหา: ในตัวอย่างนี้ จะมีการสรุปผลรวมย่อยของแต่ละจังหวัด แต่การมีแถวสรุปปนมาแบบนี้ ขอให้ของนึกถึงตอนทำผลรวมทั้งหมด นอกจากจะยุ่งยากเกินไปแล้ว ยังอาจจะก่อเกิดความผิดผลาดคลาดเคลื่อนจากการนำข้อมูลในแถวสรุปนี้มารวม ไปด้วย แทนที่เราจะหาผลลัพธ์ง่าย ๆ เช่นใช้ฟังก์ชัน sum หรือทำอะไรก็ยุ่งเกินปกติไปอีก
สิ่งที่ควรจะเป็น: เวลาทำตารางข้อมูล ไม่จำเป็นต้องสรุปในตาราง อย่างเช่นกรณีนี้ ถ้าเราใส่ข้อมูลจังหวัดแต่ละ cell ครบถ้วน โดยไม่ปล่อยเว้นว่างไว้ เราก็สามารถใช้ฟังก์ชัน sumif ในการคำนวณผลรวมของแต่ละจังหวัดได้ หรือ ความจริง เราสามารถทำตารางสรุปได้จาก PivotTable ห
ถ้าจะออกแบบให้เหมาะกับการสรุป
สำหรับตัวอย่างนี้ ถ้าต้องกลับมาคิดใหม่ หากเราจะทำเป็นตารางสรุป เพื่อเก็บปัญหาไว้ตรวจสอบ สรุป รวบรวมเพื่อทำรายงาน จะออกแบบตารางอย่างไร? โดยจะใช้แนวคิด “การออกแบบตาราง” ที่เคยเขียนไป DataRevol.com ซึ่งในบล็อกนั้นตั้งใจนำเสนอการเตรียมตัวเพื่อ “คิด” สร้างตารางใน Access แต่มันเป็นพื้นฐานเดียวกันกับการวางรูปแบบสร้างตารางใน Excelขอเสนอหน้าตาตารางแบบนี้
หัวคอลัมน์ จะทำเป็นแถวเดียว
ใส่ชื่อจังหวัดครบทุกช่อง ไม่เว้นว่าง
ย้ายประเภทสินค้า จากเดิมแยกเป็น 3 คอลัมน์ รวมมาเป็น 1 คอลัมน์ แล้วเพิ่มคอลัมน์ ปริมาณสินค้า แทน สาเหตุที่ทำแบบนี้ เพราะ DataRevol.com มองว่า การรวม “ปริมาณ” สำคัญกว่า “ประเภท” ย้ายมาเป็นคอลัมน์เดียวกันแบบนี้ สามารถหาผลรวมของปริมาณสินค้ารวมทุกสินค้า แต่ละจังหวัดได้เลย โดยการใช้ PivotTable ลองทำ PivotTable เพื่อให้ได้หน้าตาแบบเดียวกับ “รายงาน” ครั้งแรกให้ดูว่ามันทำได้ง่ายมาก ข้อดีกว่าคือ ถ้าบันทึกในแบบที่ทำไว้ เราสามารถกรองกับแต่ละข้อมูลที่ต้องการได้ง่ายกว่า เช่นการเลือกเฉพาะประเภทสินค้า
เรื่องนี้อยากฝากไว้ให้คิส…เอ๊ย คิด
สำหรับการทำ PivotTable โปรดอ่านที่นี่
หรือ อ่านจากเว็บของไมโครซอฟต์โดยตรง ที่นี่