มีคน Inbox มาถามผมว่า จากฐานข้อมูลแบบซ้ายมือ ต้องการ LOOKUP สร้างรายงานผลลัพธ์หน้าตาแบบขวามือ จะทำยังไงดี? (อันนี้เป้นตัวอย่าง Mock up นะ แต่ concept ก็แบบนี้แหละ)
เอาจริงๆ ดูเหมือนมันจะเป็นรูปแบบรายงานที่เอาไว้ Print ลงหน้ากระดาษ ซึ่งผมว่าไม่เหมาะกับ Excel เท่าไหร่ ถ้าเป็นผมอาจจะใช้พวก Mail Merge ทำมากกว่า ถ้าใครสนใจลองไปอ่านได้ที่นี่
แต่ถ้าเราจะใช้ Excel ทำเรื่องแบบนี้จริงๆ มันก็พอจะมีแนวทางอยู่ และผมก็จะค่อยๆ ทำให้ดู ดังนี้
สารบัญ
สร้างผลลัพธ์แบบปกติก่อน
ก่อนอื่นก็ให้เราใช้ VLOOKUP หรือ INDEX MATCH สร้างผลลัพธ์ที่ link กับ lookup value ที่ต้องการ แต่ให้ผลลัพธ์เรียงเหมือนต้นฉบับให้ได้ก่อน เช่น
ช่องสีเหลืองคือเป็นการพิมพ์ลงไปเอง นอกนั้้นเป็นสูตรทั้งหมด
ช่อง B14 ผมใช้สูตรให้หาว่า TXID ที่ต้องการอยู่บรรทัดไหนของ Table1
=MATCH(C14,Table1[TXID],0)
ช่อง C14 ผมเขียนสูตรเพื่อดึงค่าจากคอลัมน์วันที่ออกมาจากแถวที่ Match เจอ แล้วลาก Fil Handle ไปเพื่อ Copy ให้มันเลื่อนไปเอาคอลัมน์อื่นๆ
=INDEX(Table1[วันที่],$B14)
เปลี่ยนตำแหน่งผลลัพธ์ตามต้องการ
จับ Cut -> Paste หรือ Move ลากเพื่อเปลี่ยนตำแหน่งผลลัพธ์ให้อยู่ตำแหน่งที่ต้องการได้เลย (การ cut paste สูตรจะไม่เพี้ยนอยู่แล้ว) และอย่าลืมเปลี่ยน Fomat ช่องวันที่จากเลข 4 หมื่นกว่าให้กลับเป็นวันที่ด้วยนะ (ใครจะตกแต่งสีอะไรก็แล้วแต่เลย)
หาแนวทาง Copy Paste
ทีนี้เราต้องหาทาง copy paste สูตรให้ได้ง่ายๆ เช่น ถ้าสร้างแบบช่องสีเขียวด้านซ้ายได้จะง่ายแล้ว เราแค่ link สูตรจาก C14 ไป A14 แค่นั้นก็พร้อมจะ Copy ยาวลงมาข้างล่างแล้ว
แค่ Copy Block B13:J15 ข้างบนไว้ แล้วลากพื้นที่จะ Paste ในคอลัมน์ B ใน B16:B21
จากนั้นกด Paste
เตรียมสร้างตัวสีเขียวแบบไม่ต้องพิมพ์เอง
ทีนี้ก็เหลือแค่การสร้างตัวสรเขียวแล้ว ซึ่งทำไม่ยากเลย
ให้ไป Copy ข้อมูลต้นฉบับในคอลัมน์ TXID ออกมาไว้ซักที่นึง แล้วก็สร้างคอลัมน์เลข running เอาไว้ข้างๆ
จากนั้น Copy ตัว Running แล้ว Paste ลงไปข้างล่าง Running เดิมอีก 2 ชุด (เพราะเราจะเว้น 2 บรรทัด)
จากนั้นก็ Sort ตัว Running จากน้อยไปมาก มันจะดึงตัวบรรทัดว่างๆ ขึ้นมาติดกับข้างบน
แล้วเราค่อย Copy TXID ไปใช้แทนตัวเขียว
จากนั้นค่อย copy ผลลัพธ์เราลงมา ก็จะได้ผลลัพธ์ที่ต้องการ จบ!