Flash Fill

Flash Fill เป็นสิ่งอำนวยความสะดวกอย่างหนึ่งของ Excel ที่ช่วยย่นระยะเวลาทำงานได้อย่างไม่น่าเชื่อเหมือนกัน ตอนแรกคิดว่าคงไม่ค่อยได้ใช้เท่าไหร่ ที่ไหนได้ กลายเป็นสิ่งที่ใช้งานบ่อยตามสมควร ความจริงมันมีมาตั้งนานแล้ว (ตั้งแต่ Excel 2013) แต่ต้องสารภาพตรงไปตรงมาว่าเพิ่งใช้เมื่อสักปีที่ผ่านมานี่เอง

การใช้งาน

ว่าด้วยเรื่อง Fill

เชื่อว่า ทุกท่านที่เคยใช้ Excel ล้วนแล้วแต่เคยใช้ fill กันมาแล้วทั้งสิ้น อย่างเช่น เราใส่เลข 1 ที่ cell A2 เราเอาเมาส์ไปวางตรงมุมขวาล่าง ให้เมาส์กลายเป็นรูปกากบาก (หรือเครื่องหมาย +) จากนั้นคลิกซ้ายค้างไว้ จะลากลง ขึ้น ซ้าย ขวา ก็จะเป็นการ copy ข้อมูลจาก cell นั้น ไปยัง Cell ต่าง ๆ ตามที่ลาก แต่ในกรณีที่เป็น series หรือว่ามีการเรียงลำดับอย่างมีรูปแบบ มันก็จะเรียงลำดับไปเลย อย่างวันที่ 16 มิถุนายน 2564 จับลากก็จะได้ 17 มิถุนา 18 มิถุนา 19 มิถุนา 20 มิถุนา ไปเรื่อย ๆ

Flash Fill ทำได้มากกว่า

นี่ก็เหมือนกัน Fill แต่สิ่งที่เพิ่มเติมเข้ามาคือ การ “คัดลอกอย่างมีรูปแบบ” จะเติมข้อมูลให้อัตโนมัติเมื่อมีรูปแบบ จะใช้เพื่อแยกคอลัมน์ หรือ รวมข้อมูลจากหลายคอลัมน์ให้มารวมอยู่ในคอลัมน์เดียวก็ได้

ย้ำอีกที มันต้องมี “รูปแบบ” ที่ชัดเจน เพราะถึงแม้ Flash Fill จะฉลาด แต่ก็ไม่ได้ฉลาดมากอย่างที่คิด บางรูปแบบที่เราคิดว่าใช่ ก็ไม่ใช่

ตัวอย่างที่ 1

ยกตัวอย่างเช่น ถ้าใครจำได้ เคยเขียนบล็อกเรื่อง แยกตัวเลขจากข้อความ สมมติเช่น เรามีคอลัมน์ของข้อมูลเขตและรหัสไปรษณีย์ แต่เราจะแยก ชื่อเขต กับ รหัสไปรษณีย์ ไปอยู่คนละคอลัมน์ เราก็ต้องเขียนสูตร – ในกรณีนี้คือเขียนแยกตัวเลขกับตัวอักษรออกจากกัน หลังจากทำเสร็จแล้ว ถ้าจะนำไปใช้ต่อ ก็ต้องแปลงจาก formula ให้เป็น value เสียก่อน

แต่ Flash Fill ทำได้สบายมาก

เราแค่สอนให้มันรู้ว่าเราต้องการอะไร อย่างตัวอย่างนี้ ถ้าพิมพ์ Cell B1 ว่า จตุจักร พิมพ์ Cell B2 ว่า จอมทอง พอเรากดจะพิมพ์ B3 ว่า ดอนเมือง พิมพ์ไม่ทันไร จะมีชุดข้อความเป็นซีรีย์สีเทา ขึ้นมาเป็นตัวอย่าง เราเคาะ enter ทุกอย่างก็จะมาเติมเต็มให้โดยอัตโนมัติ เสร็จแล้ว สิ่งที่ได้ก็มาก็ไม่ใช่ formula ไม่ต้องแปลงกลับไปกลับมา

Tips: จะขึ้นแบบนี้ ถ้าเราตั้งค่าให้ Excel จัดการอัตโนมัติด้วยนะ ไปที่ Tools > Options > Advanced > Editing Options > check the Automatically Flash Fill

Excel มันฉลาดขนาดนั้น

หรือ เราจะให้มันจัดการให้เลย คอลัมน์หนึ่ง พิมพ์ว่า จตุจักร แล้วเราไปที่ Data > Flash Fill เท่านี้เอง อีกคอลัมน์พิมพ์ว่า 10900  แล้วเราไปที่ Data > Flash Fill

 

Tip: หรือ เราจะพิมพ์ แล้วกด shortcut คือ Ctrl + E ก็ได้

หรือ แทนที่เราจะแยกออกเป็น 2 คอลัมน์ เราอยากให้มี – (ขีดกลาง) คั่นระหว่าง ชื่อเขต กับ รหัสไปรษณีย์ เราก็แค่พิมพ์ จตุจักร-10900 เราก็แค่ “สอน” ด้วยการพิมพ์ที่ Cell ข้าง ๆ แล้วไปที่ Data > Flash Fill หรือ Ctrl + E เท่านี้เอง หรือ Ctrl + E

นั่นคือ เราจะแทนอะไรก็ได้ ขอให้มี “รูปแบบ” ที่ชัดเจน

คำเตือน อย่าลืม สิ่งที่เราได้จะเป็น value ไม่ใช่ formula ดังนั้น ถ้า cell ข้างหน้ามีการเปลี่ยนแปลง ตรงนี้จะไม่เปลี่ยนตามไปด้วย

ตัวอย่างที่ 2

มาดูตัวอย่างอีกสักอย่าง ที่คิดว่าน่าจะเจอกันทั่วไป คือ ชื่อ นามสกุล ที่มีคำนำหน้านาม ขอยกตัวอย่างด้วยรายชื่อ สมาชิกรัฐสภาก็แล้วกัน

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

ตอนนี้ยังมีข้อจำกัดว่า ต้องทำทีละคอลัมน์ ไม่สามารถเลือกทุกคอลัมน์ที่ต้องการแล้วกด Ctrl + E ทีเดียวได้

ตัวอย่างที่ 3

ถ้าเป็นภาษาอังกฤษ ซึ่ง บางที คนเขียนชื่อ ตัวเล็กบ้าง ใหญ่บ้าง เราก็จัดการได้

อย่างเช่นตัวอย่างรายชื่อ ภาษาอังกฤษ ที่มีคนใส่มาไม่เหมือนกัน คือ บางคนก็ขึ้นต้นด้วยพิมพ์ใหญ่ บางคนก็ใช้ตัวพิมพ์เล็กทั้งหมด บางคนก็ใส่เป็นตัวพิมพ์ใหญ่ทั้งหมด

เราสามารถจัดการได้ง่าย ๆ โดย พิมพ์ให้เป็นรูปแบบไปเลยว่า ขึ้นต้นด้วยตัวพิมพ์ใหญ่นะ ก็จะได้ผลลัพธ์ตามที่ต้องการ

Flash Fill

แต่ สังเกตบางอย่างมั้ยครับ บางอันไม่ถูกต้อง

Ming-Yang Xie แยกเป็น Ming กับ Yang Xie แทนที่จะเป็น Ming-Yang กับ Xie

Rita-Maria Wacker แยกเป็น Rita กับ Maria Wacker แทนที่จะเป็น Rita-Maria กับ Wacker

วิธีแก้ คือ ลบตั้งแต่ Ming-Yang Xie ทั้งหมด แล้วพิมพ์ Ming-Yang กด Ctrl+E และ พิมพ์ Xie กด Ctrl+E

Flash Fill

ก็จะได้ผลลัพธ์ที่ดี โปรดสังเกตว่า Rita-Maria จะแยกได้อย่างที่ต้องการคือ Rita-Maria กับ Wacker โดยที่เซลอื่นยังคงได้ผลลัพธ์เช่นที่ต้องการ

คำเตือน ต้องลบค่าในเซลล์ที่อยู่ด้านล่างให้หมดก่อน Ctrl + E นะ ไม่งั้นจะขึ้นว่า ไม่สามารถหารูปแบบได้ เพราะโดนล็อกรูปแบบจากด้านล่างที่มี Rita-Maria รวมอยู่ด้วยมันจะกลายเป็นไม่ใช่รูปแบบที่สามารถระบุได้

การนำไปใช้งาน

อย่างที่บอกข้างต้นว่า หลัง ๆ Data Revol ใช้งาน Flash Fill ค่อนข้างบ่อย โดยจะมี 2 อย่างที่ทำบ่อย คือ จัดการหมายเลขโทรศัพท์ กับ แยกวันเดือนปี

ตัวอย่างที่ 4 จัดการหมายเลขโทรศัพท์

เวลาที่ต้องเก็บหมายเลขโทรศัพท์ ซึ่งต้องเก็บในแบบนี้ +66 1234 5678 แต่คนมักจะบันทึกหมายเลขโทรศัพท์กันหลายรูปแบบ วรรคไม่เหมือนกัน และ บางคนก็เติม +66 มาให้แล้ว

ในเซลที่ 2 ว่า ตัวคั่น – ก็คือ ให้วรรคนะ  กับอีกตัวคือตรงที่ต้นฉบับมี +66 อยู่ก่อนแล้ว ตัวอย่างนี้ต้องตรวจทาน และ แก้ไขเพิ่มเติม รวม 3 ครั้ง ก็ใช้การได้ไม่มีปัญหา

ตัวอย่างที่ 5 จัดการวันเดือนปี

เวลาที่ต้องจัดการกับวันเดือนปี ที่ต้องแยก วัน เดือน และ ปี ไปอยู่คนละคอลัมน์ เราใช้ Ctrl + E ได้เลย สบาย ๆ

Flash Fill

อย่าลืม ข้อเสียของ Flash Fill คือ มันไม่ใช่การใส่สูตร ถ้าต้นฉบับเปลี่ยน สิ่งที่ออกมาไม่ได้เปลี่ยนไปด้วยนะจ๊ะ

อ้างอิง บทเรียนจากเว็บไมโครซอฟต์

ความคิดเห็นของคุณ :)

%d bloggers like this: