Author: Sira Ekabut

  • ใส่ Comment เป็นรูปภาพก็ได้นะ รู้ป่าว?

    ใส่ Comment เป็นรูปภาพก็ได้นะ รู้ป่าว?

    มีแฟนเพจถามผมว่า เราสามารถใส่รูปภาพเข้าไปใน Comment ได้หรือไม่? ผมเลยขอตอบด้วยบทความนี้ครับ

    สมมติเราอยากใส่ Comment เป็นรูปภาพ ให้กับ Cell ที่ต้องการ ก็จะมีวิธีการดังนี้

    1. คลิ๊กขวา กด Insert Comment ตามปกติ
      ใส่ Comment เป็นรูปภาพก็ได้นะ รู้ป่าว? 1
    2. คลิ๊กขวาที่ Comment เลือก Format Comment แล้วกดตามรูป จนไปเจอ Fill Effect…
      ใส่ Comment เป็นรูปภาพก็ได้นะ รู้ป่าว? 2
    3. เลือกที่ Picture แล้ว Browse รูปที่เรามี
      ใส่ Comment เป็นรูปภาพก็ได้นะ รู้ป่าว? 3
    4. กด Ok ไปเรื่อยๆ ก็จะได้รูปมาเป็นฉากหลังให้กับ Comment แล้ว (ซึ่งเราพิมพ์ข้อความทับได้)
      ใส่ Comment เป็นรูปภาพก็ได้นะ รู้ป่าว? 4
  • งานเสร็จฉับไว ด้วย Flash Fill

    งานเสร็จฉับไว ด้วย Flash Fill

    คุณเคยมั้ย? ที่ต้องจัดการข้อมูลบางอย่างอย่างเร่งด่วน และไม่ใช่งาน Routine จะเอาเวลาไปเขียนสูตรก็คงไม่คุ้ม ผมมีเครื่องมือที่ชื่อว่า Flash Fill มาแนะนำสำหรับคนที่ยังไม่รู้จักครับ ซึ่งเครื่องมือนี้มามาตั้งแต่ Excel 2013 แล้วล่ะ มีแล้วก็ใช้ให้คุ้มหน่อย

    หลักการทำงานของ Flash Fill

    หากคุณต้องการผลลัพธ์แบบไหน ก็พิมพ์บอก Excel ไปซะ จากนั้นกด Ctrl+E แล้ว Excel จะพยายามหารูปแบบ (Pattern) จากสิ่งที่คุณพิมพ์ลงไปเอง ! (ถ้ายังหา Pattern ไม่ได้ ก็พิมพ์สอนเพิ่มไปอีก แล้วมันจะฉลาดขึ้น)

    Step การทำงานของ Flash Fill

    1. เตรียมข้อมูลดิบและคอลัมน์ผลลัพธ์

    สมมติคุณมีข้อมูลแบบนี้ และคอลัมน์สีเหลืองคือสิ่งที่คุณต้องทำเพิ่ม

    งานเสร็จฉับไว ด้วย Flash Fill 5

    2. ใส่ตัวอย่างสอน Excel

    คุณสามารถพิมพ์ผลลัพธ์ที่ต้องการไปก่อนซัก 1-2 บรรทัด เพื่อทำการสอน Excel ให้รู้ว่าอยากได้อะไร (ลองบรรทัดเดียวก่อนก็ได้)

    งานเสร็จฉับไว ด้วย Flash Fill 6

    3. ใช้ Flash Fill

    ให้คลิ๊กที่ช่องที่เราสอน (หรือจะคลิ๊กช่องข้างใต้ก็ได้) แล้วกด Ctrl+E ทีละช่อง (ทีละคอลัมน์)

    งานเสร็จฉับไว ด้วย Flash Fill 7

    ถ้ามันโวยวายแบบนี้ แสดงว่ามันงง ให้เราสอนเพิ่มอีกบรรทัดนึง แล้วกด Ctrl+E คราวนี้น่าจะได้แล้ว

    งานเสร็จฉับไว ด้วย Flash Fill 8

    กด Ctrl+E ทีละคอลัมน์

    งานเสร็จฉับไว ด้วย Flash Fill 9

    กด Ctrl+E ทีละคอลัมน์

    Flash Fill

    สังเกตว่าผลลัพธ์ที่ได้ มันเลียนแบบได้ดีทีเดียว แม้กระทั่ง การ Extract ข้อความ การเติมข้อความ เติมสัญลักษณ์ . และ @ หรือแม้กระทั่งเรื่องตัวพิมพ์เล็กพิมพ์ใหญ่มันก็จัดการให้ได้นะครับ

    ถ้ามันเติมให้ผิดล่ะ?

    ถ้ามันให้ผลลัพธ์ผิด ก็ต้องสอนเพิ่มไปอีกซักบรรทัดนึง มันน่าจะฉลาดขึ้นครับ

    โห! มันฉลาดจัง แล้วแบบนี้จะเขียนสูตรให้ยากทำไม?

    จริงครับ ที่ Flash Fill นั้นฉลาดมาก แต่มันก็มีข้อเสียที่สำคัญคือ ถ้าข้อมูลเปลี่ยน หรือมีข้อมูลใหม่มา ผลลัพธ์มันไม่เปลี่ยนตาม (เพราะเป็นการ Stamp ค่าคงที่ลงไปแล้ว ไม่ใช่สูตร) นอกจากนี้ กรณีที่ผลลัพธ์มันซับซ้อนมากขึ้น Flash Fill มันก็อาจจะดูไม่ออกอยู่ดี ดังนั้นการเขียนสูตรยังไงก็ยังเป็นเรื่องที่จำเป็นครับ

    อ่อ! อย่าลืมว่า Flash Fill ใช้ได้แค่ Excel 2013 ขึ้นไปเท่านั้นนะครับ ดังนั้นถ้าใครยังใช้ Excel Version เก่าก็ใช้ความสามารถนี้ไม่ได้หรอกนะครับ 

    คุณใช้ Flash Fill ทำอะไรเจ๋งๆ บ้าง?

    ใครใช้ Flash Fill ทำอะไรเจ๋งๆ ได้ มาแชร์ความรู้กันได้นะครับ อยากเห็นตัวอย่างการใช้ Flash Fill เจ๋งๆ ของเพื่อนๆ จังครับ

    ใครนึกไม่ออก ลองดูรูปพวกนี้เป็นไอเดียได้ครับ

    ตัวอย่างอื่นๆ

    ใส่ตัวคั่นตัวเลข

    งานเสร็จฉับไว ด้วย Flash Fill 10

    ดึงวันเดือนปี

    งานเสร็จฉับไว ด้วย Flash Fill 11
  • Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ

    หลังจาก ตอนที่แล้วผมได้แนะนำวิธีการติดตั้ง Power Query ไปแล้ว วันนี้ผมจะมาแนะนำ มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบให้พวกเราได้รู้จักกันครับ

    แต่ก่อนจะบอก Steps การทำงานทั้งหมด ผมต้องแนะนำให้พอรู้จักลักษณะการทำงานของ Power Query กันซักหน่อย ว่ามันทำงานประมาณไหน จะได้นึกภาพออก

    ลักษณะการทำงานของ Power Query

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 12

    ผมคิดว่า Power Query เป็นเหมือนเครื่องมือมหัศจรรย์ ที่สามารถ รวบรวม&เชื่อมต่อกับข้อมูลได้หลายที่ หลายชนิด แล้วนำข้อมูลแต่ละอันมาคัดกรอง & ดัดแปลงให้อยู่ในรูปแบบที่เหมาะสม รวมถึงผสมข้อมูลหลายก้อนเข้าด้วยกันได้ ซึ่งผลลัพธ์สุดท้ายจะออกมาเป็นตารางให้เราสามารถนำไปใช้งานต่อได้อย่างง่ายดาย ไม่ว่าจะเอาไปใช้ใน PivotTable ทำกราฟ หรือจะเอาไปเขียนสูตรใน Excel ต่อก็ย่อมได้

    หรือถ้าจะให้นิยามแบบสั้นๆ ผมขอบอกว่า Power Query คือ เครื่องมือรวบรวมและดัดแปลงข้อมูล นั่นเอง

    ประเด็นที่สำคัญที่สุดเลย คือ มันเก่งมาก แต่ใช้งานไม่ยากเลย! ดังนั้นอย่ารอช้า เรามาเรียนรู้วิธีการใช้งาน Power Query กันเลยดีกว่า!

    Steps การใช้งาน Power Query เบื้องต้น

    จากคำบรรยายลักษณะการทำงานของ Power Query ผมก็ขอแบ่งออกมาเป็นขั้นตอนดังนี้

    1.รวบรวม & เชื่อมต่อข้อมูล

    สิ่งที่ยุ่งยากที่สุดของ Power Query ก็คือขั้นตอนรวบรวมเชื่อมต่อข้อมูลนี่แหละครับ ยิ่งถ้ามีหลายไฟล์ หลายแหล่งข้อมูลอาจต้องทำการเชื่อมต่อหลายทีหน่อย ดังนั้นขั้นนี้ให้อดทนนิดนึงนะครับ (จริงๆ มีวิธีเชื่อมทั้ง Folder ทีเดียวด้วยแต่ว่ายากเกินไปที่จะสอนตอนนี้ครับ ^^)

    สมมติผมมีข้อมูลอยู่ 3 ที่ คือ 1. ในไฟล์ Txt 2.ในไฟล์ Excel ที่จะทำ PowerQuery เอง 3.ในไฟล์ Excel อื่น โดยให้โหลดไฟล์ที่นี่

    ก่อนอื่นให้เปิดไฟล์ที่จะทำ Power Query ซะก่อน (ชื่อไฟล์ PowerQuery-Basic.xlsx)

    วิธีเชื่อมต่อข้อมูลก็ง่ายมาก  ไปที่ Ribbon Power Query แล้วมันจะมีให้เลือกว่าจะเอาข้อมูลจากไหน?

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 13

    ปกติที่ใช้บ่อยๆ ก็จะมีจาก

    • From File = เอาจากไฟล์อื่น เช่น TXT, CSV, ไฟล์ Excel เอง รวมถึงเอามาทั้ง Folder ได้ด้วย
    • From Database = เอาจากไฟล์ Access
    • From Table/Range = เอาจาก Table หรือ Range ที่อยู่ในไฟล์เดียวกันนี้

    เช่นไฟล์ data1.txt ผมก็ต้องเลือก From File -> TXT/CSV -> เลือกไฟล์ที่ต้องการ

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 14

    ซึ่งตรง Load จะมีลูกศรให้เลือกว่า จะ Load เฉยๆ หรือ Load to และปุ่มข้างๆ มีคำว่า Edit ซึ่งแต่ละอันมีความหมายดังนี้

    • Load = จะถูกสร้างเป็น Table ในไฟล์ Excel ที่เรากำลังเปิด
    • Load to = จะมี Option ให้เลือกต่อว่า จะสร้างเป็น Table หรือ จะแค่สร้างการเชื่อมต่อเฉยๆ (Create Connection Only)
    • Edit = จะสามารถเข้าไปแก้ไขข้อมูลก่อนที่จะดึงข้อมูลมาใช้ เช่น แก้ชื่อตาราง, Sort/Filter, เพิ่มคอลัมน์คำนวณ, และอีกมากมาย…  (ซึ่งทั้งหมดนี้เราดึงข้อมูลมาใช้ก่อนแล้ว Edit ทีหลังก็ได้)

    ในที่นี้ผมขอเลือก Load to แล้วติ๊ก Only Create Connection ดีกว่า ไฟล์จะได้ไม่ใหญ่ด้วย

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 15

    เมื่อกด Load ก็จะมีหน้าต่างบอกว่า มีการเชื่อมต่อกับข้อมูล Data1 แล้ว

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 16

    ผมทำแบบเดียวกันกับ Data2.xlsx โดยเลือกFrom File -> Excel คราวนี้มันจะบอกว่าเจอข้อมูล 2 ชีท

    เราสามารถเลือกแบบ Multiple พร้อมกันได้เลย

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 17

    ในที่นี้ผม Load to แบบ Only Create Connection เหมือนเดิม จได้ว่ามีการเชื่อมต่อ 3 อันแล้ว

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 18

    สุดท้ายเอาข้อมูลจากไฟล์ตัวเอง สามารถกดปุ่ม From Table/Range ได้ แต่ผมแนะนำว่าถ้ายังไม่ได้เปลี่ยนข้อมูลให้เป็น Table ให้เราทำการแปลงเป็น Table ซะก่อน โดยการคลิ๊กที่ข้อมูลแล้วกด Ctrl+T

    เดิม

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 19

    กด Ctrl+T เพื่อแปลงเป็น Table แล้วตั้งชื่อตามใจชอบ

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 20

    จากนั้น ขณะที่เลือก Table อยู่ ให้กดปุ่มที่ Tab Power Query ว่าเราจะเชื่อมต่อข้อมูลกับ Table

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 21

    มันจะขึ้นหน้าต่าง Query Editor มาให้โดยอัตโนมัติ (หน้าต่างเดียวกันกับที่เวลาเรากด Edit นั่นแหละ) ในที่นี้ผมจะ Close & Load to เพื่อ Only Create Connection เหมือนเดิม

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 22

    คราวนี้เราก็สร้าง Connection ครบทุกอันแล้ว!!

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 23

    2.คัดกรอง & ดัดแปลง

    ถ้าข้อมูลแต่ละอันไม่ค่อยสมบูรณ์ เช่น มีข้อมูลซ้ำ ข้อมูลขยะ เราสามารถทำการ Edit Query เพื่อคัดกรอง / group ข้อมูลก่อนจะผสมข้อมูลเข้าด้วยกันได้ (ถ้าเราไม่กำจัดการซ้ำก่อน เวลา Map ข้อมูลแล้วมันอาจจทำให้ข้อมูลเบิ้ลเข้าไปอีก)

    วิธีการทำคือ คลิ๊กขวาที่ Query ที่ต้องการแล้วกด Edit ได้เลย

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 24

    แต่ในที่นี้ข้อมูลของผม ok แล้ว เลยไม่ต้องมีการแก้ไขอะไรครับ เราข้ามขั้นตอนนี้ไปได้เลยครับ ^^

    3. ผสมข้อมูล (Combine โดย Merge/Append)

    ขั้นต่อไปเราจะทำการเชื่อมข้อมูลเข้าด้วยกันแล้ว ซึ่งจะมีให้เลือก 2 โหมด คือ

    • Merge = เอาข้อมูลมา Map กัน แบบเดียวกับ VLOOKUP (เพิ่มคอลัมน์)
    • Append = เอาข้อมูลหลายตารางมาต่อท้ายกันไปเรื่อยๆ (เพิ่มจำนวนบรรทัด)

    ในที่นี้ผมจะ Map ข้อมูลจากตารางอ้างอิง เลยต้องใช้การ Merge นั่นเอง ซึ่งพอกดเข้าไปแล้ว มันจะถามว่าจะเอาอะไรมา Merge กับอะไร?

    • (1) เอาเอาตารางหลัก (data1) ไว้ข้างบน <= คล้ายๆ Lookup_Value ใน VLOOKUP
    • (2) ตารางอ้างอิง (Customer Country) ไว้อันล่าง  <= คล้ายๆ Table_Array ใน VLOOKUP
    • (3) และ (4) เลือกคอลัมน์ที่เป็นตัวเชื่อมกัน
    • (5) เลือกวิธีการเชื่อม <= แบบแรก คือ จะเหมือน VLOOKUP นั่นคือ เอาอันบนทุกอัน และเอาอันล่างเท่าที่ Map เจอ
    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 25

    หลังจากกด Load จะขึ้นหน้าจอ Query Editor มาให้อีกแล้ว แต่คราวนี้จะเห็นว่ามีคอลัมน์ใหม่ เขียนว่า NewColumn แล้วมีค่าเป็น มาให้ด้วย แปลกดีมั้ย?? ความหมายมันคือเป็นคอลัมน์ที่มาจากการ Map ซึ่งเราต้องทำการกดตาม Step ข้างล่าง เพื่อเลือกว่าจะเอาคอลัมน์ไหนมาแสดงบ้าง?

    • (1) แตกคอลัมน์
    • (2) เลือกคอลัมน์ที่ต้องการแสดง
    • (3) ถ้าจะให้เอาชื่อคอลัมน์แบบไม่มี prefix ให้ติ๊กออก
    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 26

    พอกด Ok ก็จะเห็นว่ามีคอลัมน์เพิ่มมาแล้ว และจะเห็นว่ามี Applied Step ด้านขวา เพิ่มมาด้วย

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 27

    จากนั้นให้เราทำการ Merge กับตารางที่เหลือให้ครบ โดยไปที่คำสั่ง Merge Query

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 28

    แล้วเชื่อมข้อมูลให้ครบ

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 29
    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 30

    พอเสร็จแล้วสามารถกดปุ่ม Close & Load ได้เลย คราวนี้เราอยากจะสร้าง Table ผลลัพธ์สุดท้ายแล้ว

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 31

    4. แก้ไขรายละเอียด / เขียนสูตร / แก้ลำดับการทำงาน

    สมมติว่า คุณลืมอะไรบางอย่างไป หรือทำอะไรผิด ก็สามารถเข้าไปแก้ Query เดิมได้ โดยคลิ๊กขวาที่ Query ที่ต้องการแล้วกด Edit ได้เลยครับ

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 32

    เวลากดเข้าไปแล้ว จะสังเกตเห็นข้อมูล และ Applied Step ซึ่งคือขั้นตอนที่มันบันทึกไว้ว่ามันทำอะไรกับข้อมูลบ้าง ซึ่งเราสามารถแก้ไข ลบ สลับลำดับ action เหล่านี้ได้

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 33

    เวลาเราทำ action อะไรเพิ่มเติมมันก็จะบันทึกต่อไปเรื่อยๆ (จริงๆ เราสามารถแทรก Step การทำงานก็ได้ โดยไปเลือก Step ที่ต้องการจะแทรก แล้วค่อยทำ action)

    Tips : ตัวอย่าง Action ที่ทำบ่อยๆ

    เพิ่มคอลัมน์ใหม่

    ผมจะเพิ่มคอลัมน์ยอดขาย ก็ไปกดที่ Add Column -> Add Custom Column

    แล้วตั้งชื่อ Field ใหม่ จากนั้นพิมพ์สูตรที่ต้องการลงไป (คลิํกที่ชื่อ Field ที่มีให้เลือกได้ คล้ายๆ กับ Calculated Field ของ PivotTable)

    Tips : จริงๆ แล้วสูตรที่เขียนใน Custom Column นี้เป็น ภาษาของ Power Query เอง เรียกว่า Power Query Formula Language หรือ ภาษา M (M Language) ซึ่งถ้าจะเอาให้ลึกซึ้งก็ต้องศึกษากันขนานใหญ่เลย แต่ไม่ต้องห่วงไป เราสามารถเขียนสูตรง่ายๆ อย่างบวก ลบ คูณ หาร ได้เช่นเดียวกับ Excel อยู่แล้ว

    Tips2 : นอกจากที่ Custom Column แล้ว ภาษา M ยังสามารถเขียนอยู่ในตัวตาราง Query ได้ด้วยนะ แต่ยาก เอาไว้ทีหลังแล้วกันครับ ^^”

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 34

    มันก็จะมี Step เพิ่มขึ้นมา

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 35

    ลบคอลัมน์

    ผมจะตัดคอลัมน์บางอันทิ้ง ก็เลือกคอลัมน์ที่จะไม่เอา เช่น ราคาต่อชิ้น (ผมไม่ใช้แล้ว) แล้วกดปุ่ม Del บน Keyboard ได้เลย

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 36

    สังเกตว่า คอลัมน์ยอดขาย (=จำนวน*ราคาต่อชิ้น) ที่สร้างขึ้นมาใหม่ ก็ยังใช้งานได้อยู่ แม้ว่าเราจะลบคอลัมน์ ราคาต่อชิ้น ออกไปแล้วก็ตาม

    เปลี่ยนชื่อคอลัมน์

    ให้ดับเบิ้ลคลิ๊กที่ชื่อคอลัมน์ตรงหัวตาราง แล้วแก้ไขได้เลย

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 37

    เปลี่ยนประเภทข้อมูล

    คลิ๊กขวาที่คอลัมน์ที่ต้องการ แล้วเลือก Change Type ได้เลย

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 38

    ถ้าทำแล้ว Error แสดงว่ามันมองปฏิทินผิดแบบ

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 39

    ให้ไปที่ Change Type -> Using Locale… แทน แล้วเลือกเป็น Date / English (UK) แล้วกด Enter

    จะเห็นว่ามันยังคง Error อยู่ เป้นเพราะว่ามัน Error มาตั้งแต่ Step ก่อนหน้า

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 40

    ดังนั้นเราต้องลบ Step ก่อนหน้าทิ้งซะ โดย Click ขวาที่ Step ก่อนหน้า แล้วกด Delete

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 41

    จะเห็นว่าข้อมูลไม่ Error แล้ว และสามารถ Filter แบบ Date ได้

    Filter ข้อมูล

    จะ Filter ข้อมูลได้ดี จะต้องเปลี่ยนประเภทข้อมูลให้ถูกต้องซะก่อน เช่น ถ้าไม่ใช่วันที่ ก็จะไม่มี Date Filter ให้เลือก เป็นต้น

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 42

    Split Column

    เราสามารถ Split คอลัมน์ได้ 2 แบบ เช่นเดียวกับเครื่องมือ Text to Column นั่นคือ แบ่งแบบใช้ตัวคั่น (delimiter) กับแบบมีจำนวนอักขระชัดเจน ( number of character)

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 43

    แล้วมันจะมี Option ต่ออีก ว่าจะแยกแค่ตัวแรก ตัวหลัง หรือทุกตัว ผมจะแยกคำนำหน้าชื่อ ก็เลยเอาแค่ตัวแรก

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 44

    ถ้าทำทุกอย่างเสร็จหมดแล้ว เราก็กด Close & Load ได้เลยครับ

    ใครอยากดูเทคนิคต่างๆ ที่ใช้บ่อยอ่านต่อได้ที่นี่

    5. นำไปใช้งานต่อใน Excel

    ผลลัพธ์ที่ออกมาจากการ Load จะเป็น Table ที่เอาไปใช้งานต่อได้ เช่น เอาไปวิเคราะห์ต่อใน PivotTable

    Power Query ตอนที่ 2 : มหากาพย์การใช้งาน Power Query ตั้งแต่ต้นจนจบ 45

    แต่มันมันเจ๋งคือ Table นี้ยังคง Link Connection กับข้อมูลต้นทางอยู่ แปลว่าหากข้อมูลต้นทางเปลี่ยนไป เราแค่ Refresh เจ้า Query นี้ และ Refresh PivotTable อีกที รายงานของเราก็จะเสร็จเลยทันที!!

    ใครมีคำถาม…

    อ่านจบแล้ว ใครสงสัยอะไรตรงไหน หรือว่าการทำงานจริงอยากรู้อะไรเป็นพิเศษ สามารถ Comment ถามไว้ในนี้ หรือจะ inbox ถามใน Facebook ก็ได้ครับ ตรงไหนมีคนสงสัยเยอะๆ ผมจะได้อธิบายละเอียดให้อีกทีครับ ^^

    ใครอ่านแล้วคิดว่ามีประโยชน์ก็อย่าลืมแชร์ให้คนอื่นรู้ด้วยนะครับ ยิ่งคนรู้เยอะเรายิ่งสบายครับ จะได้ช่วยกันลดงานถึกๆ ไปได้นะ ^^

  • Power Query ตอนที่ 1: ปลุกพลัง Power Query ให้ตื่นขึ้น!!

    จากที่ผมได้มีการ Post แนะนำ Power Query ไปในเพจ ปรากฏว่ามีคนให้ความสนใจเป็นจำนวนมาก ดังนั้นผมจึงคิดว่าจะเขียนบทความแนะนำ Power Query เบืองต้นให้ทุกคนได้อ่านกันครับ ซึ่งเครื่องมือนี้ใช้ได้กับ

    • Microsoft Office 2010 Professional Plus ที่มี Software Assurance
    • Microsoft Office 2013
    • Microsoft Office 2016 ขึ้นไป รวมถึง Office 365

    สำหรับบทความนี้ เราจะมาเริ่มกันที่การปลุก Power Query ให้ตื่นขึ้นมาก่อน เพื่อที่ทุกคนจะได้ใช้งานมันได้ในตอนต่อๆ ไปครับ

    คุณมี Power Query แล้วหรือยัง?

    • วิธีดู version Excel ในเครื่องคุณ
    • สำหรับคนที่ใช้ Excel Version 2016 ขึ้นไป (หรือใช้ Office 365) จะมี Power Query แฝงมาให้อยู่แล้ว ใน Ribbon ส่วนของ Data
    • ดังนั้นไม่ต้องอ่านบทความนี้ต่อแล้วครับ
      Power Query ตอนที่ 1: ปลุกพลัง Power Query ให้ตื่นขึ้น!! 46
    • ส่วนคนที่ใช้ Excel Version ต่ำกว่า 2016 หากดูที่ Ribbon แล้วมีคำว่า Power Query อยู่ ก็แสดงว่าใช้งานได้แล้ว ไม่ต้องอ่านบทความนี้ต่อแล้วครับ
      Power Query ตอนที่ 1: ปลุกพลัง Power Query ให้ตื่นขึ้น!! 47
    • ส่วนคนที่ยังหา Ribbon Power Query ไม่เจอ ให้ลอง Enable Add-in ตามนี้ก่อน https://support.office.com/en-us/article/troubleshooting-power-query-2546eaa8-9893-4574-9ef9-afacb9b0b495
    • ถ้าใน Add-in ไม่มีแสดงว่ายังไม่ได้ทำการ Install Power Query เลยครับ นี่แหละคือสาเหตุที่หลายคน Comment ว่าไม่เคยได้ยินเครื่องมือนี้มาก่อนเลย ก็เพราะมันไม่ได้ Install มาด้วยแต่แรกนั่นเอง 555  ดังนั้นให้ทำตามบทความข้างล่างนี้ เพื่อ Install Power Query ครับ

    วิธี Install Power Query

    ก่อนอื่นให้ปิด Excel ทั้งหมดไปก่อน

    จากนั้นให้ไปที่ https://www.microsoft.com/en-us/download/details.aspx?id=39379 หรือ  Search Google ด้วยคำว่า “download power query” แล้วคลิ๊ก Link แรก

    จากนั้นคลิ๊กคำว่า Download ได้เลย

    Power Query ตอนที่ 1: ปลุกพลัง Power Query ให้ตื่นขึ้น!! 48

    เลือก Download ว่าจะเอา 32-bit หรือ 64-bit ตามที่ดูใน Step ข้างบน แล้วกด Next โลด
    (ถ้าไม่แน่ใจก็โหลดมา 2 ไฟล์เลย )

    Power Query ตอนที่ 1: ปลุกพลัง Power Query ให้ตื่นขึ้น!! 49

    พอโหลดมาแล้วก็ Double Click เลย แล้วกด Run

    Power Query ตอนที่ 1: ปลุกพลัง Power Query ให้ตื่นขึ้น!! 50

    พอเจอหน้าจอข้างบนก็กด Next , Accept, Next รัวๆ เลย (ถ้าไม่ขึ้นแบบข้างบน แสดงว่าโหลดมาผิด Version)

    พอ Install เสร็จ ก็ลองเปิด Excel ขึ้นมาใหม่ คราวนี้ก็จะมี Ribbon Power Query โผล่มาแล้วครับ!!

    Power Query ตอนที่ 1: ปลุกพลัง Power Query ให้ตื่นขึ้น!! 51

    ถ้ามันไม่ขึ้นมา???

    ให้ลองไปที่ File -> Options -> Add-ins –> Com Add in ->Go -> ติ๊ก Microsoft Power Query ครับ

    Power Query ตอนที่ 1: ปลุกพลัง Power Query ให้ตื่นขึ้น!! 52
    Power Query ตอนที่ 1: ปลุกพลัง Power Query ให้ตื่นขึ้น!! 53

    ใครลองทำตามนี้แล้วยังไม่ได้ ก็ Post Comment ไว้ได้ครับ เดี๋ยวมาดูให้

    เดี๋ยวตอนต่อไปเราจะมาลองใช้งาน Power Query กันแล้วครับ

  • ลากข้อมูลแล้วให้ Excel ใส่ A-Z โดยอัตโนมัติ ด้วย Custom List

    ลากข้อมูลแล้วให้ Excel ใส่ A-Z โดยอัตโนมัติ ด้วย Custom List

    แต่ก่อนตอนผมใช้ Excel ใหม่ๆ มีปัญหาอย่างหนึ่งที่ผมหงุดหงิดมาก นั่นคือ ผมต้องการลาก Fill Handle แล้วให้ Excel สร้างตัวอักษร A-Z หรือ ก-ฮ โดยอัตโนมัติ แต่สิ่งที่ Excel ทำให้มันกลับแค่เป็นการ Copy ตัว A หรือ ก ที่ผมพิมพ์ลงมาให้ซะงั้น!

    ผมงงมากเลย เพราะขนาด series ที่เป็นตัวเลขดูเหมือนว่าจะยากๆ เช่น 1,4,7,10,… มันยังฉลาดใส่มาให้ได้ แต่ทำไมแค่ A-Z หรือ ก-ฮ ดันไม่ใส่มาให้ฟะ!? ตอนนั้นก็ต้องใช้วิธีพิมพ์เอาเองบ้าง ใช้ฟังก์ชัน CHAR มาช่วยบ้าง ซึ่งก็ไม่ใช่วิธีที่ดีเท่าไหร่

    จนผมได้พยายามค้นใน Internet ก็รู้ว่าจริงๆ แล้ว Excel ทำแบบที่ผมต้องการได้ ด้วยการสร้างสิ่งที่เรียกว่า Custom List นั่นเอง

    Custom List

    Custom List เป็นเครื่องมือที่ช่วยให่เราสามารถสร้าง List รายการแบบที่เรากำหนดได้เอง ซึ่งจะทำให้ Excel สามารถ Auto Fill ข้อมูล หรือ Sort ข้อมูลตาม List ที่เรากำหนดได้

    วิธีการสร้าง Custom List

    1. สร้าง List ข้อมูลเตรียมไว้ก่อน
      • ผมสร้าง List A-Z รวมถึง ก-ฮ ไว้ก่อน ด้วยการลากตัวเลขลงมา 255 ตัว แล้วใช้ฟังก์ชัน CHAR ครอบลงไป
      • ซึ่งฟังก์ชัน CHAR สามารถแปลง Code ตัวเลข ให้กลายเป็นตัวหนังสือได้
        เช่น =CHAR(65) จะได้ออกมาเป็นตัว A ครับ
        ลากข้อมูลแล้วให้ Excel ใส่ A-Z โดยอัตโนมัติ ด้วย Custom List 54
      • จากนั้นทำการ Copy แล้ว Paste Value เพื่อให้สูตรกลายเป็น Value (ถ้าค้างเป็นสูตรไว้ จะเอาไปใส่ Custom List ไม่ได้)
        ลากข้อมูลแล้วให้ Excel ใส่ A-Z โดยอัตโนมัติ ด้วย Custom List 55
    2. เอาไปใส่ใน Custom List
      • ไปที่ Excel Options -> แถบ Advanced -> เลื่อนลงล่างๆ -> Edit Custom Lists…
        ลากข้อมูลแล้วให้ Excel ใส่ A-Z โดยอัตโนมัติ ด้วย Custom List 56
      • ไปที่ช่องข้างๆ ปุ่ม Import แล้วลากครอบพื้นที่ ที่เตรียมตัว A-Z ไว้
        ลากข้อมูลแล้วให้ Excel ใส่ A-Z โดยอัตโนมัติ ด้วย Custom List 57
      • กดปุ่ม Import ก็เสร็จการใส่ List A-Z แล้ว
        ลากข้อมูลแล้วให้ Excel ใส่ A-Z โดยอัตโนมัติ ด้วย Custom List 58
    3. ทำแบบเดิมกับ ก-ฮ หรือ List อื่นๆ ที่คุณต้องการ
      ลากข้อมูลแล้วให้ Excel ใส่ A-Z โดยอัตโนมัติ ด้วย Custom List 59ลากข้อมูลแล้วให้ Excel ใส่ A-Z โดยอัตโนมัติ ด้วย Custom List 60

    การเรียกใช้ Custom List ที่สร้างไว้แล้ว

    ใช้ใน AutoFill

    วิธีใช้ก็ง่ายแสนง่าย แค่พิมพ์ตัวใดตัวหนึ่งที่อยู่ใน List แล้วลาก Fill Handle ยาวลงมาก็ใช้ได้แล้ว

    ลากข้อมูลแล้วให้ Excel ใส่ A-Z โดยอัตโนมัติ ด้วย Custom List 61

    ใช้ใน Sort

    เวลาจะเรียงข้อมูลด้วย Custom List จะมีวิธียุ่งยากเล็กน้อย คือ ให้เราเลือก Sort แบบ Custom Sort (หรือไปที่ Ribbon [Data] => Sort ก็ได้)

    ลากข้อมูลแล้วให้ Excel ใส่ A-Z โดยอัตโนมัติ ด้วย Custom List 62

    จากนั้นตรง Order ให้เลือก Custom List… แล้วเลือก List ที่ต้องการ จากนั้นกด OK

    Custom List

    จากนั้น Excel ก็จะเรียงข้อมูลตาม List ที่เราต้องการครับ

    ลากข้อมูลแล้วให้ Excel ใส่ A-Z โดยอัตโนมัติ ด้วย Custom List 63

    ก่อนจากลา…

    ก็จบแล้วนะครับกับบทความเรื่อง Custom List นี้ หวังว่าจะเป็นประโยชน์กับเพื่อนๆ นะครับ เพราะถ้าใครรู้เทคนิคนี้ ก็สามารถเลิกพิมพ์ List อะไรซ้ำๆ ไปอีกตลอดชีวิต อย่าง A-Z เนี่ย ผมใช้บ่อยมากๆ เลย ลดเวลาไปได้มากครับ

    แต่มันจะเจ๋งกว่านี้อีก ถ้าเรามี List อื่นๆ เตรียมไว้ด้วย ดังนั้นถ้าใครมี List เจ๋งๆ ก็แชร์กันมาได้นะครับ เผื่อจะเป็นประโยชน์กับเพื่อนๆ คนอื่นด้วย ^^

  • The Mask Function ตอนที่ 3 :  แสดงความสามารถครั้งสุดท้าย

    The Mask Function ตอนที่ 3 : แสดงความสามารถครั้งสุดท้าย

    ตอนนี้เป็นตอนต่อจาก The Mask Function ตอนที่ 2 :  ถอดหน้ากาก ! มาดูกันว่ามันคือฟังก์ชันอะไร !?

    ซึ่งฟังก์ชันทีผ่านเข้ารอบคือ ตัวแทนสาย C และ D ซึ่งได้แสดงผลงานในรอบแรกในการแข่ง Lookup ข้อมูลแบบ Multiple Criteria ไปแล้ว ทั้งคู่ต่างหาผลลัพธ์ได้ถูกต้องคือ ราคา 60 บาทถูกต้องเหมือนกันหมด แถมบอกเพิ่มด้วยว่า ถึงค่าที่จะ Lookup จะไม่ใช่ตัวเลข ตัวเองก็ไม่กลัวเลย สามารถทำงานได้ สบายหายห่วง!

    The Mask Function ตอนที่ 3 : แสดงความสามารถครั้งสุดท้าย 64

    การแสดงความสามารถรอบ Final

    โจทย์คือ มีช่วงตัวเลขกำกับการให้คะแนนแต่ละเกรดอยู่ แล้วให้ Lookup ค่าเกรดจากคะแนนที่กำหนด แถมต้อง Lookup หลายคะแนนต่อเนื่องกันด้วย

    ตัวแทนสาย D ไม่รอช้า รีบแสดงความสามารถเลย เพราะถือว่า “เข้าทางมากๆ”

    The Mask Function ตอนที่ 3 : แสดงความสามารถครั้งสุดท้าย 65

    ต่างกันกับตัวแทนสาย C ซึ่งเจอโจทย์นี้ไปก็เกิดอาการอึดอัดไปซักพักหนึ่ง แต่ในที่สุดก็แสดงความสามารถออกมาจนได้…

    The Mask Function ตอนที่ 3 : แสดงความสามารถครั้งสุดท้าย 66

    Comment จากกรรมการ

    ทั้งคู่ก็หาคำตอบมาได้ในที่สุด… แต่ด้วยความยากลำบากที่ต่างกัน

    ในรอบแรก ตัวแทนสาย C ดูเหมือนจะได้โจทย์ที่เข้าทางมากๆ เขียนสูตรนิดเดียวก็ได้คำตอบเลย
    แต่พอมาถึงในรอบหลังนี้ ดูเหมือนจะไม่ใช่แนวทางของตัวแทนสาย C เอาซะเลย…

    กลับกันกับตัวแทนสาย D ซึ่งรอบแรกก็หืดขึ้นคอเหมือนกัน ต้องเขียนสูตรยาวมาก แถมต้องใช้ CHOOSE มาช่วยอีก
    แต่พอมารอบนี้อะไรก็เข้าทางไปหมด..

    เอ้า! แล้วตอนนี้คุณรู้หรือยังครับว่าตัวแทนสาย C คือใคร และตัวแทนสาย D คือใคร?

    ศุกร์หน้า จะมาถอดหน้ากากเฉลยนะครับ!!

  • การเขียนข้อความในสูตร และการใช้เครื่องหมาย & เชื่อม

    การเขียนข้อความในสูตร และการใช้เครื่องหมาย & เชื่อม

    เรื่องพื้นฐานบางเรื่อง เป็นเรื่องง่ายๆ แต่หลายคนก็มองข้ามไป หรือทำไม่เป็นอย่างน่าเสียดาย …

    วันนี้ผมเลยจะขอมาแนะนำความรู้เกี่ยวกับการเขียนข้อความในสูตร และการใช้เครื่องหมาย & เชื่อม ครับ
    มีประเด็นที่น่าสนใจหลายอย่างเลย

    รู้หรือไม่ว่า…

    • & คือตัวเชื่อมข้อความ เชื่อมข้อความ จากหลายช่องมารวมกันในช่องเดียวกันได้
      • เช่น ในรูป สามารถรวม ชื่อ และนามสกุล เดิมอยู่แยกกันให้รวมกันเป็น Cell เดียวได้
    • & ทำให้ผลลัพธ์เป็นข้อมูลประเภท Text
      • สามารถแปลง Number เป็น Text ได้ด้วย เช่น =100&”” จะทำให้ 100 กลายเป็น Text
    • ข้อความใน Cell เราไม่ต้องใส่เครื่องหมายคำพูด
      • พิมพ์ไปใน Cell ตรงๆ แล้วอ้างอิงมาใช้ในสูตรด้วย Cell Reference เช่น A1 B2 ได้เลย
    • ข้อความในสูตร ต้องพิมพ์อยู่ในเครื่องหมายคำพูด (” “) เพื่อบ่งบอกว่าเรากำลังจะพิมพ์ข้อมูลที่เป็น Text
    • แต่ถ้าจะใส่เครื่องหมายคำพูดจริงๆ ให้ใส่ “” ซ้อนลงไปข้างใน เครื่องหมายคำพูด (ที่เป็นตัวบ่งบอกความเป็น Text) อีกที
      • เช่น =“”นี่คือข้อความภายในเครื่องหมายคำพูด“” อันนี้นอกนะ…
      • จะออกมาเป็น “นี่คือข้อความภายในเครื่องหมายคำพูด” อันนี้นอกนะ…

    ใครมีประเด็นที่น่าสนใจเพิ่มเติม ก็ Comment ได้เลยครับ

  • The Mask Function ตอนที่ 2 :  ถอดหน้ากาก ! มาดูกันว่ามันคือฟังก์ชันอะไร !?

    The Mask Function ตอนที่ 2 : ถอดหน้ากาก ! มาดูกันว่ามันคือฟังก์ชันอะไร !?

    ตอนนี้เป็นตอนต่อจาก The Mask Function : หน้ากากฟังก์ชัน ! มาทายกันนี่คือฟังก์ชันอะไร?? ซึ่งฟังก์ชันทั้ง 4 ตัวได้โชว์ฝีมือในการแข่งขัน แข่ง Lookup ข้อมูลแบบ Multiple Criteria ไปแล้ว ทุกตัวต่างหาผลลัพธ์ได้ถูกต้องคือ ราคา 60 บาทถูกต้องเหมือนกันหมด!

    The Mask Function ตอนที่ 2 : ถอดหน้ากาก ! มาดูกันว่ามันคือฟังก์ชันอะไร !? 67

    ตัวผมเองก็ตัดสินใจไม่ถูกเหมือนกันว่าจะให้ฟังก์ชันไหนเข้ารอบต่อไปดี เพราะ ณ ขณะที่ผมกำลังเขียนบทความอยู่นี้ มีตัวแทนสาย C ที่มีคะแนนโหวตนำโด่งอยู่ตัวเดียว ส่วนตัวแทนสายอื่นๆ คะแนนเท่ากันหมดเลย

    ผมคิดว่าการที่ตัวแทนสาย C ได้รับคะแนนโหวตเยอะมาก เพราะความง่ายและสั้นในการเขียนสูตรนั่นเอง ซึ่งผมจะเคารพการตัดสินใจของเพื่อนๆ ครับ
    ดังนั้นตัวแทนสาย C จะเข้ารอบไป โดยที่จะยังไม่ได้เปิดเผยหน้าตาที่แท้จริงว่าคือฟังก์ชันอะไร? 

    ส่วนฟังก์ชันอีกอันที่จะเข้ารอบไป ผมขอเลือกเป็นตัวแทนสาย D แล้วกันครับ เนื่องจากความยุ่งยากในการเขียนสูตรที่ยาวมากๆ เรียกได้ว่าเป็นขั้วตรงข้ามกับตัวแทนสาย C โดยสิ้นเชิงเลย

    ใบ้เพิ่มเติม

    ทั้งตัวแทนสาย C และ D ที่เข้ารอบไปแล้วฝากบอกมาว่า ถึงค่าที่จะ Lookup จะไม่ใช่ตัวเลข ตัวเองก็ไม่กลัวเลย สามารถทำงานได้ สบายหายห่วง!
    ต่างจากตัวแทนกลุ่ม A และ B ที่หากจ้อง Lookup ค่าที่เป็นตัวหนังสือกลับมาคงจะลำบากสุดๆ ครับ

    ดังนั้นวันนี้ผมจะทำการถอดหน้ากาก ตัวแทนสาย A และ B ซะก่อนครับ !!

    ถอดหน้ากากตัวแทนสาย A

    ปรากฏว่าตัวแทนสาย A คือฟังก์ชัน SUMIFS ครับ!!

    The Mask Function ตอนที่ 2 : ถอดหน้ากาก ! มาดูกันว่ามันคือฟังก์ชันอะไร !? 68

    มีหลายคนเดาถูกด้วย แต่หลายคนก็อาจจะงงว่าทำไมฟังก์ชัน SUMIFS ถึงเอามา Lookup ค่าราคาได้ด้วย? มันเป็นฟังก์ชันที่เอาไว้หาผลรวมตามเงื่อนไขไม่ใช่เหรอ?

    ใช่ครับ SUMIFS มีหน้าที่หลักคือเอาไว้หาผลรวมตามเงื่อนไขที่กำหนด … แต่ถ้าค่าที่จะ Lookup เป็นตัวเลข การใช้ SUMIFS ก็เป็นอีกวิธีที่เข้าท่ามากๆ ในการทำ Lookup แบบ Multiple Criteria

    =SUMIFS(sum_range,criteria_range,criteria,…)

    • sum_range คือ range ที่เราจะหาผลรวม ในที่นี้ก็คือ range ที่จะ lookup ค่ามา ซึ่งก็คือ C2:C7 นั่นเอง
    • criteria_range1 คือ range ที่จะมีข้อมูลเงื่อนไขตัวแรกอยู่ ซึงคือ product A2:A7
    • criteria1 คือ เงื่อนไขตัวแรก ในที่นี้คือ product ข (A10)
    • criteria_range2 คือ range ที่จะมีข้อมูลเงื่อนไขตัวแรกอยู่ ซึงคือ Type B2:B7
    • criteria2 คือ เงื่อนไขตัวแรก ในที่นี้คือ Type 2 (B10)

    ข้อควรระวัง

    ถ้ามีค่า Criteria ซ้ำๆ หลายบรรทัด เช่น มี ข 2 หลายอัน การใช้ AVERAGEIFS ก็อาจจะเป็นทางเลือกที่ดีกว่า เพราะจะได้ค่าเฉลี่ยกลับไป แทนที่จะได้ผลรวมหากใช้ SUMIFS

    SUMIFS : กรณีมี Criteria ซ้ำกันหลายบรรทัด จะได้ (60+60)

    The Mask Function ตอนที่ 2 : ถอดหน้ากาก ! มาดูกันว่ามันคือฟังก์ชันอะไร !? 69

    AVERAGEIFS : กรณีมี Criteria ซ้ำกันหลายบรรทัด จะได้ (60+60) /2

    The Mask Function ตอนที่ 2 : ถอดหน้ากาก ! มาดูกันว่ามันคือฟังก์ชันอะไร !? 70

    ถอดหน้ากากตัวแทนสาย B

    ปรากฏว่าตัวแทนสาย A คือฟังก์ชัน SUMPRODUCT ครับ!!

    The Mask Function ตอนที่ 2 : ถอดหน้ากาก ! มาดูกันว่ามันคือฟังก์ชันอะไร !? 71

    มีคนเดาถูกเช่นกัน และหลายคนก็คงจะงงอีกเช่นกัน เพราะปกติ SUMPRODUCT จะเอาไว้คำนวณการจับคู่คูณกันแล้วค่อยหาผลรวมของทุกคู่

    เช่นรูปนี้ มันจะเอา (100*60%) + (200* 50%) + (300*40%)

    The Mask Function ตอนที่ 2 : ถอดหน้ากาก ! มาดูกันว่ามันคือฟังก์ชันอะไร !? 72 The Mask Function ตอนที่ 2 : ถอดหน้ากาก ! มาดูกันว่ามันคือฟังก์ชันอะไร !? 73

    ซึ่งถ้าสังเกตจะเห็นว่า Range สีน้ำเงิน และ Range สีแดง อยู่แยกกันคนละ Argument (Array1 กับ Array2) มันก็เลยจับคู่มาคูณกันแล้วหาผลรวม

    แต่กลับมายังโจทย์การแข่งขันของเรา ทั้ง (C2:C7) และ (B2:B7=B10) และ (A2:A7=A10) มันอยู่ Argument Array1  เหมือนกันหมดเลย!!

    ซึ่งการเขียนสูตรแบบเอา Range หลายอันบวกลบคูณหารกันนั้น เป็นการเขียนสูตรแบบ Array Formula ซึ่งปกติต้องกดปุ่ม Control+Shift+Enter ถึงจะใช้งานได้ แต่ฟังก์ชัน SUMPRODUCT สามารถทำงานได้เลยโดยกดปุ่ม Enter ธรรมดา

    หากลองวิเคราะห์ละเอียดโดยลากแถบดำในสูตร แล้วกด F9 ดูในองค์ประกอบแต่ละส่วนจะได้ดังนี้

    =SUMPRODUCT({10;50;20;60;30;70}*({1;2;1;2;1;2}=2)*({“ก”;”ก”;”ข”;”ข”;”ค”;”ค”}=”ข”))

    =SUMPRODUCT({10;50;20;60;30;70}*({FALSE;TRUE;FALSE;TRUE;FALSE;TRUE})*({FALSE;FALSE;TRUE;TRUE;FALSE;FALSE}))

    แปลว่า 10 จับคู่กับ FALSE และ FALSE

    50 จับคู่กับ TRUE และ FALSE … ไปเรื่อยๆ

    =SUMPRODUCT({10;50;20;60;30;70}*{0;0;0;1;0;0})

    =SUMPRODUCT({0;0;0;60;0;0})

    =60

    โชว์เหนือ Lookup 2 แกน

    สูตร SUMPRODUCT ฝากบอกมาว่า ถึงตารางจะพลิกไปเป็นอีกแบบ มันก็ยังทำงานได้นะ (เหมือน Lookup 2 แกน)

    The Mask Function ตอนที่ 2 : ถอดหน้ากาก ! มาดูกันว่ามันคือฟังก์ชันอะไร !? 74

    The Mask Function ตอนที่ 2 : ถอดหน้ากาก ! มาดูกันว่ามันคือฟังก์ชันอะไร !? 75

    ซึ่งสูตรนี้ทำงานได้ เป็นการคูณ Array แบบมิติ 2 ที่มี Range ไม่เท่ากัน นั่นคือ

    • A3:A5 มีมิติ 3R x 1C
    • B2:C2 มีมิติ 1R x 2C

    คูณกัน ได้ผลลัพธ์เป็น Range ที่มีมิติ = 3R x 2C ซึ่งมีมิติเท่ากับ Range ของข้อมูล Price B3:C5 พอดี จึงทำการคูณกันในตอนจบได้ ตามขั้นตอนข้างล่าง

    =SUMPRODUCT((B3:C5)*(A3:A5=A10)*(B2:C2=B10))

    =SUMPRODUCT({10,50;20,60;30,70}*({“ก”;”ข”;”ค”}=”ข”)*({1,2}=2))

    =SUMPRODUCT(({10,50;20,60;30,70})*({FALSE;TRUE;FALSE})*({FALSE,TRUE}))

    =SUMPRODUCT(({10,50;20,60;30,70})*{0,0;0,1;0,0})

    =SUMPRODUCT({0,0;0,60;0,0})

    = 60

    ตอนต่อไป

    วันศุกร์หน้า พบกับความสามารถของฟังก์ชั่นทั้งสองที่เข้ารอบไป ว่าจะแสดงอะไรเจ๋งๆ ให้พวกเราได้ดูกันครับ

     

     

  • เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง?

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง?

    ผมเชื่อว่าผู้อ่านหลายคนก็ใช้ Excel มาเป็นเวลานานแล้ว และก็เชื่ออีกว่า คุณต้องไม่เคยสำรวจคำสั่งต่างๆ ของ Excel บน Ribbon อย่างจริงๆ จังๆ แน่

    วันนี้ผมก็เลยจะมาช่วยเพื่อนๆ มาสำรวจ Ribbon ไปด้วยกันครับ โดยเฉพาะคำสั่งตามซอกหลืบต่างๆ ที่คุณอาจไม่ทันสังเกตเห็นมาก่อน ^^
    ผมจะลองไล่ Tab Home ให้ดูนะครับ ส่วน Tab อื่นไปเล่นกันเองน้าาา

    ภาพรวม Tab Home

    Tab Home เป็น Tab ที่รวมเรื่องที่เราใช้งานบ่อยที่สุดเอาไว้ ถ้านึกอะไรไม่ออก ก็น่าจะต้องสั่งงานใน Tab นี้แหละ

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 76

    ในส่วนของ Paste เองก็มีลูกเล่นหลายอย่างมากๆ และถ้ากด Paste Special ก็จะยิ่งมี Option เพิ่มขึ้นอีก เช่น ทำ Operation บวก ลบ คูณ หารได้ด้วย

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 77  เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 78

    แม้แต่การ Copy ก็ยังมีโหมด Copy as Picture … แต่จริงๆ ไม่ค่อยมีประโยชน์เท่าไหร่ เพราะมัน Paste As Picture ได้อยู่แล้ว
    ซึ่งสามารถเลือกโหมดของการ Copy ได้ว่าจะทำการ Copy แบบตามที่เห็นบนหน้าจอ หรือ ตามที่เห็นตอน Print

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 79 เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 80

    ซึ่งโหมด Copy as Picture แบบ As Shown when printed นี้จะได้ภาพที่คมชัดกว่า Copy เฉยๆ แล้ว Paste As Picture นะครับ แถมสามารถช่วยตัดพวกสัญลักษณ์ Error แปลกๆ (ธงเขียว) และสัญลักษณ์การ Comment (ธงแดง) ออกไปได้ด้วย !! (คุณบิว วิศวกรรีพอร์ต บอกมา และผมก็ลองแล้วเป็นอย่างนั้นจริงๆ ด้วย!!)

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 81

    ส่วนของการปรับแต่ง Font ก็มีขีดเส้นใต้คู่ด้วยนะ 555

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 82

    การตีกรอบก็มีได้หลายวิธีมากๆ  ยิ่งถ้ากดไปใน More Border เราสามารถทำเส้นกรอบแบบแทยงมุมได้ด้วยนา

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 83 เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 84

    การจัดวางตัวอักษรก็ปรับได้หลายแบบ ถ้าเลือก Format Cell Alignment ก็จะปรับได้เยอะขึ้นไปอีก (กด ctrl+1 ก็ได้)

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 85

    เคยกดพวก Shrink to Fit บ้างมั้ย? มันจะลดขนาด Font ให้พอดีช่องเองนะ

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 86

    ส่วนการ Merge Cell ก็มีโหมด Merge Across ให้เลือกด้วย ซึ่งมันจะ Merge แบบแยกบรรทัดกันได้ด้วยนะ

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 87

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 88

    การปรับ Number Format ก็มี Preset พื้นฐานให้เลือกพอสมควร ถ้ายังไม่ได้ดั่งใจก็ต้องไป More Number Format… แล้วไป Custom เอา

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 89 เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 90

    ส่วนการใช้ Conditional Format (ปรับ Format ตามเงื่อนไข) ก็มี Preset ให้เลือกเยอะเลย แต่ถ้ายังไม่พอใจ ก็ต้องไป New Rule… แล้ว Use Formula เอา เพื่อความ Flexible ขั้นสุดยอด

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 91เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 92

    กลุ่ม Insert / Delete คิดว่าน่าจะเคยลองกดเล่นกันบ้าง

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 93 เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 94

    กลุ่ม Format นี่มีอะไนซ่อนอยู่เยอะเหมือนกันนะ

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 95

    รู้หรือไม่ว่า AutoSum มันมี Function อื่นๆ ให้เลือกด้วยนะ

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 96

    รู้มั้ยว่ามันมีคำสั่ง Fill ด้วยน่ะ แถมมีหลายทิศอีก และถ้าเลือก Series… ก็มี Option ให้เลือกอีกตูมเลย!

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 97  เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 98

    ทำ Growth ประหลาดๆ ก็ได้

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 99

    ปุ่ม Clear ก็มีหลายแบบ แถมยัง Clear เฉพาะ Hyperlink ออกได้ด้วยนะ

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 100

    Sort & Filter น่าจะใช้กันบ่อย

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 101

    Find & Select นี่มีประโยชน์มากนะ ถ้าใช้เป็นทุ่นแรงได้เยอะมากๆ

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 102

    Find… แล้วเลือก Option >>> ใน Look in นี่สำคัญมาก และพวก Match entire cell contents ก็ทำให้ร่วมกับพวกเครื่องหมาย wildcard ได้อีก

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 103

    Go to Special นี่เจ๋งมาก การเลือกช่องที่ Blank ทำได้ง่ายๆ โดยเครื่องมือนี้

    เคยสำรวจ Ribbon บน Excel จนครบทุกซอกทุกมุมหรือยัง? 104

    นี่แค่ Tab Home อันเดียวนะครับ ใน Tab อื่นก็ยังมีเครื่องมือเจ๋งๆ ซ่อนอีกเยอะ และจริงๆ ยังมีเครื่องมือที่ไม่อยู่ใน Ribbon ปกติ แต่เราเรียกใช้งานผ่าน Quick Access Toolbar ได้อีกเพียบเลยด้วยนา

    ดังนั้นอย่าลืมกลับไปสำรวจเครื่องมือที่คุณมีอยู่แล้วให้ดี เพื่อดึงประโยชน์สูงสุดของ Excel ออกมาได้อย่างเต็มที่นะครับ!!

    ========================================

    Post นี้คือ ส่วนหนึ่งของโครงการ inwexcel365tips  ที่ผมจะ post บทความในเพจทุกวัน ต่อเนื่องกันเป็นเวลา 1 ปี ถ้าผมพลาดไม่ post ภายในเวลา 3 ทุ่ม คนที่มาทวง post คนแรก รับของแจกฟรีได้เลย !!

     

  • แนะนำโครงการ inwexcel365tips 

    ผมตั้งเกมสนุกๆ ให้แฟนเพจได้เล่นกันครับ ในชื่อ #inwexcel365tips นั่นคือ

    ตั้งแต่ 7 มีค. 2560 เป็นต้นไป… ในทุกๆ วันเวลา 2 ทุ่ม – 3 ทุ่ม
    ผมจะ Post “Tips/เทคนิค Excel การใช้ Excel”  ต่อเนื่องกันใน facebook เพจ inwexcel เป็นเวลา 1 ปี ! ไม่ให้ขาดแม้แต่วันเดียว (สิ้นสุด 6 มีค. 2561)

    วันไหนก็ตามที่ผมพลาดไป ไม่ได้มีการ post บทความภายในเวลา 3 ทุ่ม ใครก็ตามที่มา ทวงpost ผมได้เป็นคนแรก
    จะสามารถเลือกหนังสือ E-Book หรือ คอร์สออนไลน์ผมอันไหนก็ได้ ฟรี 1 อัน ทันทีครับ!

    กติกาเล็กน้อยของเกม #ทวงpost
    ————
    1. คนที่มาทวง post ต้องเป็นแฟนของเพจ inwexcel ด้วยนะครับ นั่นคือต้องกด Like เพจนี้ด้วย
    2. เริ่มทวง post ได้ตั้งแต่เวลา 3 ทุ่มเป็นต้นไปครับ
    3. ใช้วิธีการ post to page โดยต้องมี hashtag คำว่า #ทวงpost อยู่ใน ด้วย
    4. การทวง post จะเป็นวันต่อวัน มีของแจกทุกวัน (ถ้าผมพลาด)

    แบบนี้แหละ น่าจะเป็นการบังคับให้ผมขยัน post ด้วย แถมแฟนๆ ก็ได้ประโยชน์ด้วย win-win ทั้งสองฝั่ง ว่ามั้ย อิอิ

  • The Mask Function : หน้ากากฟังก์ชัน ! มาทายกันนี่คือฟังก์ชันอะไร??

    The Mask Function : หน้ากากฟังก์ชัน ! มาทายกันนี่คือฟังก์ชันอะไร??

    The Mask Singer สำหรับคนที่ไม่รู้จัก

    จากกระแสที่ร้อนแรงของรายการ The Mask Singer (หน้ากากนักร้อง) ที่จัดให้มีการร้องเพลงภายใต้หน้ากาก โดยให้ผู้ชมลุ้นว่าคนภายใต้หน้ากากคือใคร หากนักร้องคนไหนที่ตกรอบ ก็จะต้องมีการถอดหน้ากาก เพื่อเปิดเผยตัวตนที่แท้จริงของตัวเอง ส่วนผู้ชนะก็จะเข้ารอบต่อไป

    ซึ่งรายการนี้จะมีการแบ่งนักร้องเป็น 4 สายเพื่อหาตัวแทนแต่ละสายมาแข่งกันในรอบ Final ในฐานะสุดยอดหน้ากากนักร้องทั้ง 4 คน…

    ผมก็เลยคิดว่า ถ้าลองจับเอาฟังก์ชันใน Excel มาแสดงความสามารถเจ๋งๆ แล้วให้เพื่อนๆ ทายว่าจริงๆ แล้วมันคือฟังก์ชันอะไรกันแน่ก็น่าจะสนุกดีนะ

    แข่ง Lookup ข้อมูลแบบ Multiple Criteria !!

    ผมก็เลยมีฟังก์ชันมาให้ทาย 4 ตัวเช่นเดียวกัน ซึ่งผมให้ทุกตัวแก้ปัญหาเดียวกันเลย นั่นคือ การ Lookup ข้อมูลแบบ Multiple Criteria โดยต้องดูข้อมูลจากคอลัมน์ A และ B เพื่อหาราคาในคอลัมน์ C มาให้ได้ !! (Advance ชะ?)

    The Mask Function : หน้ากากฟังก์ชัน ! มาทายกันนี่คือฟังก์ชันอะไร?? 105

    ทุกตัวต่างหาผลลัพธ์ได้ถูกต้องคือ ราคา 60 บาท แต่ทว่าแต่ละตัววาดลวดลายหาคำตอบด้วยวิธีที่แตกต่างกันอย่างมาก

    เราลองมาดูความสามารถของฟังก์ชันแต่ละตัวกันครับ

    • =ตัวแทนสาย A (C2:C7,A2:A7,A10,B2:B7,B10)
    • =ตัวแทนสาย B ((C2:C7)*(B2:B7=B10)*(A2:A7=A10))
    • =ตัวแทนสาย C (A1:C7,C1,A9:B10)
    • {=ตัวแทนสาย D (A10&B10,CHOOSE({1,2},A2:A7&B2:B7,C2:C7),2,FALSE)}
      ** ตัวแทนสาย D ต้องกดปุ่ม Ctrl+Shift+Enter ถึงจะทำงานได้

    คุณล่ะทายได้หรือไม่ว่า ตัวแทนแต่ละสาย คือ ฟังก์ชันอะไร??

    ให้ลองทายเล่นๆ ได้ใน Comment ของเว็บนี้ หรือจะ Comment ใน Post ของ Facebook เพจ inwexcel ก็ได้ครับ

    โหวตฟังก์ชันที่อยากจะให้เข้ารอบได้ที่นี่

    [yop_poll id=”1″]

    ส่วนการเฉลย ผมจะขอคัดฟังก์ชันที่ตกรอบ 2 คน แล้วเฉลยผู้แพ้ 2 ฟังก์ชันแรกในวันที่ 10 มีค. 2560 นะครับ นั่นคือหลังจากรายการ The Mask Singer (หน้ากากนักร้อง) ฉายรอบแชมป์ชนแชมป์ 1 วัน (ฉาย 9 มีค. 2560 เวลา 2 ทุ่ม  ) ซึ่งเค้าจะคัดออก 2 คนเหมือนกัน 555

    และผมจะอธิบายการทำงานของฟังก์ชันแต่ละตัวที่ตกรอบด้วยเลยอย่างละเอียดในวันที่ 10 มีค. นะครับ ^^

    ========================================

    Post นี้คือ ส่วนหนึ่งของโครงการ inwexcel365tips  ที่ผมจะ post บทความในเพจทุกวัน ต่อเนื่องกันเป็นเวลา 1 ปี ถ้าผมพลาดไม่ post ภายในเวลา 3 ทุ่ม คนที่มาทวง post คนแรก รับของแจกฟรีได้เลย !!

  • 10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม

    นอกจาก Excel จะเป็นเครื่องมือที่ใช้ในการคำนวณได้อย่างเก่งกาจแล้ว มันยังสามารถนำมาใช้เป็นเครื่องมือในการ Track งาน/วาระประชุมต่างๆ ได้อย่างยอดเยี่ยมด้วย วันนี้ผมเลยจะมาแชร์เทคนิคที่คิดว่าน่าจะเป็นประโยชน์กับเพื่อนๆ ครับ (ถ้าใครมีแนวทางอื่นเจ๋งๆ ก็บอกผมด้วยนะ ^^)

    1. ออกแบบการจดงานในลักษณะตาราง Database

    เวลาอยากจะใช้ Excel ได้อย่างเต็มประสิทธิภาพ การเก็บข้อมูลในลักษณะตาราง Database จะเป็นการเริ่มต้นที่ดีที่สุด เพราะมันสามารถช่วยให้เราสามารถนำข้อมูลไปใช้ในความสามารถอื่นๆ ของ Excel ได้อีก เช่น Sort/Filter, PivotTable เป็นต้น

    สำหรับคนที่ไม่รู้ว่าการเก็บข้อมูลในลักษณะตาราง Database เป็นยังไง… มันก็คือการเก็บข้อมูลโดยใส่ข้อมูลโดยมีหัวตาราง โดยเป็นตัวที่จะบอกว่าข้อมูลในคอลัมน์นั้นๆ คือเรื่องอะไร นั่นแปลว่าในคอลัมน์เดียวกัน ข้อมูลจะเป็นข้อมูลประเภทเดียวกัน เช่น ถ้าเป็นชื่อสินค้า ก็จะเป็นชื่อสินค้าทุกบรรทัด ถ้าเป็นวันที่ Deadline ก็จะต้องเป็นข้อมูล Deadline ทุกบรรทัด เป็นต้น

    ดังนั้นสิ่งสำคัญคือ คุณจะต้องคิดว่าการจดงานของคุณควรจะมีคอลัมน์อะไรบ้าง? เช่น

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 106

    2. ปรับตาราง Track งานให้เป็น Table ก็เจ๋งนะ

    ไหนๆ เราก็จะบันทึกข้อมูลในลักษณะของ Database แล้ว การปรับตารางปกติให้กลายเป็น ตารางแบบ Table ไปเลยก็จะได้ประโยชน์หลายอย่าง เช่น

    • ไม่ต้อง Copy ข้อมูลจากบรรทัดบนไปบรรทัดล่างอีกต่อไป มันจะลงมาให้เองอัตโนมัติ ทั้งสูตร, Data Validation, Conditional Format ทั้งหลายที่เรากำลังจะอธิบายต่อๆไป
    • มีเครื่องมือ Filter ขึ้นมาให้โดยอัตโนมัติ

    ซึ่งวิธีทำก็ง่ายแสนง่าย ก็คือเลือกส่วนใดส่วนหนึ่งของตารางแล้วไปที่ Insert -> Table หรือกด Ctrl+t เป็นอันจบ

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 107

    Tips : รู้จักใช้เครื่องมือ Sort/Filter

    การใช้ Sort/Filter จะสามารถช่วยให้เราสามารถบันทึก/เลือกข้อมูลแก้ไขได้ง่ายขึ้น เพียงคุณมีซักคอลัมน์บอกว่าแถวนั้นๆ คือเรื่องอะไร แล้วใช้เครื่องมือ Sort/Filter คุณก็สามารถทำให้ข้อมูลที่เดิมกระจัดกระจายอยู่หลายบรรทัด สามารถมารวมอยู่ติดๆ กันได้อย่างง่ายดาย เช่น คุณอาจจะบันทึกประเด็นประชุมต่างๆ ไล่ไปเรื่อยๆ ทีละแถวๆ โดยไม่ต้องสนใจว่าแต่ละแถวเป็นเรื่องเดียวกันหรือไม่เพราะสามารถ Sort/Filter ได้ภายหลัง

    เราสามารถเปิด/ปิด Auto Filter ได้โดยการกดปุ่ม Auto Filter บน Ribbon หรือจะใช้ Keyboard Shortcut:  Ctrl+Shift+L ก็ได้

    3. Shortcut เจ๋งๆ ในการบันทึก / แก้ไขข้อมูล

    เวลาจดงานในที่ประชุม สิ่งสำคัญมากๆ อย่างหนึ่งคือ “ความเร็ว” นั่นเอง ดังนั้นเทคนิคในการบันทึก/แก้ไขข้อมูลแบบเร็วๆ จึงเป็นสิ่งที่จำเป็นที่ต้องเรียนรู้

    และวิธีการบันทึกข้อมูลที่เร็วที่สุดอันหนึ่งก็คือ การใช้ Keyboard Shortcut นั่นเอง (มันเร็วกว่าการใช้ Mouse คลิ๊กมากๆ) ดังนั้นผมจะขอแนะนำ Shortcut ที่คิดว่าจะมีประโยชน์ต่อการบันทึกงานดังนี้ครับ

    • ไปช่องถัดไป (ถ้าอยู่ช่องสุดท้าย จะขึ้นบรรทัดใหม่) = Tab
    • เข้าไปแก้ไขข้อมูล = F2
    • ทำซ้ำ action ล่าสุด = F4
    • สร้างเลข Running = ใส่เลข 1 แล้วกด Ctrl ค้างไว้ แล้วลาก Fill Handle ลง
    • ใส่วันที่ปัจจุบัน = Ctrl+;
    • ใส่เวลาปัจจุบัน = Ctrl+: (Ctrl+Shift+;)
    • ขีดฆ่าข้อมูล (strike through) = Ctrl+5
    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 108

    4. สร้าง Drop Down List ให้กรอกข้อมูลง่าย

    เราสามารถสร้าง Drop down List ให้คนกรอกข้อมูลได้เร็วและถูกต้องได้ง่ายๆ ซึ่ง Dropdown ที่จะนำมาใช้ได้
    เช่น คนรับผิดชอบงาน/กลุ่มของงาน/Status ของงาน เป็นต้น

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 109

    วิธีการทำก็ง่ายมาก ให้ไปที่ [Data] -> Data Validation -> List -> แล้วพิมพ์ตัวเลือกที่ต้องการ คั่นด้วย Comma หรือจะเลือก Range ของ Choice ที่ต้องการ หรือจะเลือกจากชื่อที่ตั้งเอาไว้แล้วก็ได้ (ในรูปผมตั้งชื่อ Range ของ Choice ที่จะให้เลือกว่า ลูกน้อง ตามวิธีด้านล่าง)

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 110

    Tips : การตั้งชื่ออย่างรวดเร็ว

    • ให้เขียนชื่อไว้ช่องข้างบน (เช่น คำว่า Status)  แล้วตามด้วย Choice ทั้งหมดที่จะอยู่ในชื่อนั้น (New,Doing,Stuck,Done)
    • ลากพื้นที่คลุม แล้วกด Ctrl+Shift+F3
    • ติ๊ก Top Row แล้ว OK
    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 111

    Tips : Dropdown List แบบกรอกข้อมูลเพิ่มได้

    แต่เทคนิคที่หลายคนอาจไม่รู้คือ เราสามารถทำ Drop down List แบบที่เลือกแล้วยังแก้ข้อมูลต่อได้ด้วย ซึ่งจะเป็นการเน้นเรื่องของความเร็วในการกรอกข้อมูลมากกว่าความถูกต้อง เทคนิคคือ ใน Tab Error Alert ให้เอาติ๊กถูกออกไปตรงส่วนของ Show error alert after invalid data is entered

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 112

    แถม: การทำ Dropdown 2 ชั้น

    บางทีถ้าเรามีทุกอย่างให้เลือกใน Dropdown เลย คนเลือกอาจเลือกไม่ไหว เพราะเยาะมาก เราจึงอาจต้องทำให้มี Dropdown 2 ชั้น เพื่อให้ Dropdown แรกเป็นตัว scope ตัวเลือกของ Dropdown อันที่ 2 ให้น้อยลง => เทคนิคการทำ Dropdown 2 ชั้น

    5. รู้จักใช้สูตรข้อมูลเพื่อลดการกรอกที่ไม่จำเป็น

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

    ดังนั้นการทำงานควรจะต้องคิดด้วยว่าเราสามารถเขียนสูตรอะไรเพื่อลดการกรอกข้อมูลที่ไม่จำเป็นได้บ้าง?

    ใช้สูตรเพื่อ Lookup ข้อมูลมาอัตโนมัติ

    สมมติว่างานแต่ละบรรทัด เรามีการกรอกคนรับผิดชอบงานนั้นๆ ไปแล้ว เราก็อาจไม่จำเป็นต้องกรอกหัวหน้างานเข้าไปอีก เพียงแค่เราทำตารางที่บอกว่าลูกน้องแต่ละคนมีใครเป็นหัวหน้าบ้าง

    ตารางอ้างอิง ชื่อหัวหน้่า

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 113

    จากนั้น เราก็สามารถเขียนสูตรเพื่อดึงชื่อหัวหน้างานมาได้โอยอัตโนมัติได้แล้ว ง่ายมากๆ

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 114

    ** สัญลักษณ์ [@ชื่อหัวคอลัมน์] เป็นการอ้างอิงแบบ Structure Reference เมื่อมีการใช้ Table หมายถึงเอาข้อมูลในคอลัมน์นั้นจากแถวเดียวกัน**

     รู้จักเขียนสูตรเพื่อให้ข้อมูลขึ้นมาโดยอัตโนมัติ

    ทำได้หลายแบบมากๆ เช่น

    • ถ้าวันที่ปัจจุบัน TODAY() เลย Deadline แล้ว และยังทำงานไม่เสร็จ ให้มีสถานะขึ้นมาว่างาน Late แล้ว
    • ถ้าใช้พวก COUNTIFS นับจำนวนงานที่รับผิดชอบของคนคนหนึ่งๆ ถ้ามีเกินกว่าค่าที่กำหนด ให้ขึ้นว่า Overload

    6. ถ้ากรอกข้อมูลผิดก็ต้องเตือน

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 115

    เพื่อให้แน่ใจว่าจะมีการกรอกข้อมูลได้อย่างถูกต้อง เครื่องมือ Data Valuidation เราสามารถเลือกคำสั่ง Allow เป็น Number, Text, Date เพื่อกำหนดประเภทข้อมูลที่ต้องการให้กรอกได้อย่างง่ายดาย เช่น ในช่อง “Deadline” อาจจะใส่เงื่อนไขว่า ห้ามกรอกวันที่ในอดีต โดยใส่ว่า Date ต้อง greater than or equal to =TODAY() เป็นต้น

    และเมื่อกรอกข้อมูลผิด ก็ควรเตือนคนกรอกได้ว่ามันผิดยังไง คนกรอกจะได้แก้ให้ถูกต้อง เช่น

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 116

    เวลากรอกผิดเงื่อนไขก็จะขึ้นเตือนมาได้

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 117

    7. ใส่ Timestamp แบบไม่ง้อ VBA

    ปกติแล้วในช่องพวกวันที่/เวลา ถ้าเราใส่สูตร เช่น =TODAY() หรือ =NOW()
    ค่าของมันจะเปลี่ยนไปเรื่อยๆ เมื่อ Excel มีการคำนวณใหม่ ทำให้ไม่สามารถคงวันที่ที่เราต้องการไว้ได้

    ซึ่งเราสามารถแก้ปัญหานี้ด้วยการ Stamp ค่าจาก Keyboard Shortcut Ctrl+; และ Ctrl+: ก็ได้นะ เช่น

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 118
    • Stamp วันที่ กด Ctrl+; อย่างเดียว
    • Stamp เวลา กด Ctrl+: [หรือ Ctrl+Shift+;] อย่างเดียว
    • Stamp วันที่และเวลา กด Ctrl+; แล้วกด spacebar 1 ที แล้วกด Ctrl+: [หรือ Ctrl+Shift+;]

    ซึ่งจะเห็นว่าการ Stamp วันที่และเวลา กดยากและไม่สะดวก.. ซึ่งผมมีอีกวิธีมาแนะนำ นั่นคือ การ Stamp ค่าด้วยสูตร!!

    Stamp ค่าด้วยสูตร

    เราสามารถใช้เทคนิคการเขียนสูตรแบบ Circular Reference (วน Loop งูกินหาง) เพื่อให้ Excel Stamp วันที่+เวลา เมื่อเกิดเหตุการณ์ที่ต้องการได้  เช่น เมื่อมีคนเปลี่ยน Status เป็น Done เมื่อไหร่ ก็ให้ Stamp วันที่+เวลา ณ ตอนนั้นได้ทันที! เช่น 

    =IF([@สถานะงาน]="Done",IF([@วันจบงานจริง]="",NOW(),[@วันจบงานจริง]),"")
    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 119

    ** ส่วน [@วันจบงานจริง] ในสูตรข้างบน คือ ส่วนที่เป็น Circular Reference หรืออ้างอิงกันเองแบบงูกินหาง ซึ่งปกติ Excel จะด่าเรา เวลาเราเขียนสูตรแบบ Circular นี้

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 120

    แต่ถ้าเราไปตั้งค่าใน Excel Option -> Tab Formula -> ติ๊กให้ Enable Iterative Calculation มันก็จะทำงานได้!!

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 121

    หลังปรับ Option แล้ว จะเห็นว่า พอลองแก้ Status เป็นอย่างอื่น แล้วเปลี่ยนเป็น Done อีกที สูตรก็จะทำงานแล้ว แต่ Format อาจจะผิด!

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 122

    Tips : สร้างเลข Running อัตโนมัติ

    คุณสามารถใช้เทคนิค Circular นี้กับเลข Running Number ก็ได้ เช่น

    =IF([@ชื่องาน]="","",IF([@ลำดับเลขงาน]="",ROW([@ลำดับเลขงาน])-1,[@ลำดับเลขงาน]))

    ** หากใส่สูตรว่า =ROW([@ลำดับเลขงาน])-1 ธรรมดาก็ใช้งานได้ แต่ถ้า Sort ปุ๊ปทุกอย่างจะพังเลย

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 123

    8. ปรับ Format ตัวเลขให้โดนใจ

    ตัวเลขวันจบงานที่ขึ้นมา เราใช้สูตรว่า NOW() แปลว่ามันจะต้องเป็นวันที่และเวลา
    ซึ่งจริงๆ เลข 4 หมื่นแบบมีทศนิยมก็คือ วันที่+เวลานั้นแหละ แค่ยังไม่ได้ปรับ Format เท่านั้นเอง

    หน้าที่ของเราก็คือปรับ Number Format ให้ถูกต้อง โดยคลิ๊กขวา -> Format Cell หรือกด Ctrl+1

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 124

    นี่ไง ออกมาเป็นวันที่และเวลาแล้ววว

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 125

    Custom Number Format

    นอกจากนี้ยังมี Custom Number Format ที่น่าสนใจอีกเพียบ

    • #,##0.00,, = แสดงตัวเลขในหลักล้านด้วยทศนิยม 2 ตำแหน่ง
    • #,##0.00 “บาท” = ใส่คำว่าบาท หลังตัวเลข แต่ยังคงทำให้คำนวณต่อได้
    • 000-000-0000 = ใส่ – ระหว่างตัวเลขหลักต่างๆ

    9. รู้จักใช้ Conditional Formatting เพื่อใส่ Format แบบ Dynamic

    เวลาเราเลือก Status ของงาน เช่น To do/Doing/Done เราอาจต้องการให้สีของพื้นหลังของ Cell เปลี่ยนไปตาม Status ที่ปลี่ยนไปได้ ซึ่งเราทำแบบนี้ได้ด้วยเครื่องมือ Conditional Formatting

    • ถ้าจะเปลี่ยนสีตามข้อมูลที่อยู่ในช่องตัวเอง แบบนี้จะทำง่าย มีเมนูให้เลือกเลยตามใจชอบ
    • แต่ถ้าจะให้เปลี่ยนสีโดยขึ้นกับข้อมูลในช่องอื่น แบบนี้ต้องเลือกแบบ Use Formula… ซึ่งจะต้องมีความรู้การเขียนสูตรเชิง Logic ด้วย

    ปรับ Format ตามเงื่อนไขจากข้อมูลช่องตัวเอง

    เช่น ถ้า Status เป็น Done ผมจะให้สีของช่อง Status เป็นสีเขียว แบบนี้ทำง่ายมากโดยเลือกที่ช่อง Status แล้วเลือก
    Conditional Formatting -> Highlight Cells Rules -> Equal to –> ใส่คำว่า Done แล้วเลือก Format ที่ต้องการ (ถ้าไม่ตรงใจให้เลือก Custom)

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 126

    ปรับ Format ตามเงื่อนไขจากข้อมูลช่องอื่น

    สมมติอยากให้ลำดับเลขงานและชื่องานที่เสร็จแล้วเป็นสีเขียวด้วย แบบนี้ต้องไปเลือกช่อง ลำดับเลขงานและชื่องาน
    แล้วไปที่ Conditional Formatting -> New Rules -> Use Formula to determine…

    จากนั้นใส่สูตรเพื่อเช็คเงื่อนไข ถ้าสูตรเป็นจริงก็จะ Apply Format ที่ตั้งค่าไว้

    ในที่นี้ผมจึงต้องใส่สูตรว่า =$F2=”Done” โดยต้องใส่ $ที่คอลัมน์ ไม่ใส่ที่ Row เพราะต้องอ้างอิงกับคอลัมน์ F ตลอด แต่ให้เลื่อนบรรทัดลงไปเรื่อยๆ ได้

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 127

    จากนั้นกำหนด Format ตามใจชอบ แล้วกด Ok ก็จะเห็นว่าสีเปลี่ยนตามสถานะได้แล้ว

    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 128
    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 129

    10. เอาข้อมูลไปสรุปผลต่อใน PivotTable/PivotChart

    เนื่องจากเราเก็บข้อมูลอยู่ในลักษณะ Database อย่างดีแล้ว เวลาเราจะวิเคราะห์/สรุปผลข้อมูลด้วยก็ทำได้ว่านแสนง่าย

    โดยให้คลิ๊กที่ช่องไหนก็ได้ แล้วกด Insert PivotTable/PivotChart แล้วลากข้อมูลไปมา แปปเดี๋ยวก็เสร็จแล้ว

    Track งาน
    10 เทคนิคการใช้ Excel ในการ Track งาน/วาระประชุม 130

    Tips แถม :  หา Template เจ๋งๆ มาใช้ซะ

    ถ้าไม่อยากทำไฟล์เอง ก็หา Template เจ๋งๆ มาใช้ซะเลย ในโลกอินเตอร์เน็ตมีให้โหลดมาใช้ฟรีเยอะแยะ ถ้าที่มีให้โหลดมันยังไม่โดนใจ 100% เราก็สามารถโหลดอันที่ถูกใจที่สุดมาดัดแปลงจนตรงกับความต้องการของเราก็ได้ครับ ^^

    ใครมี Template อะไรเจ๋งๆ ฟรีๆ ก็บอกมาได้นะครับ

    ตาคุณแล้ว

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

    ยังไงก็ขอบคุณมากครับ ที่อ่านมาจนจบบทความ ถ้าถูกใจก็ฝากแชร์ให้เพื่อนๆ ของคุณรู้ด้วยนะครับ ^^

  • สารพัดวิธีแยกข้อความออกจากกัน

    สารพัดวิธีแยกข้อความออกจากกัน

    สมมติว่าเรามีข้อความบางอย่าง แล้วเราอยากจะแยกข้อความออกจากกัน

    เช่น ตัวอย่างข้างล่างนี้ มีคั่นด้วย – (แต่ว่าตำแหน่งของมันไม่แน่ไม่นอน) เราจะแยกข้อความออกมาเป็น 3 ส่วนได้ยังไง? มาดูกัน

    สารพัดวิธีแยกข้อความออกจากกัน 131

    วิธีแยกข้อความ 1 : Text to Column

    วิธีที่ง่ายที่สุดคือการใช้เครื่องมือ Text to Column โดยให้ Copy ข้อมูลต้นฉบับออกมาก่อน

    แล้วเลือกข้อมูล แล้วไปที่ [Data]–> Data Tools –> Text to Column –> Delimited และให้ใส่เครื่องหมาย – (ที่เป็นตัวคั่น) ลงไปใน Other

    สารพัดวิธีแยกข้อความออกจากกัน 132

    จากนั้นกด Finish แค่นี้ก็เสร็จแล้ว ได้เป็น 3 คอลัมน์อย่างที่ต้องการ

    สารพัดวิธีแยกข้อความออกจากกัน 133

    วิธีแยกข้อความ 2 : ใช้สูตร

    การใส่สูตรมีข้อดีอย่างมาก คือ ข้อมูลอัปเดทโดยอัตโนมัติ โดยไม่ต้องกดเครื่องมือใดๆ เลย แต่ข้อเสียคือ เขียนยาก ถ้ายังใช้สูตรไม่คล่อง

    คำตัวต้น

    ตัวต้นเป็นตัวที่หาง่ายสุด ใน 3 ตัว เพราะการใช้ฟังก์ชัน FIND หรือ SEARCH ซึ่งสามารถหาตำแหน่ง – ตัวแรกได้อยู่แล้ว

    หาตำแหน่งตัวคั่นแรก : =FIND("-",A2)
    เอาข้อความข้างซ้าย : =LEFT(A2,FIND("-",A2)-1) 

    ที่ต้อง -1 เพราะไม่ต้องการเครื่องหมาย – มาด้วย จึงต้องร่นไปทางซ้ายอีก 1 ตำแหน่ง

    สารพัดวิธีแยกข้อความออกจากกัน 134

    คำตัวกลาง

    ตัวกลาง จะหาได้เราต้องรู้ตำแหน่งของ – ตัวหน้า และ – ตัวหลัง ซึ่งตัวหน้าเรารู้อยู่แล้ว

    ซึ่ง – ตัวหลัง หากได้ 2 วิธี

    วิธีแรก

    • ใช้ FIND ซ้ำไปอีก โดยระบุการค้นหาให้เริ่มจากตำแหน่ง – ตัวแรก โดย+เพิ่มไปอีก 1 ตำแหน่ง ซึ่งจะทำให้เจอ – ตัวที่สอง
    =FIND("-",A2,FIND("-",A2)+1)

    วิธีสอง 

    ให้ SUBSTITUTE – ตัวที่ 2 ด้วยเครื่องหมายพิเศษอื่น เช่น |

     =SUBSTITUTE(A2,"-","|",2) 

    Tips : ถ้าไม่รู้ว่าข้อความมี – กี่ตัว?
    ให้ลอง SUBSTITUTE ค่า “-” ด้วย “” แล้วลองนับจำนวนตัวอักษรดูว่าหายไปกี่ตัว

     =LEN(A2)-LEN(SUBSTITUTE(A2,"-","")) 

    จากนั้นให้ FIND ตำแหน่ง | อีกที จะได้

     =FIND("|",SUBSTITUTE(A2,"-","|",2)) 

    พอรู้ตำแหน่งของตัวที่ 2 ก็จะตัดตัวกลางและตัวท้ายได้ง่ายแล้ว

    คำตัวกลาง

    =MID(xxx, ตัวคั่นแรก +1, ตัวคั่นสอง - ตัวคั่นแรก -1)
    =MID(A2, FIND("-",A2)  +1,  FIND("|",SUBSTITUTE(A2,"-","|",2)) - FIND("-",A2)   -1)
    สารพัดวิธีแยกข้อความออกจากกัน 135

    คำตัวหลัง

    หาไม่ยากโดยใช้ RIGHT

    แต่จะเอา RIGHT กี่ตัวดี?  วิธีคิดคือเอาจำนวนตัวอักษรทั้งหมด – ตำแหน่งตัวคั่นที่สอง

     =LEN(A2)-FIND("|",SUBSTITUTE(A2,"-","|",2)) 

    จากนั้นก็ใช้ RIGHT ได้เลย

     =RIGHT(A2,   LEN(A2)-FIND("|",SUBSTITUTE(A2,"-","|",2))   ) 
    สารพัดวิธีแยกข้อความออกจากกัน 136

    วิธีแยกข้อความ 3 : Power Query

    ถ้า Excel 2016 จะมีมาให้เลย แต่ถ้าต่ำกว่านั้นต้องไป Download Add-in ก่อน (ฟรี) แต่โหลดให้ถูก version นะ ไม่งั้นจะลงไม่ได้

    ถ้าพร้อมแล้วก็สร้าง Table ก่อน โดยเลือกข้อมูลแล้วกด Ctrl+T

    สารพัดวิธีแยกข้อความออกจากกัน 137

    จากนั้นไปที่ Data (หรือ Power Query)-> From Table

    สารพัดวิธีแยกข้อความออกจากกัน 138

    Add Column -> Duplicate Column แรกออกมาก่อน ไม่งั้นจะไม่เหลือตัว Original เก็บไว้

    เลือก column ใหม่แล้วไปที่ Transform -> Split Column -> Delimiter

    สารพัดวิธีแยกข้อความออกจากกัน 139

    เลือก custom ใส่ – ลงไป แล้ว ok

    สารพัดวิธีแยกข้อความออกจากกัน 140

    ได้ผลลัพธ์ใน Power Query ดังใจแล้ว กด Close & Load ได้เลย

    สารพัดวิธีแยกข้อความออกจากกัน 141

    ผลลัพธ์จะกลับมาที่ Excel ใน Sheet ใหม่

    สารพัดวิธีแยกข้อความออกจากกัน 142

    จะเห็นว่าคล้ายวิธีแรก แต่ข้อดีกว่ามากๆ เลย คือ หากมีข้อมูลเพิ่มมา แค่กด Refresh ผลลัพธ์ก็จะเปลี่ยนและอัปเดทให้อัตโนมัติ!!

    เพิ่ม Data ไปอีก 2 บรรทัด

    สารพัดวิธีแยกข้อความออกจากกัน 143

    ไปที่ผลลัพธ์ กดคลิ๊กขวา Refresh

    สารพัดวิธีแยกข้อความออกจากกัน 144

    ปรากฎว่า Data ใหม่มา แต่มีอันนึงไม่ยอมแยกข้อความให้

    สารพัดวิธีแยกข้อความออกจากกัน 145

    เราสามารถไปตรวจสอบได้โดยไปที่ Query –> Edit

    สารพัดวิธีแยกข้อความออกจากกัน 146

    ปรากฎว่า มีค่า Error ขึ้นมาบรรทัดนึงนี่เอง

    สารพัดวิธีแยกข้อความออกจากกัน 147

    พอลองไล่คลิ๊ก Applied Steps ดูก็พบว่า สามารถทำมาถึง Split Column by Delimiter ได้โดยไม่ Error เลย

    สารพัดวิธีแยกข้อความออกจากกัน 148

    ซึ่งแปลว่า Error น่าจะเกิดจากการทำ Changed Type Step สุดท้าย (เปลี่ยนตัวหนังสือเป็นตัวเลข)

    เราจึงกด x ข้างหน้่า Changed Type อันสุดท้ายเพื่อบอกว่า Power Query ไม่ต้องทำ Step นี้แล้วนะ ลบ Step ทิ้งไปเลย

    สารพัดวิธีแยกข้อความออกจากกัน 149

    จากนั้นกด Close & Load เป็นอันจบ เสร็จแบบเนียนๆ เลย

    สารพัดวิธีแยกข้อความออกจากกัน 150

    บทสรุป

    • ถ้าทำที่เดียวจบ ใช้ Text to Column เนี่ยเจ๋งสุดแล้ว เร็วและง่าย แต่ถ้ามีข้อมูลมาใหม่ต้องทำใหม่
    • วิธีเขียนสูตรจะเขียนยากหน่อย แต่ Flexible มาก จะเขียนอะไรก็ได้ อีกอย่าง ถ้ามีข้อมูลใหม่แค่ลากสูตรก็ได้ผลลัพธ์เลย
    • วิธี Power Query ใช้ไม่ยาก แต่อาจยังไม่คุ้นเคย หัดใช้บ่อยๆ จะพบว่าทรงพลังมากๆ ข้อมูลใหม่มาแค่กด Refresh ก็ได้ผลลัพธ์เลย

    ยาวหน่อยแต่หวังว่าจะถูกใจผู้อ่านนะครับ ใครสงสัยอะไรก็สามารถถามมาได้เลยครับ

  • 17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋

    17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋

    นี่คือของขวัญที่ผมตั้งใจเตรียมไว้ให้กับทุกคน ด้วยบทความ “17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋” ซึ่ง Concept คืออ่านบทความเดียวแล้วเก่ง Excel ขึ้นอย่างรวดเร็ว!!

    ผมไม่รู้ว่าจะเป็นไปได้มั้ย? แต่ก็อยากลองให้อ่านดูครับ ด้วยการคัดเลือกเคล็ดลับที่สำคัญในการใช้ Excel มีทั้งง่ายและยากปนกัน มันต้องมีบางอันที่ช่วยปลดล๊อคความสามารถของคุณบ้างล่ะ ลงทุนเวลาอ่านซัก 30 นาที รับรองว่าจะได้เวลาคืนมาอีกเพียบครับ !!

    หมายเหตุ : จุดประสงค์ในบทความนี้จะเน้นให้คุณไม่พลาด Concept เจ๋งๆ ซึ่งบางทีอาจไม่สามารถอธิบายโดยละเอียดได้ในบทความเดียว ดังนั้นถ้าอ่านแล้วยังสงสัยในวิธีทำ ก็สามารถ Google หาวิธีทำละเอียดจาก Keyword ได้เลยครับ

    17 เคล็ดวิชา เก่ง Excel

    เคล็ดวิชา 1 : หลักคิดพิชิตทุกปัญหา

    17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋ 151

    หลักการนี้ คือ สิ่งที่ผมใช้ในการแก้ปัญหาเกือบทุกๆ อย่างใน Excel ซึ่งหลักการเหล่านี้เป็นแก่นที่แฝงอยู่ในเคล็ดลับข้ออื่นๆ ด้วย

    • หาเป้าหมายหรือโปรเจคที่อยากจะทำให้ได้ การเรียนรู้แบบมีเป้าหมาย จะช่วยให้เรียนรู้ไวและจับต้องได้มากกว่าอ่านเฉยๆ
    • คิดย้อนกลับจากเป้าหมาย (Backward Thinking)
      • เมื่อต้องการผลลัพธ์อะไรก็ตาม ให้คิดย้อนกลับว่าเราจะไปถึงเป้าหมายนั้นด้วยวิธีใด
      • เช่น หากอยากเขียนสูตรที่สามารถดึงค่าชื่อ Sheet ได้
        • เราอาจไปรู้มาว่า ฟังก์ชัน =CELL(“filename”,A1) จะให้ชื่อ Sheet กลับมาได้
        • แต่มันดันให้ค่ากลับมา ในรูปแบบของ –>  path[ชื่อไฟล์.สกุล]ชื่อsheet
        • ทีนี้ก็ต้องมาคิดต่อว่าจะเอาออกมาแต่ ชื่อSheet อย่างเดียวได้ยังไง?
    • แบ่งงานใหญ่ให้เป็นงานย่อย (Divide & Conquer)
      • หากงานหนึ่งๆ ที่จะทำมันยากและซับซ้อนเกินไป ให้แบ่งมันเป็นงานย่อยๆ ที่เราเข้าใจและจัดการกับมันได้
      • เช่น เป้าหมาย คือ ดึง ชื่อSheet ออกมา จาก path[ชื่อไฟล์.สกุล]ชื่อsheet
        • เราก็ต้องคิดต่อว่า ตัวเราเองรู้ได้ไงว่าชื่อSheet อยู่ไหน? ซึ่งมันอยู่เครื่องหมาย ] นั่นเอง
        • ซึ่งอาจใช้ FIND หาตำแหน่ง ]
        • แล้วเอา LEN RIGHT มาช่วยตัดชื่อ Sheet ออกมา อีกที
      • ฟังก์ชันไหนใช้ไม่เป็น ก็ค่อยๆ หาทางเรียนรู้เพิ่มเติม
        • สมมติว่าคุณยังไม่รู้ฟังก์ชันใน Excel เท่าที่ควร
        • ลองตั้งเป้าในการเรียนรู้ฟังก์ชันใหม่ๆ เพิ่มขึ้นวันละ 1 ตัวดูมั้ยล่ะครับ?
        • แค่ 1 เดือน คุณก็รู้ฟังก์ชันมากมายมหาศาลแล้ว
        • การแบ่งทำวันละ 1 อัน มันดูเป็นไปได้มากกว่าการเรียนฟังก์ชัน 30 ตัวเยอะครับ!
    • ใช้ Excel ภาษาอังกฤษ และเรียนรู้ศัพท์เทคนิคภาษาอังกฤษเอาไว้
      • Keyword ที่ผมจะให้ในบทความนี้ก็จะเป็นภาษาอังกฤษนะครับ
      • Google หาคำตอบ ด้วยภาษาอังกฤษ จะเจอคำตอบง่ายกว่าเยอะครับ

    เคล็ดวิชา 2: การเขียนสูตรคือ อะไรกันแน่?

    17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋ 152

    • การเขียนสูตรคือ “การดึง” ไม่ใช่การผลัก
      • อยากให้ผลลัพธ์แสดงในช่องไหน ต้องเขียนสูตรช่องนั้น
      • หากเราจะเขียนสูตรให้ช่อง B3 แสดงค่าอะไรซักอย่าง เราต้องเขียนสูตรที่ B3 เท่านั้น
      • ไม่สามารถไปเขียนสูตรที่อื่นแล้วผลักค่าไปที่ช่อง B3 โดยที่ B3 ไม่เขียนอะไรเลย (ถ้าจะทำต้องใช้ VBA สั่ง)
      • การดึงค่าแบบตรงๆ นี่แหละ ช่วยให้เราไม่ต้องพิมพ์ข้อมูลซ้ำๆ กันหลายที
      • เรา”ดึงค่า” จาก Cell ไหนก็ได้ โดยกด = แล้วจิ้ม Cell ที่ต้องการ ไม่ว่าจะอยู่ Sheet เดียวกัน/Sheet อื่น/ไฟล์อื่นก็ได้
    • นอกจากจะดึงค่าตรงๆ แล้ว สิ่งที่ต้องทำก็ไม่พ้นการเอามาใส่สูตรเพื่อ “ผูกความสัมพันธ์” เพื่อสร้างผลลัพธ์บางอย่าง
      • ความสัมพันธ์ อาจเป็นสิ่งที่เป็นสากล เช่น การคำนวณทางคณิตศาสตร์/วิทยาศาสตร์ หรือ
      • ความสัมพันธ์ อาจเป็นสิ่งที่เราคิดหรือตั้งเกณฑ์ขึ้นมาเอง เช่น การประมาณการยอดขาย เป็นต้น
    • เราไม่สามารถที่จะทำให้ Cell หนึ่งๆ เป็นทั้งสูตร และเป็นทั้งช่องกรอกข้อมูลพร้อมๆ กันได้ (ถ้ากรอกข้อมูลทับสูตรจะหายไป)
    • สุดท้ายแล้ว จงมองให้เห็น Flow ของข้อมูล ที่ถูกเชื่อมด้วยการเขียนสูตรผูกความสัมพันธ์
    • การแยกพื้นที่ระหว่าง Input และ Output ออกจากกันอย่างเป็นระเบียบ จะช่วยให้ Flow ของข้อมูลเป็นระเบียบและแก้ไขได้ง่าย

    เคล็ดวิชา 3: แก้ Format ไม่เกี่ยวกับ Content

    17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋ 153
    • เรื่องของ Format เป็นแค่การกำหนดรูปแบบการแสดงผลให้เราเห็น Content ในรูปแบบที่เปลี่ยนไปตามต้องการ
      • คล้ายกับการเปลี่ยนเคสของมือถือ หรือ เปลี่ยน Theme ของ App Line นั่นแหละ
    • ตัวอย่างเช่น
      • หากเราเขียนใน A1 เป็น 3.5
      • แล้วเขียนใน A2 ว่า =A1 (จะได้ 3.5 เหมือน A1)
      • จากนั้นเปลี่ยน Number Format ลดทศนิยมใน A1 จะเห็นเป็นเลข 4 (เพราะ 3.5 ปัดขึ้นเป็น 4)
      • ค่าที่แท้จริงใน A1 ยังคงเป็น 3.5 อยู่ดี เช่นเดียวกับค่าใน A2 (ที่ดึงค่าใน A1 ไปแสดง)
    • เรื่องของ Format กับ Content จะถูกพูดถึงอย่างเด่นชัดอีกทีในเคล็ดวิชาที่ 6 เรื่องวันที่และเวลาครับ

    เคล็ดวิชา 4: ประเภทของข้อมูลนั้นสำคัญยิ่ง!

    17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋ 154
    • ประเภทข้อมูลมี 4 แบบหลักๆ คือ Number, Text, Logic, Error
    • เช็คประเภทข้อมูลด้วยตาเปล่าไม่ได้ ให้ใช้ฟังก์ชัน TYPE มาช่วย จะได้ผลลัพธ์เป็นตัวเลข
      • 1 = Number, 2=Text, 4= Logic, 16 = Error
    • หากข้อมูลเป็นคนละประเภทกัน แม้จะดูเหมือนกัน แต่ Excel จะถือว่าไม่เท่ากัน เช่น พวกนี้จะได้ FALSE ทั้งหมด
      • “10”=10
      • 1 = TRUE
      • 0 = FALSE
    • เช่นเดียวกับการใช้ Lookup Function อย่าง VLOOKUP และ MATCH ที่จะหาเจอเฉพาะข้อมูลประเภทเดียวกันเท่านั้น
    • Input หรือ Argument ของฟังก์ชันต่างๆ ก็จะต้องการประเภทข้อมูลที่ค่อนข้างเฉพาะเจาะจง ต้องใส่ข้อมูลให้ถูกประเภท
    • นอกจากนี้ ผลลัพธ์ของฟังก์ชันต่างๆ ก็จะให้ประเภทข้อมูลที่แตกต่างกันด้วย

    เคล็ดวิชา 5: Operator ใช้แปลงประเภทข้อมูลได้

    17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋ 155
    • Operator แต่ละประเภท เมื่อนำไปประกอบกับในสูตร จะให้ “ประเภทผลลัพธ์ของข้อมูล” ที่แตกต่างกัน
    • Arithmetic Operator  เช่น +, -, *, /, ^, % เอาไว้คำนวณ
      • ทำให้ผลลัพธ์เป็น Number
      • ทำได้หลายแบบ ยังไงก็ได้ให้ผลลัพธ์ไม่เพี้ยน เช่น *1,+0,-0,/1
        • แต่ที่นิยมคือ ใช้การ *1 หรือ — นำหน้า
        • =”100″*1 จะได้ 100 (เป็น Number)
        • =–TRUE จะได้ 1 (เป็น Number)
    • Text Operator เช่น & เอาไว้เชื่อมข้อความ
      • ทำให้ผลลัพธ์เป็น Text
      • เช่น 200&”” จะได้ “200” (เป็น Text)
    • Comparison Operator เช่น >, =, <, >=, <=, <>
      • ทำให้ผลลัพธ์เป็น Logic
      • เช่น =500>1000 ได้ FALSE
    • Range Operator เช่น , (comma) : (colon)  (space) เอาไว้เชื่อม Cell Reference
      • ทำให้ผลลัพธ์เป็น Cell Reference/Range
      • comma เชื่อมแบบไม่ต่อเนื่อง เช่น C10,D12
      • colon เชื่อมแบบต่อเนื่องกัน เช่น A1:B5
      • space เอาส่วนที่ทับซ้อนกัน เช่น A2:E3 C1:D5 จะได้ C2:D3
    • Tips : ข้อมูลที่มี Error เช่น #DIV/0!, #N/A, #NAME?
      • ทำให้ผลลัพธ์ Error ตามไปด้วย
      • นอกจากจะใช้ฟังก์ชันพวก ISERROR, IFERROR เข้ามาช่วย

    เคล็ดวิชา 6: วันที่และเวลา คือ ตัวเลข จำนวนเต็มและทศนิยม ที่เปลี่ยน Format ไปเท่านั้น

    17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋ 156
    • Excel จะมองวันที่เป็นแค่เลขจำนวนเต็มธรรมดาๆ และมองเวลาเป็นทศนิยม (ส่วนหนึ่งของวัน)
      • วันที่ 1/1/1900 (ค.ศ.) เวลา 0:00 เป็นเลข 1
      • วันที่ 1/1/1900 (ค.ศ.) เวลา 12:00 เป็นเลข 1.5
      • วันที่ 2/1/1900 (ค.ศ.) เวลา 0:00 เป็นเลข 2
      • วันที่ 2/1/1900 (ค.ศ.) เวลา 12:00 เป็นเลข 2.5
    • จะแปลงตัวเลข เป็นวันที่/เวลา หรือกลับกัน ทำได้ง่ายๆ โดยการเปลี่ยน Number Format
    • ดังนั้นการหาระยะห่างของวัน 2 วัน จึงเอาวันที่มาลบกันตรงๆ ได้เลย เช่น
      • A1=28/11/2016 และ A2=4/12/2016
      • ระยะห่าง = A2-A1 = 6 วัน
      • เพราะค่าที่แท้จริง คือ A1=42702 และ A2 = 42708
    • ดังนั้นถ้ามีวันที่+เวลาอยู่ใน Cell หนึ่งๆ เช่น A1
      • จะแยกวันออกมาใช้ INT เอาจำนวนเต็ม นั่นคือ =INT(A1)
      • จะแยกเวลาใช้ MOD หาร 1 เพื่อเอาทศนิยม นั่นคือ =MOD(A1,1)
    • เวลา Input ข้อมูลวันที่ Excel จะตีความปีที่กรอกเป็น ค.ศ. (ยกเว้นไปตั้งค่า Format Cell นั้นๆ เป็นปฏิทินไทย แล้วเลือก Input dates according to selected calendar จะสามารถกรอกเป็น พ.ศ.ได้)

    เคล็ดวิชา 7: การใส่ $ ใน Cell Reference

    17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋ 157
    • เมื่อทำการ Copy สูตรที่มี Cell Reference อยู่ในสูตร จะทำให้ Cell Reference เลื่อนตำแหน่งตามทิศทางการ Copy/Paste โดยอัตโนมัติ
    • หากไม่อยากให้เลื่อนต้องใส่เครื่องหมาย $ ลงไปใน Cell Reference (กด F4 ช่วยได้ สามารถกดวนรูปแบบได้ 4 อย่าง)
    • หากมี $ หน้าอะไร ถือว่าตัวนั้นจะไม่เลื่อน เช่น
      • A1 –> Column เลื่อน, Row เลื่อน เรียกว่า Relative Cell Reference
      • $A$1 –> Column ไม่เลื่อน, Row ไม่เลื่อน เรียกว่า Absolute Cell Reference
      • A$1 –> Column เลื่อน, Row ไม่เลื่อน เรียกว่า Mixed Cell Reference
      • $A1 –> Column ไม่เลื่อน, Row เลื่อน เรียกว่า Mixed Cell Reference
    • หลักคิดสำคัญเพื่อไม่ให้งง ว่า เมื่อไหร่ต้องใส่ $ ยังไง คือ ใช้หลักการ Divide & Conquer
      • โดยพิจารณามองทีละ Cell Reference
      • แล้วคิดทีละทิศคือ แนวนอน และ แนวตั้ง โดยถามคำถามว่า…
      • ถ้า Copy Cell นี้ไปทางขวา เจ้า Cell Reference ที่กำลังอ้างถึงอยู่ควรจะเลื่อนทางขวาด้วยมั้ย?
        • ถ้าไม่ควร ก็ใส่ $หน้ารหัสคอลัมน์
        • ถ้าควร ก็ไม่ใส่ $หน้ารหัสคอลัมน์
      • ถ้า Copy Cell นี้ลงข้างล่าง เจ้า Cell Reference ที่กำลังอ้างถึงอยู่ควรจะเลื่อนลงด้วยมั้ย?
        • ถ้าไม่ควร ก็ใส่ $หน้าเลขแถว
        • ถ้าควร ก็ไม่ใส่ $หน้าเลขแถว

    เคล็ดวิชา 8: การทดข้อมูล / ทดสูตร / Helper Column ช่วยได้มาก

    17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋ 158
    • การทดข้อมูล คือ การประยุกต์เอาหลัก Divide & Conquer มาใช้แบบหนึ่ง
      • การเขียนสูตรแบบซับซ้อน จริงๆ แล้วเราไม่จำเป็นต้องเขียนสูตรยาวๆ ในทีเดียว แต่เราเขียนสูตรทีละส่วน (โดยให้อ้างอิงถึงกัน) แล้วค่อยจับนำมารวมกันภายหลัง
      • เช่น อยากดึงค่าบางอย่างจากที่อื่นมาไว้ใน Cell ที่กำหนด
        • เราสามารถใช้ INDEX ได้ ในรูปแบบ =INDEX(array,row_num,column_num)
        • และใน row_num และ column_num เราต้องการให้มันมีความเป็น Dynamic โดย Link กับ Dropdown List ที่ User เลือก ดังนั้นเราจะใช้ MATCH มาช่วย
        • แต่แทนที่จะเขียน MATCH ลงไปใน INDEX เลย เราสามารถเขียนแยกไว้ในอีก Cell เพื่อลดความงง
        • พอเขียนเสร็จ ตรวจแล้วทำงานถูกต้อง ค่อยจับนำมารวบรวมกับ INDEX ทีหลัง
      • การทำแบบนี้ ฝรั่งเรียกว่า Mega Formula ซึ่งจะช่วยให้เราจะดูเทพขึ้นมาทันที !! 555
    • Helper Column ก็เป็นหนึ่งในรูปแบบของการทดเหมือนกัน มันคือการสร้างคอลัมน์ที่ช่วยให้เราจัดการกับอะไรต่างๆ ง่ายขึ้น
      • สามารถเขียนเงื่อนไข AND OR ที่ซับซ้อน แทนที่จะใช้ Criteria ใน Filter/Pivot/SUMIFS/Advanced Filter ซึ่งอาจไม่ Flexible เท่าการเขียนสูตร
      • ลองดูตัวอย่าง การสร้าง Helper Column เพื่อรองรับการ Unsort ในเคล็ดวิชา 9 ได้

    เคล็ดวิชา 9: การเตรียมข้อมูลเพื่อ การ Sort/Filter/Pivot

    17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋ 159
    • ก่อนจะนำข้อมูลไป Sort/Filter หรือ PivotTable ควรจัดข้อมูลให้อยู่ในรูปแบบ Database ก่อนเสมอ
      • มีหัวตารางที่บอกว่าคอลัมน์นั้นๆ คือ อะไร แค่ 1 บรรทัด
      • ข้อมูลห้ามขาดหายไปทั้งบรรทัด
    • ไม่ว่าจะ Sort หรือ Filter ผมแนะนำให้ใช้ คำสั่ง Filter เครื่องมือเดียวนี่แหละ
    • การ Filter สามารถ Search ได้ และมีคำสั่ง Add to Current selection ด้วย เพื่อที่จะ Add สิ่งที่ Search เจอได้โดยไม่ต้อง Clear สิ่งที่เลือกไว้เดิม
    • การ Filter สามารถ Clear Filter กลับมาเป็นแบบเก่าได้ แต่ Sort ไม่มีคำสั่ง Unsort
      • ดังนั้นถ้าจะอยากให้เรียงกลับเป็นเหมือนเดิมได้ ต้องใช้ Helper Column สร้างเลข Running เอาไว้ก่อนเลย
    • หากอยากที่จะ Filter แล้วเลขสามารถ Run ใหม่ตามข้อมูลที่ Filter ให้ใช้ SUBTOTAL/AGGREGATE เข้าช่วย เพราะมีความสามารถนับข้อมูลเท่าที่มองเห็นได้ (รายละเอียดอ่านได้ที่ http://www.thepexcel.com/filtered-running-number/)
    • ก่อนจะนำข้อมูลไปวิเคราะห์ใดๆ ควรเช็คความถูกต้องโดย Sort/Filter ดูความผิดปกติก่อน
      • เช่น ไม่มีค่าน้อยไป/มากไป
      • ไม่มีข้อมูลขยะ
      • มีข้อมูล Blank ที่ไม่ต้องการหรือไม่
    • หากข้อมูลไม่อยู่ในรูปแบบที่เหมาะสม อาจต้องเขียนสูตรเพื่อดัดแปลงข้อมูลก่อน
    • หากข้อมูลแยกกันอยู่หลาย Sheet อาจพิจารณาใช้สูตรพวก Lookup เพื่อรวม Database ก่อน หรือ จะใช้พวก Data Model เพื่อสร้าง Relationship โดยไม่ต้องรวมตารางก่อนก็ได้

    เคล็ดวิชา 10: รู้จักการใช้ Table เพื่อสร้าง Dynamic Range

    17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋ 160
    • ข้อดีที่สุดอย่างหนึ่งของการใช้ Table ก็คือ ความสามารถในการทำ Dynamic Range อย่างง่ายที่สุด
    • Table สามารถยืดพื้นที่การอ้างอิง ให้งอกตามการใส่ข้อมูลที่เพิ่มขึ้นได้เองโดยอัตโนมัติ
    • การอ้างอิงค่าจาก Table สามารถอ้างอิงได้ทั้งการใช้ Cell Reference ปกติ และ Structure Reference เช่น Table1[สินค้า] ดังรูป
    • นำไปประยุกต์เป็น Data Source ของเครื่องมืออื่นๆ ได้มากมาย เช่น Dropdown List (Data Validation), PivotTable, กราฟต่างๆ เป็นต้น

    เคล็ดวิชา 11: รู้จักใช้ความสามารถของ PivotTable

    17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋ 161
    • PivotTable สามารถแปลงข้อมูลเชิง Database ให้เเป็นข้อมูลสรุปได้อย่างง่ายดาย
      • PivotTable ใช้งานง่ายมาก เขียนสูตรไม่เป็นเลยก็ยังใช้งานได้
    • หัวตารางของ Data Source จะถูกสร้างให้กลายเป็น Field List
    • เวลาใช้ ให้พิจารณาองค์ประกอบทีละส่วนว่า Field List แต่ละอันจะเอาไปไว้ในส่วนไหน ใน 4 ส่วนนี้
      • Filter : เอาไว้คัดกรองข้อมูลให้กับทั้งตาราง Pivot
        • มีลูกเล่น Generate Report Filter Page
        • ปกติแล้วมันจะเก็บข้อมูล Item List เอาไว้แม้ว่าใน Data Source จะไม่มีข้อมูลนั้นๆ แล้ว
        • เราสามารถทำให้ Item List มันยึดอันใหม่เสมอได้โดยไปที่ PivotTable Option –> Data –> Number of Items to retain per field –> None
      • Rows/Columns : เอาข้อมูลมาแสดงไว้คนละแถว/คอลัมน์ (แบบไม่ซ้ำกัน) เพื่อเป็น Caetgory ให้กับตารางสรุป
        • มีลูกเล่น Sort/Filter/Grouping
        • เราสามารถ Grouping ข้อมูลใน Row/Column Label ได้ ทั้งแบบ Manual และ แบบ Auto
          • Grouping แบบ Manual เหมาะกับข้อมูลที่เป็น Text และมันจะสร้าง Field ใหม่ขึ้นมาให้ด้วย
          • Grouping แบบ Auto ข้อมูล Field นั้นๆ จะต้องเป็นตัวเลข หรือ วันที่เท่านั้น และห้ามมีช่องว่าง จึงจะใช้ได้
        • ปกติแล้ว ข้อมูลใน Row/Column Label  ใดที่ไม่มีค่า มันจะไม่แสดง Row/Column Label  นั้นๆ
          • เราสามารถบังคับให้แสดงได้โดยไปที่ Field Setting -> Layout & Print -> Show items with no data
      • Values : เอาไว้คำนวณสรุปผลข้อมูล ซึ่งมีลูกเล่นสำคัญ 2 อย่าง คือ
        • Summarized Value by : เลือกวิธีในการคำนวณสรุปผล เช่น Sum, Count, Max, Min
          • ถ้าข้อมูลเป็นตัวเลข และไม่มี Blank เลย เวลาเอามาใส่จะเป็น Sum โดยอัตโนมัติ นอกนั้นเป็น Count
        • Show Value As : เลือกว่าจะโชว์ค่าตรงๆ หรือ จะแสดงเทียบกับช่องอื่น เช่น %ของ xxx
    • ข้อเสียสำคัญ ของ PivotTable คือ เมื่อข้อมูลต้นทางเปลี่ยน จะต้องกดปุ่ม Refresh ค่าใน Pivot ถึงจะเปลี่ยน (ถ้าไม่อยากกดเอง สามารถใช้ VBA ช่วยได้)
    • PivotTable ปกติจะเปิดโหมด Generate GetPivotData ไว้
      • ทำให้เมื่อเขียนสูตรแล้วจิ้มไปในบริเวณ PivotTable แล้วจะเกิดสูตรยาวๆ ที่ใช้งานยาก
      • แต่ข้อดีคือ สามารถอ้างอิงค่าโดยไม่ต้องกังวลว่า PivotTable จะพลิกหน้าตาหลายเป็นแบบใด
      • วิธีปิดโหมดนี้ คือไปที่ Ribbon ของ PivotTable แล้วติ๊กลูกศรใต้ PivotTable Option
    • การใช้ Calculated Field ใน PivotTable เหมาะกับ การคำนวณค่า %Success Rate ของแต่ละกลุ่มข้อมูลมาก
      • การหาพวก % Success จะทำใน Data Source ด้วยการเขียนสูตรได้ลำบากกว่าการใช้ Calculated Field ใน PivotTable มาก
      • นอกจากนี้ การสร้าง PivotTable แล้วเขียนสูตรคำนวณเองข้างๆ ก็เสี่ยงต่ออารถูกหมุนข้อมูลไปทับ
      • เทคนิคการทำ % Success ง่ายๆ คือ ให้สร้าง Helper Column 2 อันใน Data Source
        • อันแรกเป็นตัวส่วน สมมติชื่อว่า AllCase (อาจให้เป็นเลข 1 เหมือนกันทุกแถว)
        • อีกอันเป็นตัวเศษ สมมติชื่อว่า SuccessCase ซึ่งถ้า Success จะให้เป็นเลข 1 ถ้าไม่ Success ก็ให้เป็นเลข 0
      • จากนั้นตอนสร้าง Calculated Field ก็จะสามารถใส่สูตรว่า SuccessCase/AllCase ได้เลย

    เคล็ดวิชา 12: หัดใช้ Keyboard Shortcut เถอะ

    17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋ 162

    ใช้ Keyboard Shortcut แล้วช่วยให้ทำงานเร็วขึ้นเยอะครับ ที่ต้องใช้บ่อยๆ มีไม่กี่ตัว ที่ผมใช้บ่อยก็มีตามนี้

    • กด Alt แล้วตามด้วยอักษรที่ขึ้นมา เพื่อเรียกใช้งาน Ribbon และ Quick Access Toolbar
    • Ctrl + ลูกศร = วิ่งไปสุดทาง
    • Ctrl + Shift + ลูกศร = เลือกพื้นที่ไปสุดทาง
    • Ctrl+c = copy
    • Ctrl+x = cut
    • Ctrl + v = paste
    • Ctrl+z = undo
    • Ctrl+Shift+L = Filter on/off
    • Ctrl+1 = Format Cell / Format ส่วนประกอบของกราฟ
    • นอกจากนี้ยังมี Set เอาไว้เปลี่ยน Number Format ซึ่งมีวิธีการจำที่น่าสนใจมาก
      • Ctrl+% เพื่อแปลงเป็นหน่วย % (จริงๆ ต้องกด Ctrl+Shift+5 เพราะ Shift +5 คือตัว % แต่ถ้าต้องจำว่า Ctrl+Shift+5 จะไม่มีทางจำได้เลย)
      • Ctrl+^ ก็เพื่อแปลงเป็นเลข Scientific E ยกกำลัง (เพราะ ^ เป็นเครื่องหมายยกกำลัง)
      • Ctrl+$ ก็เพื่อแปลงเป็นรูปแบบสกุลเงิน
      • Ctrl+# ก็เพื่อแปลงเป็นวันที่ (เพราะในโปรแกรม Access ก็ใส่วันที่ในเครื่องหมาย #)
      • Ctrl+@ ก็เพื่อแปลงเป็นเวลา เพราะ เครื่องหมาย@ ก็ดูเจาะจง คล้ายว่าจะระบุว่า ณ กี่โมง
      • Ctrl+: Stamp เวลาปัจจุบัน เพราะเหมือนเครื่องหมายคั่น ชม:นาที (ส่วน Ctrl+; = stamp ค่าวันที่ปัจจุบัน)
      • Ctrl+* เลือกข้อมูลใน Range ทั้งหมด เพราะ * แทนความหมายว่าทั้งหมด ในภาษาฐานข้อมูล
    • F2 = Edit สูตร
    • F3 = Paste ชื่อที่ตั้งไว้
    • F4 = ใส่ $ ใน Cell Reference (เมื่อกำลัง edit สูตร) / Repeat Action ล่าสุด

    เคล็ดวิชา 13: Function ที่ต้องรู้จักมีไม่เยอะ

    17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋ 163
    • รู้จักฟังก์ชั่น 20% แต่ทำงานได้ 80% ตามกฎ 80/20
    • ผมมั่นใจว่า ถ้าคุณรู้จักฟังก์ชันไม่กี่อันเหล่านี้เป็นอย่างดี รับรองว่าหากินได้เยอะมาก
    • สิ่งที่ต้องจำคือ “หน้าที่ของมัน” ซึ่งสำคัญกว่าวิธีการเขียน (อันหลังเปิด Google/Help เอาก็ได้)
    • กลุ่มคำนวณ
      • SUM = หาผลรวมของข้อมูลที่เป็นตัวเลข
      • COUNT = นับจำนวนข้อมูลที่เป็นตัวเลข
      • COUNTA = นับจำนวนข้อมูลที่ไม่ใช่ช่องว่าง
      • MAX/MIN = หาค่ามากสุด/น้อยสุด
      • LARGE/SMALL = หาค่ามากสุด/น้อยสุด เป็นลำดับที่ xx
      • AGGREGATE = ไว้สรุปผลข้อมูล มีหลาย option เช่น ไม่สนใจช่องที่ซ่อนอยู่ ไม่สนใจค่า error เป็นต้น
      • INT = ตัดทศนิยมทิ้ง ให้เหลือแต่จำนวนเต็ม
      • MOD = หาเศษจากการหาร
      • ROUND/ROUNDUP/ROUNDDOWN = ปัดทศนิยม
      • SUMPRODUCT = จับคู่คูณแล้วหาผลรวม
      • SUMIFS = หาผลรวมตามเงื่อนไข
    • กลุ่มตรรกะ
      • AND/OR/NOT = เอาไว้เชื่อมตรรกะ TRUE/FALSE
      • IF = ตรวจสอบเงื่อนไข ถ้าจริงใช้สูตร 1 ถ้าไม่จริงใช้สูตร 2
      • ISERROR = เช็คว่าค่า Error หรือไม่
      • ISNUMBER = เช็คว่าค่าเป็นตัวเลขหรือไม่
      • CHOOSE = เลือกว่าจะใช้สูตรไหนคำนวณ
    • กลุ่ม Lookup & Reference
      • VLOOKUP (ทั้งโหมด Exact และ Approximate Match) = Map ข้อมูลคำค้นหาดึงค่าจากตารางอ้างอิง
      • MATCH = หาว่าคำค้นหาอยู่ลำดับที่เท่าไหร่
      • INDEX = ให้ Cell Reference กลับมาเมื่อรู้พิกัดแถว/คอลัมน์ (ใช้คู่กับ MATCH จะเก่งมาก)
      • ADDRESS = แปลงลำดับแถว/คอลัมน์ ให้เป็น Text ที่หน้าตาเป็น Cell Reference
      • INDIRECT = แปลง Text ที่หน้าตาเป็น Cell Reference ให้เป็น Cell Reference จริงๆ
      • OFFSET = เลื่อน/ปรับขนาด Cell Reference
      • ROW/COLUMN = หาว่าอยู่แถว/คอลัมน์ที่เท่าไหร่
    • กลุ่ม Text
      • LEN = นับจำนวนอักขระ
      • TRIM = ตัดช่องว่างส่วนเกิน
      • LEFT/MID/RIGHT = ตัดคำจากทิศทางต่างๆ
      • FIND/SEARCH = ค้นหาคำที่ต้องการว่าอยู่อักขระที่เท่าไหร่
      • SUBSTITUTE = แทนที่คำเมื่อรู้คำที่ต้องการแทนที่
      • REPLACE = แทนที่คำเมื่อรู้ตำแหน่งที่ต้องการแทนที่
      • TEXT = แปลงตัวเลข ให้กลายเป็น Text ตาม Custom Number Format ที่กำหนด
    • กลุ่มวันที่และเวลา
      • TODAY = ให้ค่าวันที่ปัจจุบัน
      • DAY = ดึงค่าวัน จาก วันที่
      • MONTH = ดึงค่าเดือน จาก วันที่
      • YEAR = ดึงค่าปี จาก วันที่
      • DATE = สร้างวันที่ จาก วัน เดือน ปี
      • NETWORKDAYS = หาระยะเวลาวันทำงาน ไม่นับวันหยุด (นับวันเริ่ม)
      • WORKDAYS = หาวันสิ้นสุดงาน  เมื่อรู้ระยะเวลาวันทำงาน ไม่นับวันหยุด (ไม่นับวันเริ่ม)
      • NOW = ให้ค่าเวลาปัจจุบัน
      • HOUR = ดึงค่า ชั่วโมง จากเวลา
      • MINUTE = ดึงค่า นาที จากเวลา

    เคล็ดวิชา 14: เทคนิคการทำกราฟสุดพลิกแพลง

    รูปประกอบจากเพจ Excel Nana (ขอนำมาใช้เพราะชอบกราฟนี้มาก)

    17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋ 164
    • ต้องรู้จักประเภทกราฟหลักๆ ให้ดี เช่น
      • Bar/Column Chart ทั้งแบบ Cluster และ แบบ Stacked
      • Line Chart : แกน x เป็นเพียง Category label (ข้อความ)
      • XY Scatter : แกน x เป็นตัวเลขจริงๆ
      • Pie Chart
    • สามารถ Link ค่าจาก Cell มาที่ Label บนกราฟได้
      • เลือก Label ไปที่ Formula Bar กด = แล้วจิ้ม Cell mี่ต้องการ
    • สามารถผสมกราฟหลายชนิดในกราฟเดียวได้ (Change series chart type)
    • สามาารถ Plot ข้อมูลลงในแกน Y 2 แกนได้ (มักใช้กับกรณีที่ Scale ต่างกันมากๆ)
    • เทคนิคทำให้กราฟพลิกแพลงได้มักจะใช้องค์ประกอบแบบนี้
      • นำกราฟมาซ้อนกัน
      • ใช้ข้อมูลหลาย Series มาต่อกันให้เหมือนเป็น Series เดียว
      • ปรับสีของกราฟให้มองไม่เห็นบางส่วน (เช่น เลือก No Color)
      • ใช้การ Fill (ถมสี) ด้วย Picture เพื่อสร้างกราฟที่สวยงามและมีลูกเล่นมากขึ้น
    • หากสร้าง PivotChart จาก PivotTable เราสามารถเอาปุ่มสีเทาที่รกๆ ออกได้ โดยไปที่ Pivot Chart –> Field Buttons –> Hide All
    • ใครสนใจการทำกราฟแบบสร้างสรรค์ลองศึกษาได้จากเพจ Excel Nana ได้เลยครับ https://www.facebook.com/ExcelNaNa/

    เคล็ดวิชา 15: Defined Name นั้นมีดีกว่าแค่ชื่อ

    เก่ง Excel
    • นอกจากจะตั้งชื่อให้กับ Cell/Range ได้แล้ว ยังตั้งชื่อให้กับสูตรหรือค่าคงที่ได้ด้วย
    • การตั้งชื่อมีหลาย Scope คือ ระดับ Workbook  และ Worksheet (เป็นชื่อที่ฝังอยู่ที่ Sheet ใดชีทหนึ่ง)
    • ใน 1 Scope ห้ามมีชื่อที่ซ้ำกัน
    • เรามักประยุกต์เอา Defined Name ไปเป็น Data Source ของเครื่องมือต่างๆ เช่น Dropdown List (Data Validation), PivotTable, กราฟต่างๆ เป็นต้น
    • การใช้ Defined Name ทำให้สามารถใช้ Array Formula ได้โดยไม่ต้องกดปุ่ม Control+Shift+Enter
    • การใช้ Defined Name ทำให้สามารถสร้าง Dynamic Linked Picture เพื่อสร้าง Dynamic Chart ได้ (ร่วมกับสูตร INDEX)
    • Cell Reference ใน Defined Name ปกติจะใส่ $ ไว้เป็น Absolute Cell Reference โดยอัตโนมัติ แต่เราสามารถปรับออก เพื่อพลิกแพลงได้ตามต้องการ

    เคล็ดวิชา 16: เนรมิต Dashboard เจ๋งๆ

    รูปประกอบจากเรื่อง iron man

    17 เคล็ดวิชา เก่ง Excel แบบเร็วจี๋ 165
    • Dashboard คือ การแสดงผลข้อมูลโดยเอากราฟและข้อมูลตัวเลขสำคัญๆ มาแสดงรวมกันในหน้าเดียว
    • สำคัญที่สุดคือการออกแบบ Dashboard โดยคำนึงถึงคนใช้งานเป็นสำคัญ ว่าเค้าต้องการเห็นอะไร?
    • เทคนิคที่สำคัญในการทำ Dashboard คือ
      • การเขียนสูตร : คำนวณค่าต่างๆ ให้แสดงได้ตามต้องการ
      • PivotTable/ PivotChart : แสดงข้อมูลสรุป
      • Slicer : Slicer 1 ตัวจะควบคุม PivotTable/PivotChart ได้หลายๆ อันพร้อมกัน แบบ Interactive
      • Sparkline : สร้าง In-cell- Chart แบบง่ายๆ เพื่อเหมาะกับการแสดงผล
      • Conditional Format : ปรับ Format เพื่อเน้นสิ่งที่ต้องการนำเสนอ แบบ Interactive เช่น ทำไฟเขียวไฟแดง,  เปลี่ยนสีพื้นหลัง, เปลี่ยนสี/รูปแบบตัวอักษร
      • Linked Picture : สามารถดึง “สิ่งที่เราเห็น” จาก Range ในที่ต่างๆ มาแสดงในอีกที่ได้ แถมย่อ/ขยาย และวางตำแหน่งได้ดั่งใจ ถ้าข้อมูลต้นทางเปลี่ยน ปลายทางก็เปลี่ยนตาม เหมือนกับการตั้งกล้องถ่ายทอดสดไว้
      • Form Control : ทำให้ Dashboard Interactive มากขึ้น เช่น ทำ Scroll Bar / Radio Button แล้วให้ส่งค่าไปยัง Cell ที่กำหนด เพื่อผูกสูตรในการแสดงผลอีกที
      • ActiveX Control & VBA (Advanced) : ไม่มีอะไรที่ VBA ทำไม่ได้ แต่ต้องเรียนรู้ค่อนข้างเยอะ
    • จะเห็นว่ากว่าจะทำ Dashboard เจ๋งๆ ได้ต้องใช้ทักษะ Excel มากมายเลยทีเดียว นี่แหละเป็นเป้าหมายที่ท้าทาย

    เคล็ดวิชา 17: อย่าหยุดพัฒนาตัวเอง

    • จงมุ่งมั่นหาวิธีที่ดีขึ้นเสมอๆ มันอาจมีวิธีที่ดีกว่าวิธีที่คุณใช้อยู่ แค่คุณยังไม่รู้ และยังไม่ลองค้นหาเท่านั้นเอง!!
    • ตัวอย่างเช่น การ Map ข้อมูล จริงๆ แล้วทำได้หลายวิธีมากๆ ตั้งแต่วิธีที่แย่ จนไปถึงวิธีที่ดี
      • วิธีที่ถึกที่สุดคือดูด้วยตา กรอกด้วยมือ (ทั้งเหนื่อยและอาจผิดพลาดได้ง่ายๆ)
      • แทนที่จะดูด้วยตา กรอกด้วยมือ ก็ใช้สูตร เช่น IF หรือ VLOOKUP แทน
      • แทนที่จะใช้ IF หลายๆ ตัวซ้อนกัน ดูสิว่าใช้ VLOOKUP แทนได้หรือไม่
      • กรณีต้อง VLOOKUP ข้อมูลบรรทัดเดียวกันหลายรอบ ใช้ INDEX + ตำแหน่งแถวที่หามาแล้ว จะเร็วกว่าเยอะ
      • ใช้ VLOOKUP Approximate Match + IF แทน VLOOKUP แบบ Exact Match กรณีที่ข้อมูลเยอะมากๆ จะคำนวณเร็วขึ้น 100-1000 เท่า!
      • ใช้ INDEX + VLOOKUP Approximate Match แทน 2 วิธีข้างบน ก็จะยิ่งเร็วขึ้นไปอีก !!
      • ถ้าเรารู้จักใช้พวก Power Tool เช่น Power Query ในการ Map ข้อมูล จะยิ่งเร็วแถมง่ายด้วย !!!
    • จงเชื่อมั่นและเปิดใจเรียนรู้ เพราะ การเรียนรู้มันไม่สิ้นสุดจริงๆ ครับ ผมเองก็ยังไม่เรื่องที่ไม่รู้อีกมากมาย
    • หากคุณรู้อะไรเจ๋งๆ อย่าลืมมาแบ่งปันความรู้ให้คนอื่นได้รู้ด้วยนะครับ รับรองว่า “ยิ่งให้ยิ่งได้” จริงๆ ครับ
  • 7 วิธีรับมือกับวันแย่ๆ (ใน Excel)

    7 วิธีรับมือกับวันแย่ๆ (ใน Excel)

    อย่างที่ผมเคยย้ำเสมอว่า Excel มองวันที่เป็นแค่ตัวเลขจำนวนธรรมดาตัวหนึ่งที่เปลี่ยนหน้าตาไปเท่านั้น (รายละเอียดอ่านได้ที่นี่)

    นอกจากนี้ Excel จะรู้จักวันที่ในรูปแบบที่มันคุ้นเคยเท่านั้น เช่น dd/mm/yyyy หรือ dd-mm-yyyy หรือ yyyy/mm/dd หรือ yyyy-mm-dd (กรณีที่ตั้งค่า Regional Setting ใน Control Panel เป็น Thai )

    ดังนั้น ถ้าหากเราใส่วันที่ในรูปแบบที่ Excel ไม่รู้จัก เช่น 2016.12.09 มันก็จะไม่มองว่าเป็นวันที่หรอกนะ นอกจากนี้จะต้องระวังเรื่องการใส่เลขปีด้วย ว่าปกติแล้วควรใส่เป็นปี ค.ศ. เสมอ (ยกเว้นจะตั้งค่าใน Number Format ให้รับ Input เป็น พ.ศ. ไทยไปเลย มีบอกวิธีท้ายบทความ)

    แต่บางครั้งเราได้ข้อมูลมาจากคนอื่น (หรือแม้แต่ฐานข้อมูลที่ Office) ซึ่งดันมีข้อมูลวันที่อยู่ในรูปแบบที่แย่ๆ Excel มันก็เลยไม่รู้จัก เราก็เลยต้องยื่นมือไปช่วยหน่อยแล้ววววว!!!

    นี่คือ 7 วิธีที่จะรับมือกับวันแย่ๆ ครับ

    สมมติว่ากรอกวันที่แย่ๆ อยู่ในช่อง A1 นะครับ

    วันแย่แบบที่ 1 : YYYYMMDD โดยปีเป็น ค.ศ.

    วิธีแก้อาการนี้ ทำง่ายๆ ครับ โดยใช้ความรู้เรื่องฟังก์ชั่น TEXT กับ Custom Format มาช่วย ได้ดังนี้

    =TEXT(A1,”0000-00-00″)*1 จะได้เป็นตัวเลขที่ถูกต้องแล้ว แต่ถ้าอยากเห็นเป็นวันที่ ก็ให้ Format เป็นวันที่เป็นอันจบ

    วันแย่แบบที่ 2 : YYYYMMDD โดยปีเป็น พ.ศ.

    วิธีแก้ ผมแนะนำ 2 วิธีแล้วกัน

    แบบแรก ตัดทีละส่วนแล้วรวมกันด้วย DATE จะได้ว่า

    =DATE(LEFT(A1,4)-543,MID(A1,5,2),RIGHT(A1,2))

    แบบที่สอง ใช้ TEXT เหมือนเดิม จะได้ว่า

    =TEXT((LEFT(A1,4)-543)&RIGHT(A1,4),”0000-00-00″)*1

    วันแย่แบบที่ 3 : DDMMYYYY โดยปีเป็น ค.ศ.

    คล้ายกับวิธีที่ 1 ครับ แต่ปรับ Format เล็กน้อย

    =TEXT(A1,”00-00-0000″)*1

    วันแย่แบบที่ 4 : DDMMYYYY โดยปีเป็น พ.ศ.

    คล้ายกับวิธีที่ 2 ครับ มี 2 วิธี

    แบบแรก =DATE(RIGHT(A1,4)-543,MID(TEXT(A1,”00000000″),3,2),LEFT(TEXT(A1,”00000000″),2))

    แบบที่สอง = TEXT(LEFT(TEXT(A1,”00000000″),4)&RIGHT(A1,4)-543,”00-00-0000″)*1

    วันแย่แบบที่ 5 : มีสัญลักษณ์ประหลาด เช่น .

    กรณีเป็น ค.ศ :

    วิธีแก้ง่ายมาก ก็แปลงจุด (หรือสัญลักษณ์อะไรก็แล้วแต่) ให้เป็นตัวที่ Excel รู้จักเช่น – ด้วย SUBSTITUTE ก็พอครับ

    =SUBSTITUTE(A1,”.”,”-“)*1

    กรณีปีเป็น พ.ศ.

    หลักการก็คือทำให้ . หายไปก่อนด้วย =SUBSTITUTE(A1,”.”,””) แล้วเอาไปเข้ากรณีวันแย่แบบที่สองครับ ซึ่งจะได้ว่า

    =DATE(LEFT(A1,4)-543,MID(SUBSTITUTE(A1,”.”,””),5,2),RIGHT(A1,2))

    อีกแบบก็จะได้ว่า

    =TEXT((LEFT(A1,4)-543)&RIGHT(SUBSTITUTE(A1,”.”,””),4),”0000-00-00″)*1

    วันแย่แบบที่ 6 : เลขปีเขียนแบบย่อ จาก YYYY เหลือแค่ YY 2 ตัวหลัง

    เช่น DDMMYY โดยปีเป็น ค.ศ. แบบนี้เราก็ต้องรู้ก่อนว่า ปีเป็น 19YY หรือ 20YY

    ถ้ามั่นใจว่าเป็น 20YY ก็ทำแค่นี้พอ =TEXT(A1,”00-00-00″)*1

    แต่ถ้าเป็น 19YY ก็อาจจะต้องเติมตัวเลข 19 ให้มัน เช่น =DATE(“19″&RIGHT(A1,2),MID(TEXT(A1,”000000″),3,2),LEFT(TEXT(A1,”000000”),2))

    วันแย่แบบที่ 7 : ข้อมูลต้นทางมีหลายรูปแบบผสมผสานกัน!!

    แบบนี้ ถ้าคิดว่ามีเครือ่งหมายประหลาดอะไรก็แนะนำว่าให้ใช้ SUBSTITUTE ตัดทิ้งให้หมดก่อน

    หลังจากนั้นคุณต้องเขียนสูตรเพื่อตรวจเช็ครูปแบบแล้วล่ะ
    เช่น ใช้ LEFT RIGHT เช็คดูว่าเลขน่าจะเป็น ค.ศ. หรือ พ.ศ.? และมีกี่ตัวอักษร??

    จากนั้นค่อยเอาไปใช้ IF หรือ CHOOSE เพื่อเลือกสูตรที่เหมาะสมต่อไป

    แต่ถ้าเกิดเหตุการณ์แบบนี้จริงๆ ไปแก้ตั้งแต่ต้นเหตุดีกว่า ว่าทำไมถึงกรอกข้อมูลได้มั่วขนาดนี้!!!!

    อย่างน้อยก็ควรใส่ Data Validation ไว้บ้างนะครับ เช่น

    data-validation

    เทคนิคแถม : คนกรอกข้อมูลดึงดันจะกรอกเป็น พ.ศ.

    อย่างที่บอกว่าเราควรกรอกข้อมูลเป็น ค.ศ. เสมอ แต่ถ้าคนกรอกดึงดันว่าจะกรอก พ.ศ.ล่ะ !!?

    วิธีที่ทำให้กรอกข้อมูลเป็น พ.ศ. แล้วข้อมูลไม่เพี้ยน คือต้องเลือก Cell ช่องนั้นๆ แล้วเลือก Number Format ดังนี้ครับ

    7 วิธีรับมือกับวันแย่ๆ (ใน Excel)

    เป็นอย่างไรกันบ้างครับ กับเทคนิคการรับมือกันวันแย่ๆ ใน Excel ผมหวังว่าจะเป็นประโยชน์กับเพื่อนๆ นะครับ

    หากใครมีเทคนิคอื่นๆ ในการจัดการกับปัญหาเรื่องวันที่ อย่าลืมแชร์กันให้ผมและเพื่อนๆ รู้บ้างนะครับ เพราะปัญหาหนึ่งๆ มันมีหลายทางแก้ไขแน่นอน ^^

  • มีข้อมูลเห็นอยู่เต็มตา แต่ VLOOKUP หาไม่เจอ ทำไงดี?

    มีข้อมูลเห็นอยู่เต็มตา แต่ VLOOKUP หาไม่เจอ ทำไงดี?

    เคยบ้างมั้ย? เวลาใช้ VLOOKUP แล้ว Error แบบไม่รู้สาเหตุ???

    ep03-001

    ฐานข้อมูลหรือตารางอ้างอิงก็เห็นอยู่จะๆ ว่ามีตัว Lookup_Value ที่เรากรอกลงไป (เลข 100) และก็ดูเหมือนว่าเขียนสูตร VLOOKUP ถูกต้องหมดทุกอย่างแล้ว แต่ผลลัพธ์กลับออกมาเป็น Error ซะอย่างนั้น?

    เอ ทำไมหว่า?? ….

    หรือว่าผี Excel หลอก!!

    ไม่ใช่หรอกครับ ผมจะบอกว่าสาเหตุนึงที่คนมักจะลืมนึกไปก็คือ ประเด็นเรื่อง “ประเภทของข้อมูล” นั่นเอง

    ประเภทข้อมูลนั้นสำคัญมาก!

    รู้หรือไม่ว่าพวก VLOOKUP MATCH หรือแม้แต่การใช้เครื่องหมาย = เพื่อเปรียบเทียบข้อมูล 2 ตัวเข้าด้วยกัน ถ้ามันเป็นข้อมูลคนละประเภท ไม่ว่าจะหน้าตาเหมือนกันแค่ไหน Excel ก็จะถือว่าเป็นข้อมูลคนละตัวกันทันที

    เราไม่สามารถรู้ประเภทของข้อมูลได้ด้วยตาเปล่า เพราะอาจถูกลวงด้วยการปรับ Format เช่น ในรูปผมปรับให้ข้อมูลอยู่กึ่งกลางทั้งหมด จึงไม่มีทางดูออกเลยว่าเป็น Number หรือ Text

    วิธีที่จะเช็คได้ดีที่สุดคือใช้ฟังก์ชั่น TYPE มาเช็คครับ

    ซึ่งแปลความหมายได้ดังนี้ 1 = Number   2= Text    4= Logic    16 = Error

    ep03-002

    พอลองเช็คดูจะเห็นว่าในตารางอ้างอิง ตัว ID เป็น Text แต่ใน Lookup_Value เป็น Number
    นี่คือสาเหตุที่ว่า VLOOKUP หาค่า 100 ในตารางไม่เจอ ทั้งๆ ที่เรามองเห็นอยู่เต็มตาแท้ๆ !!

    วิธีแก้ก็คือ ต้องทำให้ข้อมูลเป็นประเภทเดียวกัน ถ้าไม่แก้ที่ตารางอ้างอิง ก็ต้องแก้ที่ Lookup_Value

    ep03-003

    หรือ ผมอาจจะเขียนสูตรเพื่อบังคับให้มันเปลี่ยนประเภทข้อมูลเป็น Text ไปเลย โดยการใส่ &”” ก็ได้

    ep03-004

    เป็นไงบ้างครับ เรื่องเล็กๆ น้อยๆ ถ้ารู้ก็ไม่ยากเลยใช่มั้ยครับ แต่ถ้าไม่รู้ก็อาจงงไปอีกนาน ^^

  • จะ Mapping ข้อมูลที่อยู่ด้านซ้าย ใช้ VLOOKUP ไม่ได้ ทำไงดี?

    จะ Mapping ข้อมูลที่อยู่ด้านซ้าย ใช้ VLOOKUP ไม่ได้ ทำไงดี?

    ฟังก์ชันยอดฮิตในการ Map ข้อมูลที่หลายคนชอบใช้ก็คือ VLOOKUP ซึ่งมีข้อดีคือ ใช้ฟังก์ชันเดียวก็ Map ข้อมูลได้ดั่งใจ
    แต่ข้อเสียคือถ้าข้อมูลอยู่ด้านซ้ายของคอลัมน์ที่จะค้นหา มันจะเอาค่ากลับมาไม่ได้!

    แล้วที่นี้จะทำไงดี??

    ep01-000

    ถ้าคุณไม่สามารถจะย้ายคอลัมน์ข้อมูลดิบได้ วิธีจัดการกับปัญหานี้ที่อยากจะแนะนำ คือ เปลี่ยนไปใช้ฟังก์ชั่นอื่นซะเถอะครับ (อ้าว)

    ตัวที่ผมอยากจะแนะนำที่สุดก็คือ INDEX+MATCH เพราะนอกจากจะเอาข้อมูลมาได้ทั้งทางซ้ายและขวา ยังทนทานต่อการแทรกคอลัมน์อีกต่างหาก (แทรกแล้วข้อมูลที่ Lookup มาก็ยังถูกต้องอยู่)

    ก่อนอื่น ผมขอทวนการทำงานของ INDEX แบบสั้นๆ นั่นคือ มันจะดึงข้อมูลตามพิกัดที่เราระบุได้

    เช่น หากผมเขียนสูตรแบบนี้ ซึ่งเป็นการบอกว่า ในพื้นที่ A2:A5 นั้น ให้เอาข้อมูลที่อยู่ลำดับที่ 2 กลับมานะ ก็จะได้คำตอบ T004

    ep01-001

    แต่เรื่องของเรื่องคือ ที่เราใส่เลข 2 ได้ เพราะเราดูด้วยตาเปล่าว่า เจ้าสมหญิง อยู่ลำดับที่ 2

    แต่ถ้าเราจะให้ Excel ช่วยหาให้ เราก็ต้องใช้ MATCH มาแทนเลข 2 ในส่วนของ row_num ดังนี้
    ซึ่งเป็นการบอกว่า ให้กาคำในช่อง B9 ในช่วง B2:B5 ว่าอยู่ลำดับที่เท่าไหร่??
    (ใส่ Match_Type เป็น 0 เพราะจะหาข้อมูลแบบต้องเจอเป๊ะ หรือ Exact Match)

    ep01-002

    พอ Enter ก็จะได้คำตอบคือ T004 ตามต้องการ และเมื่อลองเปลี่ยนชื่อดู ก็จะได้ผลลัพธ์ที่ถูกต้องอยู่

    แต่วิธีเขียนสูตรที่ยืดหยุ่นกว่าก็คือ แทนที่จะเลือก Range ให้เริ่มแถว 2 แล้วจบแถว 5 ก็ให้เลือกมันทั้งคอลัมน์เลยก็ได้ ถ้าข้อมูลไม่เยอะจนเกินไป ก็ไม่น่าจะทำให้ช้ากว่ากันเท่าไหร่ครับ (ถ้าข้อมูลเยอะ ก็ต้องลากครอบเยอะอยู่ดี ซึ่งก็นานอยู่ดี)

    =INDEX(A:A,MATCH(B9,B:B,0))

    ep01-003

    สำหรับบทความนี้ก็ขอจบเพียงเท่านี้ครับ สั้นๆ ง่ายๆ หากใครไม่เข้าใจตรงไหนก็ถามได้ครับ

     

  • การทำ Keyword Analysis ด้วย Excel เพื่อจัดกลุ่มข้อมูล

    การทำ Keyword Analysis ด้วย Excel เพื่อจัดกลุ่มข้อมูล

    เมื่อเร็วๆ นี้เองผมเพิ่งได้รับมอบหมายงานจากหัวหน้า ให้หาเหตุผลที่พนักงานขายทำการขายสินค้า/บริการไม่สำเร็จ โดยจะต้องวิเคราะห์จากข้อความที่เป็นคำบรรยายที่พนักงานขายแต่ละคนเขียนมาให้ ซึ่งข้อมูลมีเยอะมาก ประมาณหลายหมื่นข้อความเลย (โอ้ แม่เจ้า!!)

    ดังนั้นจะให้ผมนั่งอ่านทีละอันคงไม่ไหวแน่นอน ผมจึงลองเขียนสูตรใน Excel เพื่อพยายามแบ่งกลุ่มเหตุผลขึ้นมาว่าน่าจะมีเหตุผลอะไรบ้าง แต่ละเหตุผลคิดเป็นสัดส่วนซักกี่ % ?

    ซึ่งก็ได้ผลลัพธ์ที่น่าพอใจพอสมควรครับ ^^

    ดังนั้นผมจึงอยากนำแนวคิดนี้มาลองแบ่งปันกับเพื่อนๆ เผื่อจะเป็นประโยชน์กับคนอื่นที่อาจต้องทำอะไรคล้ายๆ ผม และบางทีคุณอาจมีเทคนิคที่เจ๋งกว่าผมก็ได้ (ถ้ามีก็บอกกันด้วยนะ อิอิ)

    มาลองทำกันจริงๆ

    ผมขอสมมติสถานการณ์ใหม่ขึ้นมาว่าเราเป็นบริษัทขายของแห่งหนึ่ง แล้วเราได้รวบรวมคำบ่นที่ลูกค้าด่าเรามาไว้ได้หลายพันข้อความเลย (แต่ในไฟล์มีแค่ 15 ข้อความ เพื่อความง่าย) =>  keyword-analysis (โหลดไฟล์ที่เสร็จสมบูรณ์ได้ที่นี้)

    หน้าที่ของคุณคือต้องวิเคราะห์ว่าลูกค้าบ่นเรื่องอะไรมามากน้อยแค่ไหน เพื่อที่จะได้หาทางแก้ปัญหาได้ถูกจุด

    ซึ่งหน้าตาข้อมูลเป็นแบบนี้

    001

    สิ่งที่เราต้องทำต่อคือ พยายาม List Keyword ที่น่าจะช่วยแบ่งกลุ่มข้อมูลได้ เช่น สมมติผมอยากจะแบ่งประเด็นปัญหาเป็น 2 เรื่องใหญ่ๆ ว่าเป็นเรื่องสินค้า (product) หรือ เรื่องของการบริการ (service)

    สมมติผมอ่าน comment คร่าวๆ แล้วแบ่งคำได้ดังนี้

    Product

    • สินค้า
    • tv
    • ทีวี
    • dvd
    • ดีวีดี
    • product
    • พัง

    Service

    • พนักงาน
    • คนขาย
    • ช้า
    • call center

    สมมติพอแค่นี้ก่อน…

    ต่อไป เรา List Keyword เหล่านี้ลงแต่ละคอลัมน์ แล้วพยายามจัด group เพื่อให้ไม่งง

    002

    ต่อไป เราก็จะพยายามเขียนสูตร เพื่อหาว่าแต่ละบรรทัด มี Keyword เหล่านี้อยู่ใน Comment ที่ลูกค้าบ่นหรือไม่?

    ซึ่งวิธีการหา ก็มีอยู่ 2 วิธีหลักๆ คือ ใช้ FIND หรือ SEARCH ซึ่งมีการทำงานต่างกัน คือ…

    FIND จะสนเรื่องตัวพิมพ์เล็กพิมพ์ใหญ่ด้วย เช่น

    • ถ้าหาคำว่า tv ใน “tv จอติดๆดับๆ สินค้าห่วย” จะเจอ
    • แต่ถ้าหาใน “TV จอมืดมาก มองไม่เห็น แย่มาก” จะหาไม่เจอ…

    แต่ถ้าเราใช้ SEARCH จะเจอทั้งคู่ !!

    ดังนั้นในสถานการณ์แบบนี้ผมชอบจะใช้ SEARCH มากกว่า (ไม่งั้นผมต้องใส่ทุก Combination ที่เป็นไปได้ลงไปเลย) และนอกจากนี้ SEARCH ยังหาคำแบบ Wild Card ด้วยด้วย เช่น หาคำว่า b?t จะเจอกับทั้ง bat but bet bit bot … และอีกมากมาย เพราะ ? แทนอะไรก็ได้ 1 ตัวอักษร (รายละเอียดลองหาในบทความเก่า ๆได้)

    เมื่อตัดสินใจได้แล้วว่าจะใช้ SEARCH เราก็ต้องมาดูต่อว่ามันทำงานแบบไหน? ซึ่งมันจะหาว่าคำที่เราค้นหาอยู่ตำแหน่งตัวอักษรที่เท่าไหร่ ซึ่งถ้าหาไม่เจอจะให้ค่าเป็น error แบบ #N/A กลับมาเลย

    แต่ผมอยากเขียนสูตรให้เป็นว่า ถ้าหาเจอ ให้เป็นเลข 1 ถ้าไม่เจอให้เป็นเลข 0 ดังนั้นผมจะใช้ IF มาช่วย ดังนี้

    003

    ต่อไปผมก็ copy ลากยาวให้ครบทั้งหมด

    004

    ต่อไปผมจะมาจัดกลุ่ม โดยถ้าอยู่ในกลุ่มแรก จะต้อง flag ช่อง product เป็น 1 ถ้าอยู่ในกลุ่มหลัง ก็จะ flag service เป็น 1

    ผมก็จะเขียนสูตรง่ายๆ ว่า ถ้าเอาค่าหลายๆ คอลัมน์บวกกันแล้วมากกว่า 0 (มีตัวใดตัวหนึ่งเป็น 1) ให้ flag ตัวกลุ่มเป็น 1 ดังนี้

    005

    ทำเหมือนกันกับอีกกลุ่ม

    006

    เพียงเท่านี้เราก็ได้ 2 กลุ่มแล้ว

    ต่อไป เราก็จะเก็บตก ว่าอาจมีเหตุผลอื่นๆ ได้อีก เราก็แค่เช็คว่า ถ้าก่อนหน้านั้นรวมกันได้ 0 หมดเลย เราก็จะ flag อื่นๆ เป็น 1 เท่านั้นเอง

    007

    เพียงเท่านี้เราก็ flag ข้อมูลเพื่อจัดหมวดหมู่ได้แล้ว

    ถ้ายังจัดได้ไม่ดีพอ เราอาจต้องใส่ keyword เพิ่มลงไปอีก ก็แค่แทรก keyword ใหม่เข้าไปตรงกลาง สูตรทุกอย่างก็จะยังใช้ได้อยู่

    เช่น ผมจะใส่คำว่า “หัก” ลงไปในกลุ่ม product  ก็แทรกคอลัมน์ได้เลย

    008

    แล้วใส่ Keyword ที่ต้องการ แล้วใช้สูตรจากเพื่อนข้างๆ

    009

    นอกจากนี้เราเอาข้อมูลไป pivot ก็ได้แบบง่ายๆ ชิลๆ

    010

    ข้อควรระวัง!!

    ถ้าใช้วิธีแบบนี้ มีสิทธิ์ที่ข้อมูล ใน 1 บรรทัด จะถูก flag ว่าเป็นทั้ง product และ service

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

    หวังว่าจะเกิดประโยชน์

    เป็นยังไงบ้างครับกับเทคนิคหา keyword ในบทความนี้? ไม่ยากเกินไปจริงมั้ยครับ แต่มีประโยชน์มากๆ ลองเอาไปใช้ดูนะครับ

    ใครอ่านบทความนี้แล้วถูกใจ อย่าลืมบอกต่อเพื่อนๆ ด้วยนะครับ เผื่อจะเกิดประโยชน์กับคนอื่นๆ เช่นเดียวกัน ^^

  • ติวเข้มก่อนเข้าโรงเรียนเวทมนตร์ #2 : ข้อควรระวังในการเขียนวันที่ในสูตร

    ติวเข้มก่อนเข้าโรงเรียนเวทมนตร์ #2 : ข้อควรระวังในการเขียนวันที่ในสูตร

    จากตอนที่แล้วที่ผมได้อธิบายเฉลยข้อสอบเข้าโรงเรียนจอมเวทเทพเอ็กเซล ไป 2 เรื่องแล้ว วันนี้มาต่ออีกเรื่องซึ่งเป็นข้อที่มีคนผิดมากที่สุดครับ โดยโจทย์ที่ถามคือ…

    8) ตามรูป หากเขียนสูตรว่า =IF(A1<31/12/2016,”ยังไม่หมดเขต”,”หมดเขตแล้ว”) ผลลัพธ์จะได้ออกมาเป็นอะไร?
    (A1 คือ วันที่ 29 สิงหาคม ค.ศ. 2016)

    011

    ข้อนี้หลายคนโดนหลอกอย่างจัง เพราะข้อนี้คำตอบคือ “หมดเขตแล้ว”

    สาเหตุคือ เวลาเราเขียนค่าที่เป็นวันที่ลงไปในสูตร หากเราดันไปเขียนว่า =A1<31/12/2016 มันจะกลายเป็น เอา 31 หารด้วย 12 แล้วหารด้วย 2016 แทน (ไม่เชื่อลองเขียนสูตรว่า =31/12/2016 ดูสิ จะได้ ซึ่งจะได้ A1<0.00128141534391534  )

    ดังนั้นสูตรที่เขียนว่า =A1<31/12/2016 จะได้ =A1<0.00128141534391534

    ซึ่ง A1 เป็นวันที่จริงๆ ซึ่งมันเปรียบเทียบได้เป็นเลข 42611 (จริงๆ แล้ววันที่คือเลขธรรมดา เช่น 1 มกราคม ค.ศ. 1900 คือเลข 1, 2 มกราคม ค.ศ. 1900 คือเลข 2 …)

    ดังนั้นสูตรที่เขียนจริงเหมือนกับเขียนว่า =42611<0.00128141534391534 ดังนั้นมันจึงออกมาเป็น FALSE ซึ่งก็คือ “หมดเขตแล้ว” นั่นเอง

    ทีนี้หากจะเปรียบเทียบวันที่แบบถูกต้องจะทำยังไงได้บ้าง???

    ผมอยากจะแนะนำ 3 วิธีด้วยกันนะครับ ลองเอาไปเลือกใช้ดูตามความเหมาะสม

    1. เขียนวันที่เป็น Text แล้วแปลงเป็นตัวเลข

    วิธีนี้เป็นวิธีที่น่าสนใจอีกอันหนึ่ง เพราะสามารถเขียนในรูปแบบวันที่ แต่สามารถคำนวณได้อย่างถูกต้องได้ด้วย

    วิธีเขียนคือ ให้เขียนวันที่ในเครื่องหมายคำพูด แล้วเอาไป convert ให้เป็น Number โดยการเอาไปทำอะไรซักอย่างกับ Math Operator เช่น *1, +0, ใส่ – นำหน้า เป็นต้น (ส่วนตัวผมชอบใส่ – นำหน้า เพราะสังเกตง่าย และคำนวนเร็วสุด)
    explain-03

    ซึ่งพอกด Enter ผลลัพธ์ก็จะออกมาเป็น “ยังไม่หมดเขต” ตามที่ควรจะเป็น (อย่าลืมลองเปลี่ยนวันที่เล่นดูว่าสูตรยังทำงานถูกหรือไม่?)

    แต่วิธีนี้มีข้อควรระวัง คือ เรื่องของ Format วันที่ของ Region and Language ใน Control Panel ของคอมพิวเตอร์ที่กำลังเปิดไฟล์นั้นๆ อยู่ เพราะอาจทำให้วันและเดือนสลับกันได้ซึ่งอันตรายพอตัวเลยครับ

    เช่น บางเครื่องตั้งค่าวันที่แบบที่อ่านค่า 3/4/2016 แปลว่า วันที่ 3 เดือน 4 แต่บางเครื่องตั้งค่าให้แปลว่า วันที่ 4 เดือน 3 เป็นต้น

    ซึ่งการที่เราใส่วันที่เป็นรูปแบบตัวเลข xx/yy/zzzz แบบนี้ มันเป็นการ Hard Code แบบใส่ค่าคงที่ลงไปในสูตร ซึ่งไม่ว่าจะเปิดที่ Computer เครื่องไหนก็ตาม มันก็จะเห้นสูตรแบบเดียวกันหมดนี่แหละ แต่อาจตีความไม่เหมือนกันก็ได้

    ดังนั้น ถ้าจะใช้วิธีนี้ โปรดทำให้แน่ใจว่า ไฟล์ที่เราทำจะถูกเปิดใช้โดย Computer ที่ตั้งค่า Format วันที่ของ Region and Language แบบที่เราคิดไว้เท่านั้น

    2.เขียนวันที่ลงไปใน Cell เลย

    วิธีนี้เป็นวิธีที่ดีตรงที่เห็นชัดว่าเรากำลังเปรียบเทียบกับวันอะไรอยู่?
    explain-01

    ซึ่งพอกด Enter ผลลัพธ์ก็จะออกมาเป็น “ยังไม่หมดเขต” ตามที่ควรจะเป็น

    วิธีนี้สิ่งที่เราต้องทำคือ จงแน่ใจว่าเราใส่รูปแบบวันที่แบบเดียวกับวันที่ที่นำมาเปรียบเทียบ เช่น ถ้าเป็น DD/MM/YYYY ก็ใส่ให้เหมือนกัน หรือถ้าเป็น MM/DD/YYYY ก็จงทำให้เหมือนกัน ไม่่งั้นอาจผิดเพราะเรื่อง Format วันที่ของ Region and Language แบบเดียวกับข้อข้างบนได้

    3. เขียนวันที่ด้วยฟังก์ชั่น DATE

    วิธีนี้มีความปลอดภัยสูงที่สุด เพราะจะไม่มีปัญหาเรื่องการตั้งค่า Format วันที่ของ Region and Language ของคอมพิวเตอร์แต่ละเครื่องเลย เพราะฟังก์ชั่น DATE จะถามหา Argument แยกกัน นั่นคือ ปี เดือน วัน แต่ละตัวแยกกันโดยไม่ปนกันเลย
    explain-02

    ดังนั้นถ้าถามผมว่าวิธีไหนน่าจะ Work และปลอดภัยที่สุด ความเห็นส่วนตัวของผมคือ วิธีสุดท้ายนี่แหละครับ ^^

    เอาล่ะ ใครอ่านจบถึงตรงนี้ ถ้าหากมีคำถามอะไร อย่าปล่อยผ่านนะครับ ถามมาได้เล้ยยยย

     

  • ติวเข้มก่อนเข้าโรงเรียนเวทมนตร์ #1 : ค่าที่แท้จริง วันที่และเวลา

    ติวเข้มก่อนเข้าโรงเรียนเวทมนตร์ #1 : ค่าที่แท้จริง วันที่และเวลา

    จากที่ผมได้ Post ข้อสอบเข้าโรงเรียนจอมเวทเทพเอ็กเซลให้ลองทำกันไปเมื่ออาทิตย์ก่อน  (ใครยังไม่ได้ลองทำ เชิญไปทำได้ที่นี่ จะได้รู้ว่าเนื้อหาตรงไหนที่เรายังไม่แม่นนะครับ https://goo.gl/forms/5hqxIOH7tGDk9F3D2 )

    ข้อสอบที่มีคนผิดมากเป็นอันดับต้นๆ และเป็นเรื่องที่เกี่ยวเนื่องกัน นั่นคือเรื่องของ “ค่าที่แท้จริง วันที่ และเวลา” ซึ่งมีอยู่ 3 ข้อ นั่นคือ

    • ข้อ 6) จากรูป หากเขียนสูตรใน A2 ว่า =A1+1 จะได้ค่าเท่าไหร่?
    • ข้อ 8) ตามรูป หากเขียนสูตรว่า =IF(A1<31/12/2016,”ยังไม่หมดเขต”,”หมดเขตแล้ว”) ผลลัพธ์จะได้ออกมาเป็นอะไร?
      (A1 คือ วันที่ 29 สิงหาคม คศ. 2016)
    • ข้อ 9) เริ่มทำงาน ด้วยเวลาในช่อง B1 เสร็จงาน ด้วยเวลาในช่อง B2 จะคำนวณว่าใช้เวลากี่นาที ในช่อง B3 ยังไง?

    ดังนั้นผมจะขอนำมาเขียนอธิบายแบบละเอียดให้เข้าใจกันอย่างแจ่มแจ้งอีกครั้งนะครับ โดยในบทความนี้เรามาดู ข้อ 6 กับข้อ 9 กันก่อนครับ บทความถัดไปจะมาดูข้อ 8 กัน

    ค่าที่เห็น…อาจไม่ใช่ค่าที่เป็น (เรื่องค่าที่แท้จริง)

    ข้อ 6) จากรูป หากเขียนสูตรใน A2 ว่า =A1+1 จะได้ค่าเท่าไหร่?

    003

    ข้อนี้ถ้าไม่สังเกตให้ดีอาจโดนหลอกได้ง่ายๆ เพราะค่าใน Cell เป็นเลข 3 แต่ค่าใน Formula Bar เป็น 2.5

    ซึ่งค่าใน Cell ที่เรามองเห็นเกิดจากการเอา “ค่าที่แท้จริง” ไปปรุงแต่ง แต่งตัว แต่งหน้า” ผ่านการปรับ Formatting หรือรูปแบบการแสดงผล จนสุดท้ายออกมาเป็นผลลัพธ์ที่เรามองเห็นด้วยตาเปล่าได้

    แต่เรื่องของการแสดงผลก็เป็นเพียงแค่เปลือกนอกเท่านั้น ถึงเราจะปรับเลข 2.5 ให้ไม่แสดงทศนิยมจนแสดงผลออกมาเป็นเลข 3 เวลานำมันไปคำนวณต่อ Excel จะเอาค่าที่แท้จริง คือ 2.5 ไปคำนวณต่อ ไม่ได้เอาการแสดงผลหรือเลข 3 ไปคำนวณนะครับ (ยกเว้นว่าใน Excel Option จะไปตั้งค่า Set precision as displayed ในเมนู Advanced ซึ่งปกติแล้วจะไม่ตั้งค่าแบบนั้น)

    ดังนั้นสิ่งที่ต้องจดจำไว้ให้ดีคือ “ค่าที่เห็น…อาจไม่ใช่ค่าที่เป็น” การปรับ Format ทั้งหน้าตาและ Number Format จะไม่มีผลใดๆ ต่อการคำนวณทั้งสิ้น

    การคำนวณเวลาที่ใช้ในการทำงาน และการแปลงหน่วย (ข้อ 9)

    ข้อ 9) เริ่มทำงาน ด้วยเวลาในช่อง B1 เสร็จงาน ด้วยเวลาในช่อง B2 จะคำนวณว่าใช้เวลากี่นาที ในช่อง B3 ยังไง?

    002

    ก่อนที่จะคำนวณข้อนี้ได้ เราจะต้องมีความเข้าใจเรื่องที่ว่า วันที่และเวลา จริงๆ แล้วคือตัวเลขธรรมดาๆ ที่เปลี่ยน Number Format ไปเท่านั้น (อย่างที่อธิบายข้างบนว่า การปรับ Format ไม่มีผลต่อการคำนวณ)

    โดยที่ Excel จะแทนวันที่ 1/1/1900 (1 มกราคม คศ. 1900) ด้วยเลข 1  (ค่าที่แท้จริงของวันที่ 1/1/1900 คือ เลข 1) แล้วมันก็แทนวันที่ 2/1/1900 ( 2 มกราคม คศ. 1900) ด้วยเลข 2… ทำอย่างนี้ไปเรื่อยๆ

    เช่น หากใน Cell ใส่วันที่เป็น 16/10/2016 แล้วลองเปลี่ยน Number Format ให้เป็น Number จะเห็นว่ากลายเป็นเลข 42659 นั่นเอง (ไม่ต้องจำเลขนะ…)

    เมื่อ Excel แทนวันที่ด้วยจำนวนเต็ม ดังนั้น เวลา (ซึ่งคือส่วนหนึ่งของวัน) ก็จะถูกแทนด้วยเลขทศนิยมนั่นเอง เช่น

    • วันที่ 16/10/2016 เวลา 0:00 คือเลข 42659
    • วันที่ 16/10/2016 เวลา 12:00 (เวลาผ่านไปครึ่งวัน) คือเลข 42659.5 (เพิ่มมา 0.5 วัน)
    • วันที่ 17/10/2016 เวลา 0:00 คือเลข 42660

    ทีนี้ถ้าเรากรอกเป็น 16/10/2016  13:25:00 แล้วลองเปลี่ยนเป็น Number จะได้เป็นเลข 42659.5590277778 (ลองเพิ่มทศนิยมดู) ซึ่งจริงๆ แล้วมันก็คือการแปลงวัน+เวลา ชั่วโมงและนาที ให้มีหน่วยเป็น “วัน” นั่นเอง

    ดังนั้นถ้าเรามีเวลาเริ่มและจบแล้ว เราจะหาเวลาที่ผ่านไปได้ง่ายมากๆ โดยเอาค่าทั้งสองมาลบกัน

    เช่น เอา B2-B1 จะได้ 1.784722222 แบบนี้ ซึ่งจะมีหน่วยเป็นวัน

    explain-timedif

    ถ้าหากโจทย์ต้องการคำตอบที่หน่วยเป็นนาที เราก็แค่ต้องแปลงหน่วยจากวันเป็นนาที ซึ่งง่ายมากๆ แค่เพียงเรารู้หลักการของการแปลงหน่วยเท่านั้น นั่นคือ การทำให้หน่วยตัดกันจนให้ได้ผลลัพธ์เป็นหน่วยสุดท้ายที่ต้องการ  โดยการแทนเลข *1 ด้วยอัตราส่วนที่เป็นความจริง เช่น

    • 1 วัน = 24 ชม. หรือ 1 = 24 ชม./วัน
    • 1 ชม. = 60 นาที หรือ 1 = 60 นาที/ชม.

    ดังนั้น (B2-B1) วัน คือ

    • = (B2-B1) วัน * 1 * 1 (คูณ 1 ค่าไม่เปลี่ยน ถือว่าทำแล้วค่ายังคงถูกต้อง)
    • = (B2-B1) วัน * 24 ชม./วัน * 60 นาที/ชม.
      โดยที่จะเห็นว่าหน่วยสามารถตัดกันได้ จนเหลือแค่หน่วยนาที

    explain-timedif2

     

    • สุดท้ายจะได้ว่า เวลาที่ผ่านไปเป็นหน่วยนาที คำนวณได้จาก
    • = (B2-B1)*24*60 นาที

    เห็นมั้ยครับ? การคำนวณเรื่องวันที่และเวลาไม่ได้ยากอย่างที่คิดเลย แค่ต้องเข้าใจ Concept ของมันเท่านั้นเอง

    ใครยังสงสัยตรงไหนก็ถามได้เลยนะครับ อย่าปล่อยผ่านไปแบบไม่เข้าใจแบบเคลียร์ๆ นะ ^^

     

  • เชิญทำข้อสอบเข้าเรียนต่อ โรงเรียนเวทมนตร์ “จอมเวท เทพ Excel”

    cover-fb

    ข้อสอบนี้ เป็นแบบทดสอบวัดระดับพลัง Excel ระดับพื้นฐาน-กลาง
    คนที่ทำได้ดี น่าจะอ่านหนังสือเล่ม 2 ของผม ชื่อ “จอมเวท เทพ Excel”
    ที่กำลังจะออกประมาณปลายเดือนตุลาได้โดยไม่มีปัญหาครับ
    (ดูรูปตัวอย่างได้ใน Facebook
    https://www.facebook.com/inwexcel/photos/?tab=album&album_id=628710610640299
    และ https://www.facebook.com/inwexcel/photos/?tab=album&album_id=639852389526121)

    ใครที่ยังทำได้ไม่ดี ก็ลองกลับไปทบทวนข้อที่ทำผิดอีกทีนะครับ (มีเฉลยหลังทำเสร็จ)

    มี 30 ข้อ (เอง) ทำแป๊ปเดียวเสร็จ (คนคล่องๆ ทำแค่ 2-3 นาทีก็เสร็จนะ) ค่อยๆ ลองทำโดยไม่เปิด Excel นะครับ
    จะได้รู้ว่าความรู้ Excel ของคุณมีมากน้อยแค่ไหน

    Link แบบทดสอบ : https://goo.gl/forms/5hqxIOH7tGDk9F3D2

    ใครทำเสร็จแล้วให้กดปุ่ม “View Your Score” เพื่อดูเฉลยนะครับ ผลเป็นยังไง อย่าลืมมาบอกกันด้วยนะครับ
    ถ้าชอบก็อย่าลืมแชร์ให้เพื่อนๆ เล่นด้วยนะครับ ^^

  • สอนใช้ INDEX เพื่อทำตารางธาตุ Pokemon GO!

    สอนใช้ INDEX เพื่อทำตารางธาตุ Pokemon GO!

    ช่วงนี้กระแส Pokemon GO! กำลังมาแรง ผมเองก็เล่นอยู่บ้าง เลยคิดว่าเอา Pokemon มาสอน Excel ดีกว่า 555 สำหรับคนที่ Level 5 ขึ้นไป จะสามารถเข้าไปตี Gym ได้ ซึ่งจะต้องเอา Pokemon มาสู้กัน

    หนึ่งในปัจจัยที่มีผลต่อการแพ้ชนะนอกจากพลัง CP ก็คือ เรื่องของธาตุหรือประเภทของ Pokemon ที่สู้กันนั่นเอง เพราะธาตุแต่ละธาตุมีเรื่องที่แพ้ทางกัน ดังนั้นต้องเลือกการโจมตีอย่างเหมาะสม ซึ่งใน Internet ก็มีข้อมูลพวกนี้เยอะแยะเลย

    ซึ่งผมลองเอาข้อมูลมาทำตารางใน Excel โดยสามารถให้เราเลือกประเภท Pokemon ที่เป็นฝ่ายรุก ฝ่ายรับ เพื่อดูว่าผลเป็นยังไงได้

    ดาวน์โหลดไฟล์ได้ที่นี่ => PokemonGo ThepExcel

    pokemon-go-inwexcel

    วิธีทำเริ่มจากสร้าง Dropdown ให้เลือกธาตุของฝ่ายรุก และฝ่ายรับ แยกช่องกันไว้

    จากนั้นใช้ match เพื่อดูว่าอยู่ row ไหน และ column ไหนของตาราง

    หาลำดับคนโจมตี : MATCH(B3,$A$6:$S$6,0)
    หาลำดับคนป้องกัน : MATCH(B4,$A$6:$A$24,0)

    จากนั้นใช้ index เพื่อดึงผลลัพธ์การโจมตีกลับมา

    INDEX($A$6:$S$24,MATCH(B3,$A$6:$S$6,0),MATCH(B4,$A$6:$A$24,0))

    สิ่งที่น่าสนใจคือ ถ้าใช้ INDEX หรือ LOOKUP แบบปกติ ค่าที่เป็นค่าว่าง กับค่า 0 ในตารางจะออกมาเป็น 0 เหมือนกันหมด ทำให้ตีความผิด

    ผมจึงใส่ IF ซ้อนไปว่า ถ้าค่ากลับมาเป็นค่าว่าง “” ให้แปลงค่าเป็นตัวอื่น เช่น ” ” หรือ 1 ก็ได้ จากนั้นค่อยเอาไป Lookup ทำเป็นคำแปลต่อไป

    =IF(INDEX($A$6:$S$24,MATCH(B3,$A$6:$S$6,0),MATCH(B4,$A$6:$A$24,0))=""," ",INDEX($A$6:$S$24,MATCH(B3,$A$6:$S$6,0),MATCH(B4,$A$6:$A$24,0)))
    • ใครอยากทำให้ไฟล์นี้เจ๋งขึ้นอีก ก็อาจทำ conditional format เพิ่มก็ได้
    • และจะเจ๋งสุดๆ ถ้าเอาไปผูกกับ Database Pokemon ทุกตัว เพราะจะได้เลือกได้เลยว่า ถ้าเอาตัว A ไปตีตัว B จะตีเข้าหรือไม่ 555
  • Excel ความเร็วแสง : ตอน VLOOKUP ความเร็วแสง

    Excel ความเร็วแสง : ตอน VLOOKUP ความเร็วแสง

    Excel ความเร็วแสง

    หากมนุษยชาติมีภารกิจจะต้องเดินทางไปยังดวงดาวในอวกาศอันไกลโพ้น… พวกเขาจะทำอย่างไร?

    เหล่านักบินอวกาศมีทางเลือกหลายทาง ตั้งแต่

    1. เดินทางไปเลย เตรียมเสบียงไปเต็มที่ กำลังใจมาเต็ม ซักวันคงเดินทางถึง!
    2. ตัดใจ ยอมแพ้กับภารกิจ อยู่บ้านเฉยๆ ดีกว่า
    3. พัฒนาวิธีเดินทางด้วยความเร็วแสงให้ได้!

    ถ้าทำได้ทุกคนคงอยากจะเลือก ข้อ 3 จริงมั้ยครับ?

    ในชีวิตของการใช้งาน Excel ก็เช่นกัน… หลายครั้งเราทำงานกับข้อมูลจำนวนมหาศาล
    เปรียบได้กับภารกิจการเดินทางอันแสนไกลของนักบินอวกาศ…
    เช่น ต้องใช้ VLOOKUP Map ข้อมูลที่มีหลายหมื่น หลายแสนบรรทัด คุณจะทำอย่างไร?

    1. นั่งรอไป ซักวันนึง เจ้า % Calculate จะกระดิกไปถึง 100% ในที่สุด พร้อมกับพลังในตัวของคุณที่หมดลง
    2. ไม่ยุ่งกับข้อมูลเยอะๆ เด็ดขาด
    3. เรียนรู้วิธีใช้เทคนิค Excel ความเร็วแสง!

    Excel ความเร็วแสง คือเทคนิคหลายอย่างที่ผมจะรวบรวมไว้เป็น series เรื่องการทำงานใน Excel ให้เร็วขึ้นโดยเฉพาะ

    แล้ววันนี้ผมจะนำเสนอเทคนิคเด็ด นั่นคือ วิธีการใช้ VLOOKUP ความเร็วแสงครับ ซึ่งแม้จะเคย Post เรื่อง VLOOKUP เร็ว 100 เท่า มาแล้ว แต่ขอเอามาขัดเกลาให้อ่านง่ายขึ้นอีกครั้ง อันนี้อ่าน 5-10 นาทีจบ ทำได้เลยแน่นอนครับ!

    เทคนิค VLOOKUP ความเร็วแสง

    เทคนิคในบทความนี้จะเน้นว่ากันด้วยวิธีปฏิบัติล้วนๆ ทฤษฎีใส่ให้บางๆ เท่านั้ย หากอยากเข้าใจที่มาที่ไปแบบละเอียด สามารถไปอ่านใน Post เก่าได้นะครับ

    เอาล่ะ จะ VLOOKUP ให้เร็วขึ้นทำได้ยังไง? ก่อนอื่น ต้องเข้าใจว่า VLOOKUP มี 2 แบบ คือ

    1. แบบ Approximate Match (เลือก Range Lookup เป็น TRUE หรือ 1) ซึ่งทำงานเร็วมาก และสามารถให้ผลลัพธ์ที่ไม่ตรงกับ Lookup_Value มาได้ด้วย ข้อควรระวังคือ คอลัมน์แรกของตารางอ้างอิงต้องเรียงจากน้อยไปมากเท่านั้น
    2. แบบ Exact Match (เลือก Range Lookup เป็น FALSE หรือ 0) ซึ่งทำงานช้ามาก แต่ให้ผลลัพธ์แม่นยำ

    เรื่องของเรื่องคือ เวลาคนส่วนใหญ่ Map ข้อมูลแบบต้องให้ผลลัพธ์เป๊ะๆ ก็จะใช้แบบ Exact Match นี่แหละ (เพราะมันแม่น) แต่ผมจะบอกว่าถ้าข้อมูลมีเยอะมาก คุณควรใช้แบบ Approximate Match แทนครับ!

    หลักการคือ

    1. เรียงข้อมูลในตารางอ้างอิง ให้คอลัมน์แรก (ที่เอา Lookup Value ไปหา) เรียงจากน้อยไปมากก่อน (สำคัญสุดๆ!!!)
    2. เขียนสูตร VLOOKUP แบบ Approx. เพื่อดึงค่าคอลัมน์ที่ต้องการกลับมา
      • เขียนว่า =VLOOKUP(คำค้นหา,ตารางอ้างอิง,คอลัมน์ที่ต้องการ,TRUE)
        ผลลัพธ์จะคำนวณร็วมาก แต่บางบรรทัดจะผิด คือ ควรจะเป็น #N/A แต่ให้ค่าเกินมา
    3. เราแก้จุดผิด โดยการใช้ VLOOKUP แบบ Approx. ดึงค่าคอลัมน์แรกกลับมาเช็คกับ Lookup Value มาตรงกันหรือไม่?
      โดยใช้ IF มาช่วยเช็คว่าถ้าตรงกันแสดงว่าเป็นค่าที่เชื่อถือได้ ถ้าไม่ตรงกันแสดงว่าไม่ควรใช้  
      • เขียนดึงคอลัมน์แรก =VLOOKUP(คำค้นหา,ตารางอ้างอิง,1,TRUE)
      • เช็คว่าตรงกับ Lookup Value หรือไม่? ว่า =VLOOKUP(คำค้นหา,ตารางอ้างอิง,1,TRUE)=คำค้นหา
    4. ถ้าตรงเชื่อได้ ถ้าไม่ตรงเชื่อไม่ได้
      1. เชื่อได้ ต้องเอาค่าคอลัมน์ที่ต้องการกลับมา =VLOOKUP(คำค้นหา,ตารางอ้างอิง,คอลัมน์ที่ต้องการ,TRUE)
      2. เชื่อไม่ได้ ให้เป็น #N/A โดย =NA()

    สรุปสูตรสุดท้าย
    =IF(VLOOKUP(คำค้นหา,ตารางอ้างอิง,1,TRUE)=คำค้นหา,VLOOKUP(คำค้นหา,ตารางอ้างอิง,คอลัมน์ที่ต้องการ,TRUE),NA())

    ตัวอย่าง

    vlookup100x

    ในช่อง B11 ผมเขียนสูตรได้ว่า

    =IF(VLOOKUP(คำค้นหา,ตารางอ้างอิง,1,TRUE)=คำค้นหา,VLOOKUP(คำค้นหา,ตารางอ้างอิง,คอลัมน์ที่ต้องการ,TRUE),NA())

    =IF(VLOOKUP(A11,$A$1:$B$6,1,TRUE)=A11,VLOOKUP(A11,$A$1:$B$6,2,TRUE),NA())

    จะได้ผลลัพธ์เป็น สมกอตต์ ถูกต้องครับ! และถ้าเป็น B10 ก็จะต้อง #N/A ถูกต้อง เช่นกัน เพราะไม่มีค่า p002x ในตารางอ้างอิง

    ก่อนจากกัน

    เป็นยังไงบ้างครับกับเทคนิค VLOOKUP เร็วความเร็วแสง หากมีตรงไหนไม่เข้าใจก็ถามได้ครับ
    และหากถูกใจ อย่าลืมบอกเพื่อนๆ ให้มาวิ่งไปสู่จุดหมายด้วยความเร็วแสงด้วยกันนะครับ !!

    Warp !!

  • สอนการทำ Dynamic Range ด้วย Table

    สอนการทำ Dynamic Range ด้วย Table

    อะไรคือ Dynamic Range?

    Dynamic Range มันก็คือการทำให้ Range มีความสามารถในการ “ยืดได้หดได้” ตามสถานการณ์ที่เหมาะสม
     
    เช่น พอเราใส่ข้อมูลเพิ่มปุ๊ป Dropdown List ที่สร้างไว้ก็รู้จักข้อมูลที่เรากรอกเลย หรือ แม้แต่สามารถให้ User เลือกข้อมูลที่จะแสดงผลบบนกราฟได้
     
    ซึ่งจริงๆ แล้วการทำ Dynamic Range นั้น มีวิธีการทำอยู่ 2 แนวทางหลักๆ เลย ก็คือ
    1.แนวทางการใช้เครื่องมือ Table กับ 2.แนวทางการเขียนสูตร
     
    ซึ่งในบทความนี้เราจะมาเรียนรู้การทำ Dynamic Range ด้วย Table ซึ่งเป็นวิธีที่ง่ายที่สุดกันก่อนครับ 

    การทำ Dynamic Range ด้วย Table

    เครื่องมือ Table (ไม่ใช่ Data Table ที่เรียนผ่านไปแล้วนะ) สามารถสร้าง Dynamic Range ได้แบบง่ายๆ ภายในพริบตา

    สมมติ ผมมี Range อยู่ แล้วผม convert เป็น Table ก่อน โดยกด Ctrl+T แล้วติ๊ก My Table has header ด้วย จะได้แบบนี้

    01 02

    หากผมเอาไปสร้างกราฟแท่งธรรมดาๆ เลย ขอแบบเร็วๆ
    ผมขอ กดปุ่ม F11 เลย จะได้กราฟแบบนี้ (ซึ่งจะเห็นว่ามีข้อมูล 4 แท่ง)

    03

    ต่อไปเราไปเพิ่มข้อมูลต่อท้าย Table อีก สังเกตว่าสีของ Table จะงอกออกไปครอบคลุมข้อมูลใหม่โดยอัตโนมัติ

    04

    พอเรากลับมาดูกราฟ ก็จะเห็นว่ามีข้อมูลใหม่ถูกเพิ่มมาโดยอัตโนมัติ

    05

    นี่แหละครับคือความเป็น Dynamic Range แบบง่ายๆ ซึ่งสามารถนำไปประยุกต์กับการเลือก Data Source ของ PivotTable ได้ด้วย ซึ่งจะช่วยให้ไม่ต้องมาเลือก Source Data ใหม่ และไม่ต้องเลือกทั้งคอลัมน์เผื่อไว้ก่อน (ถ้าเลือกเผื่อไว้ก่อนจะกด Group Data แบบอัตโนมัติไม่ได้)

    Dynamic Dropdown List

    อีกตัวอย่างหนึ่งคือการทำ Dynamic Dropdown List เช่น จาก Table ก่อนหน้านี้ ผมจะเอาชื่อทีมมาเป็น Dropdown ให้เลือก

    ซึ่งผมสามารถอ้างอิงรายการในทีมได้โดยเขียนสูตร = แล้วไปจิ้มตรงหัวคอลัมน์ จะได้ว่า =Table1[ทีม]

    06

    ผมก็เอาสูตรที่ได้เนี่ยแหละ ไปใส่ใน Data Validation List เลย แต่ปรากฏว่า Excel ไม่ยอม!

    แต่อย่ายอมแพ้ครับ มันมีวิธีแก้เล็กน้อย โดยการใช้ Defined Name มาช่วยนั่นเอง

    วิธีการคือ เอาสูตรที่ได้ไปตั้งชื่อก่อนครับ แล้วค่อยเอาชื่อนั้นไปใส่ใสน Data Validation อีกทีหนึ่ง

    07

    ใส่ใน Data Validation ได้เลย

    08

    จากนั้นจะเห็นว่า หากในอนาคตเรามีเพิ่มรายการเข้าไป Dropdown ของเราก็จะรู้จักรายการใหม่ๆ นั้นเองโดยอัตโนมัติครับ

    09

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

    เช่น ถ้ามี Table อยู่ในไฟล์ เราจะใช้เครื่องมือ Custom View ไม่ได้ หรือ บางทีเราต้องการทำ Dynamic Range ที่ซับซ้อนมากขึ้น เช่น แสดงยอดขาย 6 เดือนล่าสุดไปเรื่อยๆ แบบนี้จะต้องใช้สูตรแทนการใช่ Table แล้วครับ ซึ่งใครอยากรู้ รออ่านได้ในหนังสือเล่ม 2 นะครับ ^^

  • 4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง

    รู้หรือไม่ว่าเราสามารถสร้าง PivotTable จากข้อมูลหลายตารางได้! ในบทความนี้เราจะมาดูกันว่าทำยังไง?

    การทำ PivotTable จากหลายตารางนั้น ทำได้หลายวิธี แต่ละวิธีก็มีข้อดีข้อเสีย-ข้อจำกัดต่างกันดังนี้ครับ มาดูรายละเอียดกันดีกว่า

    วิธีที่ 1 : ใช้ Data Model & PowerPivot

    วิธีนี้เป็นการสร้าง PivotTable จากข้อมูลหลายตารางที่มีความสัมพันธ์กัน (เรียกว่า Data Model) ซึ่งเป็น Concept เดียวกับโปรแกรม Power BI เลยครับ หากใช้วิธีนี้เราก็จะสามารถสร้าง Pivot Table แล้วเลือก Field ข้ามตารางได้ โดยที่ไม่จำเป็นต้องเอาข้อมูลมารวมเป็นตารางเดียวกันเลยด้วยซ้ำ

    อย่างไรก็ตามวิธีนี้จะไม่สามารถเอาตารางมาต่อแถวกันได้นะครับ

    นอกจานี้ วิธีนี้ต้องใช้ Excel version 2013 ขึ้นไปครับ และถ้าจะให้ดีควรจะ Enable Add-in Power Pivot ซะก่อนจึงจะใช้งานได้สะดวก ซึ่งทำตามดังนี้

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 166

    แล้วเลือก PowerPivot Add-in ซะตามรูป

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 167

    จากนั้นเราจะต้องเอาตารางแต่ละอัน Add เข้า Data Model ซะก่อน เช่น มีทั้งหมด 3 ตาราง เช่น
    1. ตารางการขาย 2. ตารางรหัสพนักงาน 3. ตารางลูกค้า

    เราต้องเอาตารางเข้า Data Model โดยเลือกข้อมูล แล้วแปลงแต่ละตารางให้เป็น Table โดย Insert -> Table ซะก่อน แล้วค่อยกด Add To Data Model

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 168

    จากนั้นมันจะเอาข้อมูลเข้าสู่หน้าต่างของ PowerPivot

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 169

    จากนั้นให้กด Switch to workbook เพื่อกลับออกมาใน Excel แล้วกด Add To Data Model ให้ครบทุกตารางที่มีความสัมพันธ์กัน

    พอ add เข้าไปหลายตาราง ในหน้า Power Pivot จะมีหลายชีทด้วย

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 170

    จากนั้นให้กดดู Diagram View เพื่อผูกความสัมพันธ์ตารางต่างๆ เข้าด้วยกัน

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 171

    เราจะเห็นตารางแยกกันอยู่ ให้เรากำหนด Relationship โดยลากเส้นเชื่อมว่า field ไหนคือตัวที่เชื่อมความสัมพันธ์ระหว่างแต่ละตารางเข้าด้วยกัน (จะลากจากไหนไปไหนก็ได้)

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 172

    ทำให้ครบจะได้แบบนี้ จากนั้นก็กดสร้าง PivotTable ได้แล้ว

    สร้าง PivotTable จากข้อมูลหลายตาราง

    เราก็จะสามารถใช้ PivotTable Model Data Model แล้วยังสามารถลาก Field ข้ามตารางได้เลย โดยไม่ต้องเอาข้อมูลมารวมกันเป็นตารางเดียวกันอีก

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 173

    สำหรับรายละเอียดว่า Concept ของ Data Model ทำงานยังไง ให้ไปอ่านใน Series Power BI ได้ครับ

    หมายเหตุ : นอกจากวิธีนี้ เรายังกดสร้าง PivotTable โดยใช้ Data Model แบบไม่เปิด PowerPivot ก็ได้ โดยกดสร้าง PivotTable จากตารางโดยตรง แล้วติ๊ก Add to Data Model

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 174

    แต่ข้อเสียของวิธีนี้ก็คือการกำหนด Relationship จะทำยากกว่า (เพราะไม่เห็นภาพ) โดยต้องใช้เมนูนี้

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 175

    วิธีที่ 2 : ใช้ Power Query (เหมาะกับ Excel 2013 ขึ้นไป)

    Pivot Table จากหลายตาราง

    การใช้ Power Query นั้นสามารถทำได้ 2 ลักษณะ คือ

    2.1 เตรียมตารางแยกหลายๆ ตารางที่มีความสัมพันธ์กัน แล้วส่งเข้าสู่ Data Model

    ถ้าใช้แบบนี้ ก็เป็นการใช้ Power Query แค่จัดหน้าตาข้อมูลให้เหมาะสมเท่านั้น เพิ่มเติมแค่ตอนกด Close & Load To… ให้เลือกเป็น Connection Only (เพราะเราจะไม่ Load ผลลัพธ์ออกมาใน Excel ปกติ) แต่ให้ติ๊กเลือกว่า Add to Data Model เพื่อให้มันส่งผลลัพธ์เข้า Data Model เท่านั้นเอง

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 176

    2.2 รวมข้อมูลทั้งหมดให้อยู่ในตารางเดียวกันก่อน แล้วค่อยส่งเข้า Pivot Table แบบปกติ

    คำว่ารวมให้อยู่ในตารางเดียว จริงๆ แล้วก็มี 2 แบบใหญ่ๆ นั่นคือ รวมคอลัมน์ กับ รวมแถว

    • การรวมข้อมูลหลายๆ ตารางมาต่อแถวกัน (คล้ายการที่เรา Copy Paste ) เรียกว่า Append
    • การรวมข้อมูลหลายๆ ตารางมารวมคอลัมน์กัน (คล้ายๆ กับใช้ VLOOKUP) เรียกว่า Merge

    จากนั้นค่อยส่งผลลัพธ์ที่รวมตารางเสร็จแล้วเข้าสู่ Pivot Table อีกทีครับ

    Append เพื่อรวมตารางแบบเพิ่มแถว

    วิธี Append ก็ให้สร้าง Query 2 ตารางขึ้นมาก่อน ตารางไหนยังไม่เอาผลลัพธ์ออกมาก็ทำแบบ Connection Only ไว้ เช่น อาจทำให้เป็น Connection Only ทั้งคู่เลย แล้วกดคลิ๊กขวาที่ Query ตัวแรก แล้วเลือก Append กับ Query ตัวอื่นๆ

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 177
    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 178

    แล้วเราก็จะได้ Query ใหม่ ที่เป็นผลลัพธ์จากการ Append 2 ตารางเข้าด้วยกัน (เอามาต่อแถวกัน)

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 179

    จากนั้นก็เอาผลลัพธ์ออกไปใช้ใน Pivot Table ได้

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 180

    ถ้ามีหลายตารางที่มีความสัมพันธ์กันจะติ๊ก Add this Data to the Data Model ด้วยก็ได้

    Merge เพื่อรวมตารางแบบเพิ่มคอลัมน์

    การจะ Merge ก็ให้สร้าง Query 2 ตารางขึ้นมาก่อน ตารางไหนยังไม่เอาผลลัพธ์ออกมาก็ทำแบบ Connection Only ไว้

    จากนั้นกดที่ Query แรกแล้วคลิ๊กขวาเลือก Merge กับ Query ตัวที่สอง ที่สำคัญคือต้องเลือกด้วยว่าคอลัมน์ไหนคือตัวเชื่อมกัน และเลือก JoinKind ด้วย ซึ่งปกติก็จะเป็น Left Outer Join แบบนี้แหละ ok ได้เลย

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 181

    ผลลัพธ์จะออกมาเป็น Table ก่อน

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 182

    ให้เราคลิ๊กที่มุมขวาบนของคอลัมน์เพื่อ Expand เอาข้อมูลออกมา

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 183

    แล้วเราก็จะได้ผลลัพธ์คล้ายๆ กับ VLOOKUP เลย (แต่ถ้าตารางอ้างอิงมีหลายบรรทัด มันจะมาทุกบรรทัดนะ ต่างจาก VLOOKUP ที่จะมาแค่อันบนสุด)

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 184

    จากนั้นก็ Load เอาผลลัพธ์เข้า Pivot Table ได้เลย

    4 วิธีสร้าง PivotTable จากข้อมูลหลายตาราง 185

    วิธีที่ 3 : ใช้ Microsoft Query

    วิธีสร้าง PivotTable จากข้อมูลหลายตารางด้วย Microsoft Query เหมาะกับคนที่ไม่มี Power Query ให้ใช้ เช่นคนที่มี Excel Version เก่ามากๆ นั่นเองครับ

    วิธีการทำมีดังนี้

    1. เรียกใช้ Microsoft Query โดยไปที่ Data => Get External Data => From Other Source => From Microsoft Query (Excel Version ใหม่จะไม่มีเมนูนี้แล้ว)
    2. ดับเบิ้ลคลิ๊กที่ Excel File* แล้วเลือกไฟล์ Excel ที่ต้องการ
      • ปกติเลือกไฟล์ที่ทำงานอยู่ก็ได้ แต่ถ้าใครกดไม่ได้ให้เปิดจากไฟล์อื่น)
      • ถ้ามี Error บอกว่าหา Table ไม่เจอ ให้เลือก Option แล้วติ๊ก System Table ด้วย
        table-option
    3. เลือก Table ซักอัน แล้วกด > เพื่อ Add Field (ในที่นี้ของผมมีปัญหากับ field ภาษาไทย ผมเลยต้องเปลี่ยนชื่อ Field เป็นภาษาอังกฤษ)
      Microsoft Query-01
    4. กด Next ไปจนหน้าสุดท้าย ให้เปลี่ยนเป็นเลือกดู Query ก่อน
      Microsoft Query-02
    5. กด SQL แล้วแก้ Code ให้เป็นดังนี้
      SELECT *
      FROM ‘pathของไฟล์’.’ชื่อชีทแรก(ตามที่มันแสดง)’ ‘ชื่อชีทแรก(ตามที่มันแสดง)’
      UNION ALL
      SELECT *
      FROM ‘pathของไฟล์’.’ชื่อชีทสอง(ตามที่มันแสดง)’ ‘ชื่อชีทสอง(ตามที่มันแสดง)’
      Microsoft Query-03
    6. ของผมจะได้เป็นแบบนี้
      SELECT *
      FROM ‘D:\INWEXCEL\PIVOT\multiple-pivot-data2.xlsx’.’Month1$’ ‘Month1$’
      UNION ALL
      SELECT *
      FROM ‘D:\INWEXCEL\PIVOT\multiple-pivot-data2.xlsx’.’Month2$’ ‘Month2$’
    7. แล้วกด OK แล้วมันจะบอกว่าไม่สามารถแสดงผลได้นะ ให้ OK อีกที
    8. จากนั้นไปที่ file => return data to excel
      Microsoft Query-04
    9. เลือกให้ส่งเข้า PivotTable ไปเลยก็ได้ (ถ้าเลือกเป็น Table มันจะออกมาเป็นตารางก่อน)
      Microsoft Query-05
    10. จากนั้นก็หมุน PivotTable ทุกอย่างได้ตามปกติ
      Microsoft Query-06

    วิธีการใช้ Microsoft Query นี้ สามารถนำมาประยุกต์ได้เยอะแยะ เช่น มี 2 ตารางแยกกันอยู่ อยากเอามาผูกกันโดยไม่ต้องใช้ VLOOKUP ก็ยังได้เลยครับ โดยมีทั้งแบบลากเส้นเชื่อมเองใน Editor หรือจะเขียน SQL เอง ก็ได้ (ภาษา SQL ทำได้แทบทุกอย่าง แต่อาจต้องศึกษาเยอะหน่อย)

    วิธีที่ 4 : ใช้ Multiple Consolidation Ranges (PivotTable Wizard เหมาะกับ Excel เก่า)

    วิธีสร้าง PivotTable จากข้อมูลหลายตารางด้วยตัวเลือก Multiple Consolidation Ranges ในคำสั่ง PivotTable Wizard เป็นวิธีที่มีข้อจำกัดมากที่สุด ผมจึงไม่แนะนำครับ แค่จะเอาให้ดูเฉยๆ ว่าในอดีตมันทำแบบนี้ได้

    วิธีทำแบบสั้นๆ

    กด Alt, D, P เพื่อเรียก PivotTable Wizard แล้วเลือก Multiple Consolidation Ranges
    consolidate-range

    เพื่อความง่ายเลือก Create a single page field for me ไปเลยก็ได้ครับ

    เลือก Range ที่ต้องการ แล้วกด Add โดยทำทีละ source พอเสร็จแล้วก็กด Next จนจบกระบวนการ
    select-range

    คุณจะได้ PivotTable หน้าตาประหลาดมา 1 อัน ดังนี้
    first-result2

    ผลลัพธ์ที่ได้ มีข้อจำกัดดังนี้ 

    • Field แรกใน Data Source ต้องมาเป็น Row Item Label เสมอ
    • Field ที่เหลืออันอื่นจะมาอยู่ใน Column Label เสมอ (มาเป็นชุดถ้าเอาออกต้องเอาออกหมดเลย)
    • การสรุปผล เช่น SUM, COUNT เปลี่ยนได้ แต่เปลี่ยนแล้วเท่ากับเปลี่ยนให้กับทุก Field เลย ไม่สามารถทำให้แต่ละ Field ไม่เหมือนกันได้
    • Field Page 1 แค่เป็นตัว Filter เลือกแต่ละ Data Source เฉยๆ เอาออกก็ได้

    วิธีปรับแต่ง Data Source เพื่อทำให้แสดงผลดีขึ้นภายใต้ข้อจำกัดที่มี

    • เอา Item ที่ต้องการไว้เป็น Row Item Label ไว้ Field แรกเสมอ
    • ย้าย Field ที่ไม่ต้องการไปทางขวาๆ แล้วตอนเลือก Range ไม่ต้องเลือกมัน

    ผมลองทำแล้ว ก็พอจะได้ผลลัพธ์ที่ ok ขึ้น ดังนี้ (ผมแยกแต่ละชีทเป็นคนละเดือน ดังนั้นเลยเอา Page1 มาใส่เป็นเดือนได้)
    first-result3

    สรุปแล้วจะเห็นว่าวิธี Multiple Consolidation Ranges นั้นมีข้อจำกัดมากเลยนะครับ เห็นมะ อย่าใช้เลย 555

    เพื่อนๆ ชอบแบบไหน หรือผสมแบบไหนดี?

    ส่วนตัวผมชอบใช้ Power Query จัดข้อมูลให้เรียบร้อยก่อน แล้วค่อยส่งเข้า Data Model ไปทำต่อครับ พูดง่ายๆ คือ Step เหมือน Power BI เป๊ะเลย

    เพื่อนๆ ชอบแบบไหนกันบ้างครับ อย่าลืม Comment บอกด้วยนะ

  • เทคนิคการใช้ Mail Merge ดึงข้อมูลจาก Excel โปรยลงแบบฟอร์มใน Word

    เทคนิคการใช้ Mail Merge ดึงข้อมูลจาก Excel โปรยลงแบบฟอร์มใน Word

    จากที่ผมได้ post ใน Fanpage ไปว่า “มีใครอยากรู้เรื่องเทคนิคการใช้เครื่องมือ Mail Merge เพื่อดึงข้อมูลจาก Excel ไปโปรยลงแบบฟอร์มใน Microsoft Word มั้ยครับ? (แล้วเราก็ Print เอกสารออกมาหลายๆ ชุดได้ เช่น Print ใบแจ้งหนี้/ใบเสร็จให้ลูกค้า)”

    ปรากฏว่ามีคนสนใจเป็นจำนวนมาก แสดงว่ามีคนที่ยังไม่ได้ใช้ประโยชน์จากเครื่องมือนี้อยู่พอสมควรเลย ซึ่งน่าเสียดายมากๆ เพราะมันมีประโยชน์สุดๆ

    ต้องบอกก่อนว่า เทคนิคนี้เป็นเครื่องมือใน Microsoft Word แต่ผมไม่ใช่ผู้เชี่ยวชาญ Word ดังนั้น หากใครเห็นว่ามีวิธีที่ดีกว่าที่ผมแนะนำ ก็สามารถบอกมาเป็นวิทยาทานให้ผมและคนอื่นๆ ได้รู้ด้วยนะครับ

    เอาล่ะ เกริ่นมามากแล้ว เพื่อไม่ให้เสียเวลา เราไปดูกันเลย เอาเป็นว่าวันนี้ inwexcel ขอพูดเรื่อง Word บ้างล่ะ 555

    Mail Merge คืออะไร?

    Mail Merge คือความสามารถหนึ่งของ Microsoft Word ที่สามารถดึงข้อมูลจาก Database ต่างๆ (รวมถึงข้อมูลใน Excel) ที่มีข้อมูลหลายๆ Record (บรรทัด)  มาโปรยลงแบบฟอร์มที่ได้เตรียมเอาไว้ใน Microsoft Word ได้ ซึ่งเราสามารถเอามาประยุกต์ทำเรื่องต่างๆ ได้มากมาย โดยมี Concept ดังนี้

    mail merge
    • ทำใบแจ้งหนี้/ใบเสร็จให้ลูกค้า/สัญญา
      ซึ่งกรณีนี้ กระดาษ 1 ชุด ก็จะรองรับข้อมูลลูกค้า 1 Record ถ้ามีลูกค้าหลายคนในฐานข้อมูลก็สามารถ Print ทีเดียวออกมาเป็นสิบเป็นร้อยคนได้สบายๆ
    • ทำเป็น Label เพื่อติดจดหมายต่างๆ
      ซึ่งในกรณีหลัง กระดาษ 1 ใบ ก็จะสามารถมีข้อมูลหลาย record รวมกันได้

    Mail Merge ดียังไง?

    การใช้ Mail Merge เป็นการเสริมจุดแข็ง และปิดจุดอ่อนของ Word ได้เป็นอย่างดี

    เสริมจุดแข็ง :  Word สามารถจัดข้อมูลลงหน้ากระดาษเพื่อ Print ได้สวยงามกว่าการใช้ Excel มาก ทำให้เราสามารถ ใส่ความคิดสร้างสรรค์เรื่องความสวยงามได้เต็มที่ (คิดดูว่าการจัดหน้าใน Excel เพื่อ Print มันน่าปวดหัวแค่ไหน)

    ปิดจุดอ่อน : โยนเรื่องที่ Word ไม่ถนัดให้ไปอยู่ที่โปรแกรมอื่นให้หมด เช่น ความสามารถในการคำนวณ หรือ เรื่องความเป็นระเบียบของข้อมูล ก็ให้ไปอยู่ในฐานข้อมูลให้หมด (ใน Word แม้จะคำนวณได้ แต่ยาก และจำกัดมากๆ )

    วิธีการใช้ Mail Merge

    มี 3 ขั้นตอนใหญ่ๆ

    1. เตรียมแบบฟอร์มใน Word
    2. เตรียมฐานข้อมูล ให้มีข้อมูลเพียงพอกับฟอร์ม
    3. ใช้ Mail Merge เพิ่ม Field ลงบนแบบฟอร์มใน Word
    4. กดดูตัวอย่าง
    5. ปรับแต่ง ถ้าจำเป็น

    เรามาดูขั้นแรกกัน

    1. เตรียมแบบฟอร์มใน Word

    สมมติว่าผมเป็นบริษัทขายผลไม้ ต้องการทำใบเสร็จ โดยมีหน้าตาและข้อความประมาณนี้

    form-draft

    2. เตรียมฐานข้อมูล ให้มีข้อมูลเพียงพอกับฟอร์ม

    ต่อมา ผมก็ไปเตรียมฐานข้อมูลใน Excel ให้มีข้อมูลที่น่าจะเพียงพอกับฟอร์มของผม สมมติว่าได้แบบนี้ แล้ว Save เก็บไว้

    database

    3. ใช้ Mail Merge เพิ่ม Field ลงบนแบบฟอร์มใน Word

    ต่อมา ผมก็ต้องใช้ Mail Merge เพิ่ม Field ที่ต้องการลงในแต่ละส่วนของแบบฟอร์ม โดยไปที่ Word ที่เตรียมไว้แล้วไปที่ Ribbon [Mailings] –> Start Mail Merge

    จากนั้นมันจะให้เลือก Document Type ซึ่งแต่ละอันต่างกันดังนี้

    • Letters : ลักษณะคล้ายๆจดหมาย ที่แต่ละคนข้อความจะไม่เหมือนกันได้ (เพื่อ Print)
    • E-mail Messages : คล้ายข้างบน แต่เป็นเพื่อส่ง E-Mail แทน
    • Envelops : ทำซองจดหมาย (Template ที่มีจะเป็น Size จดหมาย)
    • Labels : ทำ Label (1 หน้ามีหลายราย เช่น เป็น Sticker เอาไว้แปะ Template ที่มีจะเป็น Size Label)
    • Directory : เป็นลักษณะ list คล้ายๆ ตาราง (1 หน้ามีหลายราย)
    • Step by Step : เป็น Wizard ช่วยนำทางให้เรา แต่ผมว่ามันไม่ได้เข้าใจง่ายขึ้นเลย
    start-mail-merge

    เราต้องการทำพวกใบเสร็จ มันจะคล้ายๆ กับ Letter เพราะต้องเอาไปพิมพ์ออกมาหลายๆ ชุด ในที่นี้จึงให้เลือกเป็น Letter ครับ

    จากนั้นให้เลือก Database เพื่อเชื่อมข้อมูล โดยไปที่ Select Recipients แล้ว Use an Existing List

    select-list

    จากนั้น เลือกไฟล์ Excel ที่เตรียมไว้ แล้วเลือก Sheet ให้ถูกต้อง

    จากนั้นให้ Highlight ข้อความส่วนที่ต้องการจะ Link กับ Database แล้วเลือก Insert Merge Field แล้วเลือก field ที่ต้องการเชื่อมต่อด้วย

    insert-merge-field

    มันจะมีสัญลักษณ์ <<ชื่อ field >> ขึ้นมาแทน นั่นแปลว่า มันกำลัง Link กับ Field นั้นแล้ว

    insert-merge-field2-fix

    ทำให้ครบทุก Field สุดท้ายจะได้แบบนี้

    insert-merge-field3

    ถ้าลองกด Highlight Merge Field ดูจะเห็นชัดขึ้น

    insert-merge-field4

    4. กดดูตัวอย่าง

    ทีนี้ลองทดสอบดูว่าข้อมูลมามั้ย? โดยไปที่ Preview Results

    preview-result

    และถ้ากดปุ่ม Next มันก็ควรจะดึงข้อมูล record ถัดไปมาให้

    preview-result2

    ถ้าเป็นแบบนี้ แสดงว่าการเชื่อมต่อข้อมูลน่าจะถูกต้องแล้วล่ะ

    5. ปรับแต่งถ้าจำเป็น

    จริงๆ ถ้าไม่คิดอะไรมาก ก็น่าจะจบงานได้แล้ว แต่กรณีนี้ ยังมีสิ่งที่ผมต้องการทำแต่ยังไม่ได้ดั่งใจ 3 เรื่อง คือ

    1. ผมต้องการแสดงวันที่ในรูปแบบ 31 พฤษภาคม พ.ศ. 2559 แทน
    2. ผมต้องการแสดงราคาตัวเลขมีทศนิยม 2 ตำแหน่ง
    3. ผมต้องการแสดงราคาบาทเป็นข้อความภาษาไทยด้วย

    วิธีแก้ 3 ประเด็นนี้ จริงๆ แล้วบางอันทำใน Word ก็ได้ โดยการกำหนด Format ใน Field Code

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

    แต่ถ้าหากผมลองเปลี่ยน Number Format ใน Excel ให้เป็นแบบที่ต้องการ เช่น เป็นวันที่แบบเต็ม และราคามีจุดทศนิยม

    เวลาเข้ามาคลิ๊ก Next / Previous ดูใน Word ก็ยังคงแสดงวันที่และเลขตามปกติอยู่ดี เพราะมันเอาค่าแบบ General ไปแสดงเท่านั้น (ถ้าลองเปลี่ยนค่าไปเลยมันจะเปลี่ยนตามแล้ว แต่ Format ไม่เปลี่ยนตาม)

    database2

    เคล็ดลับระดับเทพ

    ดังนั้น วิธีที่ผมแนะนำ เพราะสำหรับผมมันง่ายสุดแล้ว คือ

    ผมจะเตรียมให้ข้อมูลทุกอย่างใน Excel ให้อยู่ในรปแบบที่ผมต้องการโดยต้องเป็น Text ทั้งหมด แล้วค่อยส่งไปแสดงผลตรงๆใน Word โดยที่ใน Word ไม่ต้องมีการกำหนด Format อะไรอีกเลย

    Key สำคัญคือต้องทำให้เป็น Text ให้หมด อะไรที่เดิมเป็นตัวเลขและวันที่ ผมจะใช้ฟังก์ชั่น TEXT มาช่วย เพื่อแปลงให้มันอยู่ในรูปแบบที่ผมต้องการเลย ซึ่งเราจะต้องรู้ว่าต้องระบุ Custom Format ยังไง

    แต่ก็ไม่ใช่เรื่องยากอย่างที่คิด เพราะเราสามารถเลือก Standard Format แบบที่ต้องการก่อน แล้วค่อยไปเลือก Custom Format เพื่อดู Code ที่จะต้องใช้อีกทีก็ได้

    เช่น จากวันที่ 31 มีนาคม 2559 พอไปเลือก Custom จะเห็นว่าเป็น Code [$-th-TH,107]d mmmm yyyy;@ ก็เอาไปใช้ในฟังก์ชั่น TEXT ได้เลย เช่น

    custom-format

    ผมก็เอาไปใช้กับฟังก์ชั่น Text ดังนี้
    =TEXT(B6,”[$-th-TH,107]d mmmm yyyy;@”)
    ซึ่งจะทำให้ field วันที่-new เป็นข้อความจริงๆ ไม่ใช่ตัวเลขแล้ว

    database3

    ทีนี้กลับไปใน Word ผมก็ต้อง link Field ใหม่แทนอันเดิม แต่ผมต้องไป Select Recipient ใหม่ด้วย เพื่อให้มันเห็น Field ใหม่ที่เราเพิ่งเพิ่มเข้าไปก่อน

    insert-merge-field5

    แล้วก็กด Preview ดู ทุกอย่างก็ออกมาในรูปแบบที่ได้ดั่งใจ โดยที่เราไม่ต้องรู้เรื่อง Field Code ใน Word เลยแม้แต่น้อย!

    preview-result3

    คราวนี้เวลาจะ Print เพื่อจบงาน ก็ให้ไปที่ Finish & Merge แล้วเลือก Print Documents ได้เลยครับ แล้วมันจะให้เลือกว่าจะ Print Record ไหนบ้าง (ปกติก็ All ได้เลย)

    print

    เพียงเท่านี้คุณก็สามารถสร้างใบเสร็จรับเงินให้ลูกค้านับสิบนับร้อยได้อย่างสบายๆ ครับ

    แล้วถ้าอยากทำพวก Label ต้องทำไง?

    จริงๆ แล้ว Label ก็จะคล้ายกับการทำ Letters ครับ เพีงแต่จะมีการใส่ Field ลงไปหลายชุดซ้ำๆ กันลงในตารางที่เตรียมไว้

    แต่ Key หลัก คือ จะมีการระบุ Code <<Next Record>> เพื่อบ่งบอกว่า ส่วนต่อจากคำนั้น จะต้องดึงข้อมูลจาก Record ถัดไปแล้ว (แม้จะยังอยู่หน้าเดิม)  โดยสามารถระบุเองได้โดยไปที่ Rules -> Next Record ครับ

    และนี่คือตัวอย่างที่ผมใช้ Label มา Print เวลามีคนสั่งซื้อหนังสือจากผมครับ

    label

    จะเห็นว่าการใช้ Mail Merge นั้นไม่ได้ยากมากอย่างที่คิด หากคุณจัดการ Format ใน Excel ให้เรียบร้อย การส่งมาพิมพ์ใน Word ก็จะหมูมากๆ ครับ

  • 7 ข้อควรระวังใน Excel ที่คุณอาจเผลอทำผิดโดยไม่รู้ตัว!

    รู้หรือไม่ว่า บางเรื่องแม้ดูเหมือนง่าย และน่าจะเป็นไปตาม Common Sense ของเรา ในความเป็นจริง Excel อาจไม่ได้ทำงานแบบที่เราคิดก็ได้ จนในที่สุดก็ทำให้เกิดความผิดพลาดได้…

    ผมจึงอยากจะแบ่งปันข้อควรระวังในการใช้ Excel ไว้ให้ดี เพื่อที่ว่าเวลาเราใช้ Excel ทำงานจะได้ไม่ทำผิดกัน

    หลายๆ เรื่องในนี้ผมเคยสรุปไว้ให้ในหนังสือ Excel Level Up! ไปแล้ว (บางเรื่องก็ยังไม่เคยพูด) ก็เลยขอนำมาพูดสรุปให้อีกทีแล้วกันครับ ^^

    เรื่องที่ 1 : ตัวพิมพ์ใหญ่ = ตัวพิมพ์เล็ก

    strange01fix

    เรื่องนี้หลายคนอาจไม่ได้สังเกต เพราะดูเป็นเรื่องง่ายๆ แค่ใช้เครื่องหมายเท่ากับ ซึ่งตามหลัก Common Sense แล้ว เครื่องหมายเท่ากับก็เอาไว้เช็คว่าสองช่องมันเท่ากันรึเปล่า… ไม่ใช่เหรอไง?

    แต่คำว่าเท่ากันของ Excel มันกลับมองว่าตัวพิมพ์ใหญ่ตัวพิมพ์เล็กไม่มีผลครับ ดังนั้นมันจึงมองคำว่า Dog และ dog ว่าเท่ากันด้วยเครื่องหมายเท่ากับซะงั้น! (ตามรูปให้ผลเป็น TRUE)

    ทางแก้ หากเราต้องการเช็คว่ามันท่ากันเป๊ะๆ รึเปล่า แบบสนใจตัวพิมพ์เล็กพิมพ์ใหญ่ด้วย เราต้องใช้ฟังก์ชั่น EXACT มาช่วยครับ ซึ่งตามรูปจะได้ผลเป็น FALSE

    เรื่องที่ 2 : เมื่อ 50 อาจไม่เท่ากับ 50

    strange02fix

    บางทีสิ่งที่เราเห็น อาจไม่ใช่สิ่งที่เป็นจริง เลข 50 เหมือนกันแท้ๆ กลับสามารถให้ผลลัพธ์เป็น FALSE ซึ่งบ่งบอกว่าไม่เท่ากันได้ด้วย

    สาเหตุมาจากทั้งสองช่องนี้มีประเภทของข้อมูลที่ต่างกันนั่นเอง ซึ่งวิธีเช็คประเภทของข้อมูลที่ดีที่สุดคือใช้ฟังก์ชั่น TYPE มาช่วยเช็คครับ

    เรื่องที่ 3 : ฟังก์ชั่น NPV ห้ามใส่ Cashflow ปีที่0

    หลายๆ คนที่เคยผ่านวิชาทางด้านการเงินมา น่าจะคุ้นๆ กับคำศัพธ์ที่มีชื่อเท่ๆว่า NPV (Net Present Value) มาบ้างแล้วล่ะ แต่สำหรับคนที่ไม่รู้จัก ผมก็อยากจะลองแนะนำให้ไปศึกษาดูนะครับ เพราะมันเป็นตัวสามารถช่วยบอกได้ว่าโปรเจคหรือการลงทุนที่เรากำลังสนใจนั้น น่าลงทุนหรือไม่? ซึ่งมีประโยชน์มั่กๆ

    โดยวิธีการตีความคือ ถ้า NPV มีค่ามากกว่า 0 ถือว่าน่าสนใจ (ภายใต้ Discount Rate หรืออัตราค่าเสียโอกาสของเงินที่กำหนด) แต่ประเด็นไม่ใช่ตรงนี้ครับ

    strange03

    ประเด็นที่ควรระวังคือ เจ้าฟังก์ชั่น NPV ใน Excel เนี่ย เวลาลากช่วง Cashflow ห้ามใส่ Cashflow ปีที่ 0 เข้าไปด้วยเด็ดขาด โดยเมื่อคำนวณด้วยฟังก์ชั่น NPV เสร็จแล้ว ให้เอาค่าที่ได้มาบวกด้วย Cashflow ปีที่ 0 อีกที ถึงจะได้ NPV ที่ตรงกับตำราทางการเงินครับ

    เรื่องที่ 4 : WORKDAY + NETWORKDAYS <> End Date

    strange04

    คราวนี้เป็นเรื่องของฟังก์ชั่นเกี่ยวกับวันที่บ้างครับ ซึ่งมีฟังก์ชั่น 2 ตัวที่ทำหน้าที่เกี่ยวกับเรื่องจำนวนวันทำงาน โดยมันทั้ง 2 ทำงานเหมือนเป็นพี่น้องกัน คือ

    • NETWORKDAYS ใช้เมื่อรู้วันเริ่ม และ รู้วันจบ อยากหาจำนวนวันทำการ
    • WORKDAY ใช้เมื่อรู้วันเริ่ม และระยะเวลาวันทำการ เอาไว้หาวันจบ

    แต่ที่แปลกคือ ถ้าลองเอา WORKDAY มาใช้วันเริ่มเดียวกันกับ NETWORKDAYS แต่บวกจำนวนวันทำการที่ได้จาก NETWORKDAYS เข้าไป มันกลับได้วันจบเป็นคนละวันกันซะงั้น!

    สาเหตุเพราะว่า ไอ้ฟังก์ชั่น 2 ตัวนี้ ดันมีเกณฑ์การนับวันไม่เหมือนกัน โดย NETWORKDAYS จะนับวันเริ่มด้วยเสมอ ส่วน WORKDAY ไม่นับวันเริ่มนั่นเอง

    เรื่องที่ 5 : ระวัง Calculated Field ใน Grand Total ของ PivotTable ให้ดี

    สมมติว่าผมอยากคำนวณค่า Commission 10% ของยอดขาย โดยมีเงื่อนไขว่าต้องทำยอดขายรวมทุกสินค้าได้มากกว่า 3000 บาท จึงจะได้รับเงินนี้ไป

    หากผมใช้ Calculated Field ใน PivotTable ผมสามารถใส่สูตร IF ซ้อนลงไปได้ว่า เอาา ถ้าบอดขายมากกว่า 3000 ก็ให้เอายอดขายไปคูณ 10% นะ ไม่งั้นก็ให้เป็น 0 ไป

    strange06-1

    สิ่งที่ออกมานั้นดูดีเลยครับ คือ Sales ง ที่ยอดขายไม่เกิน 3000 ก็อด Commission ไป แต่สิ่งที่แปลกสุดๆ คือ เจ้า Grand Total ของ Commission มันดันให้ค่าที่ผิดพลาด โดยได้ค่าไม่เท่ากับผลรวมของ Commission ของ Sales ทุกคน

    สาเหตุเพราะเวลาที่ Excel คำนวณ มันดันเอาค่ายอดขาย Grand Total ไปใส่ใน IF แล้วเทียบว่าเกิน 3000 เลยเอา 10% ไปคูณตรงๆ ซะงั้น!! ผิดไปเลยครับแบบนี้

    strange06-2

    วิธีแก้ของเรื่องนี้ คือ อย่าไปสนใจ Grand Total … แต่ถ้าทำไม่ได้ ก็ต้องไปใช้วิธีอื่นแทน เช่น เขียนสูตรลงไปในตารางข้อมูลก่อนจะเอามา Pivot เลยก็ได้ โดยอาจใช้พวก SUMIFS มาช่วย เพื่อหายอดขายรวมราย Sales แต่ละคนให้ได้ว่าเกิน 3000 หรือไม่ เป็นต้น

    เรื่องที่ 6 : VLOOKUP พัง!

    ปัญหาเรื่อง VLOOKUP พังนี่เกิดได้จากหลายสาเหตุมากๆ ครับ ดังนี้

    สาเหตุที่มักพบบ่อย

    1. ประเภทข้อมูลของ Lookup Value กับ ค่าคอลัมน์แรกใน Table_Array ไม่ตรงกัน
      strange05-1
      ทางแก้คือ ต้องทำให้ประเภทข้อมูลตรงกัน ไม่แก้ที่ตารางอ้างอิง ก็ต้องแก้ที่ lookup_value ครับ
    2. ไม่ได้ Fix ตำแหน่งตารางอ้างอิง (Table_Array)
      strange05-2
    3. เผลอใช้โหมด Approximate Match แทน Exact Match โดยไม่ได้เจตนา
      (เพราะ Approximate Match คือโหมด Default ถ้าไม่ได้ระบุ Argument สุดท้ายให้เป็น 0 หรือ FALSE)
      strange05-3
      ทางแก้คือ ต้องฝึกใส่ Argument สุดท้ายให้เป็นนิสัย และอย่าลืมสังเกตว่ามี #N/A ขึ้นมาบ้างมั้ย? ถ้าไม่มีเลยแสดงว่าน่าสงสัยละ 555
    4. มีการแทรกคอลัมน์ใน Table_Array หลังเขียนสูตร VLOOKUP ไปแล้ว
      strange05-4
      ตัวนี้มีทางแก้ที่ดีคือ ใช้ MATCH มาช่วยในส่วนของ Col_Index_Num แทนครับ เวลาแทรกคอลัมน์จะไม่ทำให้สูตรพัง เพราะ MATCH จะคอยหาว่าตอนนี้เป็นคอลัมน์ลำดับที่เท่าไหร่แล้ว

    เรื่องที่ 7 : ไม่ได้ Calculate

    เรื่องสุดท้าย เป็นเรื่องที่ไม่น่าจะผิด แต่ผมเจอบ่อยพอสมควร นั่นคือ เผลอไปตั้งค่าการคำนวณให้เป็นแบบ Manual แล้วลืมกด F9 เพื่อ Calculate!

    strange07

    หลายคนเขียนสูตรแล้วก็งงว่าทำไมผลลัพธ์ไม่เปลี่ยน หรือ ถ้าผิดรุนแรงบางทีอาจเผลอบอกคำตอบคนอื่น หรือส่งงานแบบผิดๆ โดยที่ Excel ยังไม่ทันคำนวณอะไรเลยก็ได้!!

    หลายคนสงสัยว่า เฮ้ย! ตัวเองไม่เคยไปกดเปลี่ยนโหมดในการ Calculate ให้เป็น Manual เลย แล้วมันจะเกิดเหตุการณ์นี้ได้ยังไง? ผมมีคำตอบให้ครับ

    วิธีที่ Excel ใช้ตัดสินใจโหมดในการทำงาน

    หลักการสำคัญคือ ทุกไฟล์ที่เปิดอยู่ต้องอยู่ในโหมดการคำนวณแบบเดียวกันทั้งหมด ซึ่งมีรายละเอียดดังนี้calculation-mode-fix

    • เมื่อเปิดไฟล์แรกขึ้นมา Excel จะยึดเอาโหมดการคำนวณจากไฟล์นั้น (ที่ Save ไว้ล่าสุด) มาเป็นโหมดการคำนวณในปัจจุบัน
    • ไฟล์ที่เปิดตามหลังมาทั้งหมดจะยึดโหมดการคำนวณจากไฟล์แรกที่เปิด (เพราะเป็นโหมดการคำนวณปัจจุบัน)
    • เวลาเปลี่ยนโหมด Cal ที่ไฟล์ใดไฟล์หนึ่ง จะเป็นการเปลี่ยนโหมดการคำนวณของทุกไฟล์ที่เปิดอยู่ทั้งหมด และเปลี่ยนทุกชีทด้วย
    • ถ้าปิดไฟล์ทั้งหมดลงแล้วสร้างไฟล์ใหม่ขึ้นมา มันจะยึดตามโหมดการคำนวณล่าสุด
    • ถ้ามีการ Save ไฟล์ มันจะบันทึกโหมดการคำนวณล่าสุด ณ ปัจจุบันลงในไฟล์นั้น

    สรุปมาจาก https://support.microsoft.com/en-us/kb/214395

    เอาล่ะครับ ก็จบไปแล้วกับ 7 ข้อควรระวังใน Excel ที่คุณอาจเผลอทำผิดโดยไม่รู้ตัว! หวังว่าเมื่อรู้ “เจ็ด”ข้อนี้แล้ว จะไม่ทำให้คุณ”เจ็บ”ในการทำงานนะครับ

    ขอให้โชคดี ทำงานเสร็จรวดเร็วและไม่ผิดพลาดนะครับ!

  • IF vs CHOOSE vs VLOOKUP เปรียบเทียบฟังก์ชั่นทำหน้าที่ตัดสินใจ

    IF vs CHOOSE vs VLOOKUP เปรียบเทียบฟังก์ชั่นทำหน้าที่ตัดสินใจ

    “ชีวิตคนเราเต็มไปด้วยการตัดสินใจ…” จริงๆ แล้วคนเราตัดสินใจอยู่ตลอดเวลา (บางทีก็ตัดสินใจที่จะอยู่เฉยๆ 555) บางทีเราก็ต้องเลือกระหว่าง Choice 2 อย่าง แต่บางทีก็มี Choice มากมายนับไม่ถ้วน…

    การทำงานกับ Excel ก็เช่นกัน หลายๆ ครั้งเราก็ต้องตัดสินใจ “ว่าถ้าข้อมูลเป็นแบบนี้ๆ แล้วจะให้เกิดเหตุการณ์อะไรขึ้น??”

    ซึ่งจริงๆ แล้วการตัดสินใจใน Excel นั้นมีฟังก์ชั่นที่มาช่วยในเรื่องนี้หลายตัวด้วยกัน แต่ในบทความนี้ผมจะขอยกตัวอย่างฟังก์ชั่นที่น่าสนใจมากๆ 3 อัน นั่นคือ IF, CHOOSE, และ VLOOKUP นั่นเอง ซึ่งผมบอกเลยว่า นี่คือ “หัวใจสำคัญ” ที่จะทำให้คุณใช้ Excel ได้เก่งกาจขึ้นอีกมากครับ!!

    ก่อนอื่น ขอเริ่มจากฟังก์ชั่นพื้นฐานที่สำคัญที่สุดในการคิดแบบตัดสินใจ นั่นคือ IF ครับ

    IF

    IF แปลได้ตรงๆ ว่า “ถ้า” ซึ่งความหมายและหน้าที่ของฟังก์ชั่นก็ตรงตามคำศัพท์ครับ นั่นคือ “ถ้า เงื่อนไขเป็นจริง แล้วจะใช้สูตร xxx แต่ถ้าไม่จริงจะใช้สูตร yyy”

    พูดง่ายๆ ว่า มีทางแยกในการตัดสินใจ แค่ 2 ทาง คือ ถ้าเงื่อนไขเป็นจริง ก็ไปทางหนึ่ง ถ้าเป็นเท็จก็ไปอีกทางหนึ่ง เหมือนว่าเราเดินมาเจอทางแยกที่มีป้ายบอกทางชี้ไปซ้ายกับขวา… และการที่เราจะไปต่อทางไหน ก็ขึ้นอยู่กับเงื่อนไขที่กำหนดไว้

    ซึ่งเงื่อนไขที่ว่าก็คือสิ่งที่เขียนอยู่ในส่วนของ logical_test ในฟังก์ชั่น IF นั่นเอง ซึ่งจะต้องให้ผลลัพธ์ออกมาได้แค่ 2 อย่าง คือ TRUE กับ FALSE เท่านั้น!

    if
    โครงสร้างฟังก์ชั่น

    =IF(logical_test,value_if_true,value_if_false
    =IF(เงื่อนไขที่ต้องเช็คว่าจริงหรือเท็จ,ถ้าจริงใช้สูตรนี้,ถ้าเท็จใช้สูตรนี้)

    เช่น ถ้า A1 คือ จำนวนงานที่มีตำหนิ ถ้างานมีตำหนิมากกว่า 10 ชิ้น โดนค่าปรับชิ้นละ 5000 บาท แต่ถ้าไม่เกิน 10 ชิ้นจะโดนปรับชิ้นละ 1000 บาท

    ถ้าเราต้องการคำนวณค่าปรับใน A2 จะเขียนสูตรได้ว่า =IF(A1>10,5000*A1,1000*A1)
    ซึ่งแปลได้ว่า ถ้า A1 > 10 ชิ้น (เงื่อนไข) ค่าปรับคือ 5000*A1 (กรณีจริง) แต่ถ้าไม่เกิน ค่าปรับคือ 1000*A1 (กรณีเท็จ) นั่นเอง

    หมายเหตุ : เงื่อนไขอาจมีได้หลายเงื่อนไข ซึ่งเอามาผสมรวมกันได้ด้วยฟังก์ชั่นทางตรรกะ เช่น AND, OR, NOT จนสุดท้ายเหลือออกมาแค่ TRUE/FALSE

    หมายเหตุ 2 : เนื่องจาก IF แยกได้แค่ 2 กิ่ง ถ้าอยากให้ผลลัพธ์มีได้มากกว่า 2 กิ่งให้ใช้ IF ซ้อนกันหลายๆ ชั้น

    CHOOSE

    หาก IF เปรียบเสมือนป้ายทางแยก 2 ทางแล้ว CHOOSE ก็เปรียบเสมือนลิฟท์ ที่มีปุ่มให้เลือกกดว่าจะไปชั้นไหน แล้วแต่ละชั้นจะใช้สูตรอะไร?

    choose

    ที่ผมเปรียบเทียบ CHOOSE เป็นเหมือนลิฟต์ เพราะว่า CHOOSE นั้นเรา จะต้องระบุตัวเลข ให้มันก่อน ว่า จะให้มันทำงานด้วยสูตรลำดับที่เท่าไหร่? (มีได้สูงสุด 254 สูตร!!)

    โครงสร้างฟังก์ชั่น

    =CHOOSE(index_num,value1,value2,value3,…,value254)
    =CHOOSE(เลขลำดับสูตรที่จะให้ใช้,สูตรที่1,สูตรที่2,สูตรที่3,…,สูตรที่254)

    เช่น =CHOOSE(3,A1+2,A1*2,A1/2,A1^2) จะได้ผลลัพธ์ว่า A1/2
    เพราะว่าเราเลือกสูตร ลำดับที่3 จากสูตรทั้งหมดที่มีให้เลือกดังนี

    1. A1+2
    2. A1*2
    3. A1/2
    4. A1^2

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

    VLOOKUP

    ตัวสุดท้ายที่จะพูดถึงคือฟังก์ชั่นสุดเจ๋งอย่าง VLOOKUP ซึ่งจริงๆ แล้วมีการทำงานถึง 2 โหมดด้วยกัน นั่นคือ VLOOKUP แบบ Approximate Match และ แบบ Exact Match

    ซึ่งตัวที่ผมจะขอพูดถึงในที่นี้คือ VLOOKUP แบบ Exact Match ซึ่งเป็นแบบที่เราใช้งานกันบ่อยในชีวิตประจำวันแล้วกันครับ

    ถ้าจะให้เปรียบเทียบ VLOOKUP แบบ Exact Match ผมคิดว่าเราสามารถเปรียบเทียบกับเวลาที่เรากำลังมองไปที่เมนูของร้านกาแฟได้เลยครับ (ตัวอย่างร้านกาแฟนี้ ผมได้แนวคิดมาจากเว็บ http://www.excelcampus.com/functions/excel-vlookup-explained/ ครับ อธิบายได้เห็นภาพมาก)

    vlookup3

    สิ่งที่เราทำคือ เราคิดว่าจะกินกาแฟชนิดไหน จากนั้นก็มองไล่หาชนิดกาแฟที่ต้องการ พอเจอแล้ว ก็ค่อยกวาดสายตาไปทางขวา เพื่อดูอีกทีว่า option แต่ละแบบ ราคาเป็นเท่าไหร่ ซึ่งเรียงกันอยู่ในรูปแบบหลายๆ คอลัมน์ (แถวเดียวกัน คือ กาแฟชนิดเดียวกัน)

    โครงสร้างฟังก์ชั่น

    =VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
    =VLOOKUP(ข้อมูลที่สนใจ,ตารางอ้างอิง,ลำดับคอลัมน์ของผลลัพธ์ที่ต้องการ, อันสุดท้าย ใส่ 0 เพื่อบอกว่าใช้โหมด Exact Match)

    ถ้าเป็นตัวอย่างกาแฟ สมมติว่าผมต้องการกิน Cappuccino (lookup_value) ผมก็จะมองไปที่เมนู (table_array) แล้วกวาดสายตาจากบนลงล่างจนเจอกับ Cappuccino…

    จากนั้นก็จะกวาดสายไปมองไปทางขวา สมมติผมต้องการแบบเย็น ผมก็ต้องมองไปที่คอลัมน์ลำดับที่ 3 (col_index_num) แล้วสุดท้ายก็จะได้ราคา นั่นคือ 65 บาท กลับมานั่นเอง

    ซึ่งจะเขียนเป็นสูตรเต็มๆ ได้ว่า

    =VLOOKUP(“Cappuccino”,เมนูกาแฟ,3,0) ซึ่งจะได้ผลลัพธ์คือ 65 กลับมาครับ

    หมายเหตุ : ผลลัพธ์ของ VLOOKUP สามารถเป็นค่าผลลัพธ์ได้อย่างเดียว ไม่สามารถใส่เป็นสูตรคำนวณเช่นเดียวกับ IF หรือ CHOOSE ได้

    สรุปเปรียบเทียบฟังก์ชั่นแต่ละตัว

    if-vlookup-compare - Excel2

    สรูปแล้วฟังก์ชั่นแต่ละตัวก็มีข้อดีข้อเสียต่างกัน ซึ่งถ้าให้ผมแนะนำว่าควรใช้ตัวไหน ก็ให้ดูว่า ทางแยกตัดสินใจมีมากหรือน้อย ถ้ามีน้อยๆ แค่ 2 ทาง การใช้ IF ก็ค่อนข้างสะดวก

    แต่ถ้ามีหลายทาง ก็ให้ดูว่าผลลัพธ์เป็นค่าธรรมดาหรือเป็นสูตรคำนวณ ถ้าเป็นสูตรคำนวณก็ต้องคิดเอาว่าจะถนัดใช้ IF ซ้อน IF หรือจะใช้ CHOOSE ดีกว่า

    แต่ถ้ามีหลายทางแล้วผลลัพธ์เป็นค่าธรรมดาๆ ไม่ใช่สูตร ก็ใช้ VLOOKUP ได้เลยครับ!!

    สำหรับคนที่อยากศึกษาต่อเพิ่มเติม ก็สามารถค้นหาคำว่า IF, CHOOSE, VLOOKUP ในเว็บผมได้เลยครับ มีให้อ่านอีกเยอะครับ ^^

  • Excel Skill Tree : เส้นทางการเรียนรู้ทักษะ Excel ที่เหมาะสม

    Excel Skill Tree : เส้นทางการเรียนรู้ทักษะ Excel ที่เหมาะสม

    Excel Skill Tree (แผนผังทักษะ Excel)

    เคยงงมั้ยครับว่า Excel มีอะไรให้เรียนรู้มากเหลือเกิน แล้วเราควรจะเรียนรู้อะไรก่อนหลังดี? ปัญหานี้จะหมดไปถ้าเรามาเรียนรู้เรื่องของ Excel Skill Tree หรือ แผนผังทักษะ Excel ครับ

    คำว่า Skill Tree คือ แผนผังการพัฒนาทักษะ ซึ่งจะบอกได้ว่า…การที่เราจะบรรลุแต่ละทักษะนั้น จำเป็นจะต้องผ่านการเรียนรู้ หรือเข้าใจทักษะอื่นๆ อันไหนก่อนบ้าง?

    (หากคุณเคยเล่นเกม RPG มาก่อน คุณน่าจะคุ้นเคยกับ Skill Tree เป็นอย่างดี หากสนใจแบบละเอียด อ่านได้ที่นี่ –> 10 ข้อคิดจากเกมออนไลน์ ใช้พัฒนาความก้าวหน้าทักษะ Excel )

    วิธีการดู Skill Tree

    วิธีการดูก็ให้ดูจากซ้ายไปขวาครับ ด้านซ้ายก็จะเป็นเรื่องที่ค่อนข้าง Basic ไม่จำเป็นต้องรู้อะไรก่อนมากนัก แต่ทักษะด้านขวาๆ จะเป็นเรื่องที่ต้องมีพื้นฐานอื่นก่อนเต็มไปหมดครับ ดังนั้นจะยากกว่าแน่นอน

    ซึ่งในโปรแกรม Excel จริงๆ แล้วมันก็ไม่ได้มีกฎตายตัวหรอกครับว่าต้องรู้อะไรก่อนหลัง แต่รูปข้างล่างนี้เป็นแนวทางที่ผมขออนุญาตแนะนำแล้วกันครับว่าหากเรียนรู้ด้วยลำดับแบบนี้น่าจะดีที่สุดครับ

    Skill-Tree

    โดยที่หากคุณอยากเรียนรู้ทักษะ Block ไหน ก็เลือก Category ที่ Menu ด้านบน หรือ ด้านขวามือ แล้วเลือก Category ที่ต้องการได้เลยครับ

    เปรียบเทียบเนื้อหาในหนังสือกับเนื้อหาแต่ละคอร์สใน SkillLane

    Skill-Tree-course-map

    สายทักษะขั้นสูงของ Excel

    ในเกม RPG ส่วนใหญ่ตัวละครที่เราเลือก ท้ายที่สุดแล้วจะสามารถพัฒนาจนมีความสามารถที่แตกต่างกัน โดยจะแบ่งเป็น “สายอาชีพ” ต่างๆ ซึ่งอาจมีอาชีพขั้นพื้นฐานก่อนแล้วค่อยเติบโตไปเป็นอาชีพขั้นสูง

    การใช้ Excel ก็มีลักษณะคล้ายๆ สายอาชีพในเกม RPG เช่นกัน แต่ผมขอเรียกว่า “สายทักษะ” แทน และมันก็มีสายทักษะขั้นสูงด้วย ซึ่งผมขอแบ่งออกเป็น 3 ทักษะขั้นสูง (ใน Skill Tree จะมีดาวปะอยุ่) ดังนี้

    • VBA : เน้นการแก้ปัญหาด้วยการเขียนโปรแกรมเป็นหลัก ซึ่งคนสายนี้จะทำสิ่งมหัศจรรย์ที่คนทั่วไปมักร้องว้าว! เพราะ VBA ทำได้ทุกอย่างที่คนนั่งถึกๆ ทำได้เหมือนกับเสกเวทย์มนตร์ และยังสามารถทำในสิ่งที่การเขียนสูตรทำไม่ได้อีกด้วย แต่ติดข้อจำกัดตรงที่เป็นกลุ่มทักษะที่ต้องการ Skill ต่างไปจากทักษะ Excel ดั้งเดิมมากที่สุด ทำให้เรียนรู้ยาก และในบางสถานการณ์จะถูกห้ามใช้พลัง VBA โดยสิ้นเชิงเลย (บางทีคนก็ไม่ยอมให้สร้างไฟล์ที่มี VBA)
    • Array Formula : สายที่เน้นการใช้สูตรคำนวณ เก่งการใช้สูตรในการแก้ปัญหามาก สามารถใช้ Array Formula ได้อย่างคล่องแคล่ว คนกลุ่มนี้สามารถรับภารกิจลุยไปได้เกือบทุกพื้นที่ เพราะไม่มีความน่ากลัวแอบแฝงเหมือนกลุ่มนักเขียนโปรแกรม (ไม่ติดข้อจำกัดเรื่องที่ว่าห้ามใช้ VBA) => ซึ่งทักษะนี้ผมมีสอนเป็นคอร์สออนไลน์แล้วครับ
    • PowerTool : สายนี้เน้นการทำงานกับข้อมูลจำนวนมาก มีความเชี่ยวชาญด้านการใช้พวก PowerPivot, DAX Formula/DAX Pattern, Power BI ซึ่งเป็นสุดยอดเครื่องมือในการวิเคราะห์ข้อมูลที่ Excel มีมาให้ด้วย ซึ่งแนวโน้มความต้องการในยุคนี้น่าจะมาแรงมากจากความต้องการเรื่องของ Big Data
    • สายอื่นๆ :  คุณคิดว่ามีอะไรบ้างช่วย Comment บอกทีครับ ^^

    แล้วจะเลือกสายทักษะขั้นสูงอันไหนดี?

    หากใครสามารถวางแผนได้ตั้งแต่เนิ่นๆ ค้นหาตัวเองเจอว่าสุดท้ายแล้วตัวเองจะเลือกสายทักษะอะไรก่อน จะได้เปรียบคนที่โลเลเปลี่ยนไปเปลี่ยนมามาก เพราะคุณจะไม่เสียเวลาไปกับทักษะที่สุดท้ายไม่ได้ส่งเสริมสายอาชีพคุณ (แต่ตอนนี้ผมมีเนื้อหาแค่สาย Array Formula นะครับ อิอิ)

    อย่างไรก็ตาม ถ้ายังหาตัวเองไม่เจอ คุณก็อย่าคิดมาก คุณแค่ยังทำโน่นทำนี่ไม่มากพอ ยังมีประสบการณ์ไม่มากพอ ก็เลยยังไม่รู้จักตัวเองเท่านั้นเอง

    อย่างไรก็ตาม เรื่องของ Demand/Supply ก็เป็นอีกหนึ่งปัจจัยที่ต้องคำนึงถึง เพราะหากสุดท้ายในโลกที่คุณอยู่มีสายอาชีพ/สายทักษะที่คุณเลือกเต็มไปหมดเลย Supply ก็จะเยอะเกินความต้องการ บางทีคุณไปเลือกเป็นสายอาชีพที่ไม่ค่อยมีคนเลือก อาจจะเป็นที่ต้องการมากกว่าก็ได้

    แต่คุณไม่จำเป็นต้องเก่ง Excel ไปพร้อมกันหมดทุกสายทักษะ ผมเชียร์ให้คุณเก่งทีละด้านไปเลยดีกว่า เอาให้สุด!! เพื่อให้เป็น Expert ไปเลย ถ้าคิดว่าเรียนรู้สุดแล้ว ค่อยลองหันมาเรียนรู้สายอื่นเพิ่มเติมทีหลังก็ได้

  • เข้าสู่โลกใหม่ของการเขียนสูตร Excel ด้วย Array Formula

    เข้าสู่โลกใหม่ของการเขียนสูตร Excel ด้วย Array Formula

    บทความนี้ผมตั้งใจจะให้เป็นบทความที่จะสอน Concept ของ Array Formula แบบสั้นๆ พอได้ไอเดียและพอเห็นภาพว่า Array Formula คืออะไร? มีข้อดีข้อเสียอย่างไร ?

    ใครอยากรู้เชิญอ่านได้เลยครับ รับรองว่าได้ความรู้ดีๆ เพียบเช่นเคย!

    เมื่อความรู้ดั้งเดิมมีข้อจำกัด

    ในสมัยก่อน…วิชาวิทยาศาสตร์อย่าง ฟิสิกส์ เคมี ที่หลายๆ คนเคยเรียน สามารถอธิบายปัญหาและปรากฏการณ์ต่างๆ ที่เกิดขึ้นบนโลกนี้ได้เป็นอย่างดี นักวิทยาศาสตร์ยุคแรกๆ เรียนรู้… ทำความเข้าใจกฎเกณฑ์ที่เกี่ยวกับมัน จนคิดว่ารู้จักมันดีในระดับหนึ่งแล้ว

    แต่ต่อมา เมื่อพวกเขาเหล่านั้นได้พบเจอสิ่งต่างๆ มากขึ้นเรื่อยๆ พวกเขาเริ่มตระหนักได้ว่า ยังมีอีกหลายเรื่องที่วิทยาศาสตร์แบบเดิมอธิบายไม่ได้ เช่น สิ่งที่อยู่นอกจักรวาล การเคลื่อนที่ระดับความเร็วแสง หรือ แม้แต่สิ่งเล็กๆ ระดับอนุภาค ซึ่งจะต้องใช้วิทยาศาสตร์แบบใหม่ อย่าง ทฤษฎีสัมพัทธภาพ หรือ กลศาสตร์ควอนตัม มาอธิบาย จึงจะทำความเข้าใจได้อย่างลึกซึ้ง เรียกได้ว่า ความรู้แบบเดิม “มีข้อจำกัดในการใช้งาน” คือ ใช้กับบางสถานการณ์ที่มีความซับซ้อนมากไม่ได้

    spacetime_strip


    ฟิสิกส์แบบนิวตัน ใช้อธิบายหลายๆเรื่องในอวกาศไม่ได้ ต้องใช้ทฤษฎีไอน์สไตน์แทน นี่แหละคือตัวอย่างของความรู้เดิมใช้ได้จำกัด

    ที่ผมพูดมาทั้งหมดนี้ เพื่อจะเปรียบเทียบ สูตร Excel ทั่วๆ ไปที่หลายๆ คนได้เรียนรู้กันมาก่อนหน้านี้ ว่าเป็นเหมือน วิทยาศาสตร์แบบเก่า ซึ่งมีข้อจำกัดในการงานมากมาย…

    หากเพื่อนๆ เริ่มพบว่า การเขียนสูตรแบบเดิมเริ่มตอบโจทย์บางอย่างไม่ได้ เช่น

    • อยากจะเขียนสูตรเพื่อให้แสดงค่า Percentile ที่ 70% ของข้อมูล โดยมีเงื่อนไขว่าต้องเป็นค่าเฉพาะของกลุ่มคนที่กำหนดด้วย (ใช้ Pivot ยังไม่ได้เลยครับ)
    • อยากจะให้ excel List ข้อมูลทุกบรรทัด ที่มีเงื่อนไขตรงกับที่กำหนดออกมา โดยใช้สูตร (ปกติ VLOOKUP จะเจอแค่บรรทัดแรก)
    •  หากเราต้องการจะประหยัดเนื้อที่ชีทให้ได้มากที่สุด ไม่ต้องการเสียพื้นที่ในการทดข้อมูล จะทำยังไง

    ปัญหาทุกอย่างนี้ สามารถถูกแก้ไขได้ด้วย การเขียนสูตรอีกวิธีที่เรียกว่า Array Formula ซึ่งนอกจากจะช่วยแก้ปัญหาแล้ว ยังทำให้ศักยภาพในการเขียนสูตรเราเพิ่มขึ้นอีกมหาศาลเลยทีเดียว

    Array Formula คืออะไร?

    มันคือการเขียนสูตร Excel ขั้นสูง ที่เราเอาไว้ทำเรื่องเจ๋งๆ อย่างการ Dynamic Range (ขยาย หด range ตามต้องการ) , Filter, Sort,  การคำนวณแบบแปลกๆ ตามเงื่อนไข ด้วย “การเขียนสูตร” ได้

    Array Formula จะเป็นสูตรที่ทำงานกับ ชุดข้อมูลที่มีสมาชิกหลายๆ ตัว (Array) พร้อมๆ กัน

    พูดง่ายๆ คือ ถ้าเราใส่ Range แทนลงในตำแหน่งในสูตรที่ปกติจะเป็น Cell เดียว นั่นแหละ Array Formula

    ตัวอย่าง เข่น ที่ผม Highlight สีแดงไว้ ก็ถือว่าเป็นส่วนที่ทำให้เกิดสูตรแบบ Array ทั้งสิ้น เพราะมีการใส่ข้อมูลเป็น Range แทนที่จะใส่ช่องเดี่ยวๆ ตามปกติ

    • สูตรปกติ : =A1*B1
    • สูตร Array : =A1:A5*B1:B5 หรือ =A1:A5*B1
    • สูตรปกติ : =LEN(A1)
    • สูตร Array : =LEN(A1:B10)

    โดยที่ปกติแล้ว เวลาเราเขียนสูตรแบบ Array จะต้องกดปุ่ม Ctrl+Shift+Enter เพื่อบอก Excel ว่าจะใช้สูตรแบบ Array แล้วนะ… ไม่งั้น Excel จะให้ค่า Error กลับมา (เหมือนด่าว่าเราเขียนสูตรไม่เป็น)

    โดยที่เวลากด Ctrl+Shift+Enter แล้ว ตรง Formula Bar จะมีเครื่องหมายปีกกา { } มาครอบให้โดยอัตโนมัติ (เขียนเองไม่ได้) เพื่อบ่งบอกว่าสูตรนี้เป็นสูตรพิเศษ ที่กด Ctrl+Shift+Enter เพื่อใช้งาน

    array-0

    ผลลัพธ์ของ Array Formula

    • Array Formula สามารถให้ผลลัพธ์การคำนวณออกมาได้ 1 ค่า หรือจะมากกว่า 1 ค่าก็ได้ แล้วแต่วิธีที่เราเขียนสูตร โดยที่เราสามารถตรวจสอบได้โดยการลากแถบดำแล้วกดปุ่ม F9
    • แต่ทว่า ในแต่ละ Cell ของ Excel นั้นจะแสดงผลลัพธ์ได้เพียง 1 ค่าเท่านั้น
    • ดังนั้นถ้าเราเขียน Array Formula ที่ให้ผลลัพธ์มากกว่า 1 ตัว แต่เขียนสูตรอยู่ใน 1 Cell มันจะแสดงผลลัพธ์ออกมาแค่ค่าแรกสุดค่าเดียว (แต่จริงๆ เก็บข้อมูลไว้หลายค่า)
    • ถ้าอยากจะแสดงผลลัพธ์ให้ครบทุกตัว ต้องลากพื้นที่เลือก Range ให้ครอบคลุมจำนวนผลลัพธ์ที่ต้องการแสดงซะก่อน จากนั้นค่อยใส่สูตร Array แล้วกด Ctrl+Shift+Enter
    • หรือจะมีอีกกรณีคือ จะต้องใส่ฟังก์ชั่นบางอย่างครอบผลลัพธ์ลงไป เพื่อทำการรวบผลลัพธ์ทั้งหมดที่มีหลายค่า ให้เหลือเพียงค่าเดียว เช่น การใช้ฟังก์ชั่นสรุปผลอย่างเช่น SUM, MAX, MIN… และอื่นๆ อีกเยอะแยะ

    ค่าที่แท้จริงของ Array

    สมมติผมเขียนสูตรแบบนี้

    array-1

    หากลองกด F9 ดูเพื่อดูค่าที่แท้จริงว่าคืออะไร มันจะได้แบบนี้ครับ

    array-2

    ในทำนองเดียวกัน ถ้าเป็นแบบนี้

    array-3

    เวลากด F9 จะได้แบบนี้

    array-4

    ผลลัพธ์ที่ออกมานั้นบ่งบอกว่า ในสูตรๆ เดียวที่เราเขียนนั้น ให้ค่าผลลัพธ์ออกมาหลายตัวด้วยกัน

    ดูเผินๆ อาจดูเหมือนว่าทั้ง 2 กรณีได้ผลลัพธ์เหมือนกัน แต่ถ้าดูดีๆ จะเห็นว่าต่างกันตรงเครื่องหมายที่เป็นตัวคั่น

    • มีหลายแถว ={“a”;”b”;”c”;1;2;3} สังเกตว่ามีผลลัพธ์ 6 ตัว คั่นด้วย Semi Colon
    • มีหลายคอลัมน์ ={“a”,”b”,”c”,1,2,3} สังเกตว่า มีผลลัพธ์ 6 ตัว แต่คั่นด้วย Comma
      ** วิธีการจำคือ ถ้าขึ้น Column ใหม่ ใช้ Comma (ตัว C เหมือนกัน)

    เปรียบเทียบสูตรแบบปกติ กับ สูตรแบบ Array Formula

     สูตรปกติArray Formula
    การใส่สูตรใส่ข้อมูลที่ละตัวเช่น = 1*10ใส่ข้อมูลเป็นชุดเช่น ={1,2,3}*{10,20,30}
    การคำนวณคำนวณปกติ ไม่มีการจับคู่คำนวณเช่น = 1*10จับคู่อันดับในการคำนวณ
    (ตัวแรกชุดนึงคู่กับตัวแรกของอีกชุด)={1*10,2*20,3*30}={10,40,90}
    การ Confirm สูตรกด Enter หรือ เลื่อนไป Cell อื่นกด Ctrl+Shift+Enter
    ผลลัพธ์ได้ข้อมูลออกมาค่าเดียวเสมอ= 10 เลยตัวเดียวข้อมูลสามารถออกมาได้หลายตัวจากสูตรเดียวอาจกระจายอยู่หลายๆ ช่องได้ เช่น
    ได้ผลลัพธ์เป็น 3 ค่า คือ
    = {10,40,90}แต่ Excel ไม่สามารถแสดงข้อมูล 3 ตัวในช่องเดียวกันได้ เลยขึ้นแค่คู่แรก คือ 10

    จัดการอย่างไรดีกับการที่ Array ออกมาหลายค่า?

    เรามีทางเลือก 2 ทางหลักๆ ครับ คือ

    1. เปลี่ยนการเขียนสูตร เป็นให้ลากครอบคลุมหลายช่องก่อน แล้วค่อยใส่สูตร Array Formula
      • หากเราลากพื้นที่หลายช่องไว้ก่อน (ครอบ A4:C4 แล้วค่อยใส่สูตร)  ผลลัพธ์จะแสดงออกมาทีเดียวหลายช่อง ช่องละ item
      • และถ้าสังเกตดู คือ สูตรในแต่ละช่องจะเห็นเป็นสูตรเดียวกัน แม้ค่าจะออกมาต่างกันเป็นคนละ item
      • Array-Display-1
      • ในตัวอย่าง คือ จะเห็น 10 40 90 อยู่แยกกันคนละ cell
      • การทำแบบนี้ จะมีลักษณะพิเศษอย่างนึง คือ หลังจากทำแบบนี้แล้ว เราไม่สามารถลบข้อมูลช่องใดช่องหนึ่งทิ้งได้ ถ้าจะลบต้องลบทั้งหมด
    2. หาฟังก์ชั่นที่ทำหน้าที่สรุปข้อมูลมาครอบอีกทีเพื่อให้รวมค่าหลายๆ ให้อยู่ในช่องเดียว เช่น SUM
      • จะได้ว่า =SUM({1,2,3}*{10,20,30}) = 140
      • Array-Display-2
      • แบบนี้จะทำให้ข้อมูลทั้ง Array ออกมาที่ช่องเดียวได้

    ตัวอย่างการคำนวณแบบ Array

    ปกติเรามักจะใส่สูตร Array โดยเป็น Range ที่มีขนาดเท่าๆ กัน มาทำอะไรซักอย่าง เช่น บวก ลบ คูณ หาร เชื่อมText หรือเอาไปใส่ใน Function ต่างๆ

    เช่น ในรูปข้างล่างเป็น Range ที่มีขนาด 1 แถว 3 คอลัมน์ 2 อันมาคูณกัน Excel จะทำการจับคู่คำนวณ โดยเอาสมาชิกแต่ละอันดับมาคูณกัน (ตัวแรกคู่ตัวแรก ตัวที่สองคู่ตัวที่สอง…)

    แบบนี้จะได้ผลลัพธ์ออกมา 3 ตัว เหมือนกับ Range 2 ตัวที่เป็น Input

    array-cal-match

    อีกแบบหนึ่งที่อาจพบบ่อย คือ ตัวนึงเป็น Range อีกตัวเป็นตัวเดี่ยวๆ เวลา Excel จับคู่มันจะจับตัวเดี่ยวคู่กับสมาชิกทุกตัวที่เป็น Range เลย

    แบบนี้จะได้ผลลัพธ์ออกมา 3 ตัว เช่นกัน (เหมือนกับ Range ที่เป็น Input)

    array-cal-match2

    ตัวอย่างจริง

    ตัวอย่างที่ 1 หายอดขายรวมที่ต้องทำเพิ่ม

    ถ้าเขียนสูตรปกติ ก็ต้องกดไว้ก่อนว่าขาดเป้าเท่าไหร่ แล้วค่อยเขียน SUM รวมอีกที

    array formula

    ตัวอย่างที่ 2 หาว่ายาวสุดกี่ตัวอักษร

    ถ้าเขียนสูตรปกติ จะต้องทดไว้ก่อนว่าแต่ละคำยาวกี่ตัวอักษร แล้วค่อยใช้ MAX มาครอบ แต่ถ้าใช้ Array ก็สามารถเขียนใน Cell เดียวได้เลย

    array-5

    ตัวอย่างที่ 3 ตรวจการกรอกรหัสบัตรประชาชนว่าใส่ถูกต้องหรือไม่? (Advance)

    ให้ B2 เป็นช่องที่เราจะใส่รหัสประชาชน 13 หลักลงไป แล้วเราจะตรวจเลขตำแหน่งสุดท้ายได้ด้วยสูตรนี้ครับ (เป็น Array Formula ที่ไม่ต้องกด Ctrl+Shift+Enter เนื่องจากเป็นความสามารถพิเศษของ SUMPRODUCT ครับ)

    =RIGHT(11-MOD(SUMPRODUCT(--(MID(B2,ROW(INDIRECT("1:12")),1)),14-ROW(INDIRECT("1:12"))),11),1)
    array-7

    สรุปแล้ว Array Formula ดียังไง?

    การเขียน Array Formula นั้นผมเชื่อว่ามีคนไม่ถึง 5% ของคนทั้งโลกที่ใช้มันเป็น… ดังนั้นข้อดีของมันอย่างแรกก็คือ “ถ้าคุณใช้เป็นคุณจะโคตรเทพ!” ซึ่งอันนี้เป็นข้อดีทางจิตใจ อิอิ

    ส่วนข้อดีทางเทคนิคจริงๆ ของ Array Formula ก็คือ มันช่วยให้…

    1. ประหยัดเนื้อที่การคำนวณ สามารถพุ่งไปยังคำตอบสุดท้ายได้ใน Cell เดียว โดยไม่ต้องทดการคำนวณทิ้งไว้หลาย Cell
    2. สร้าง Range จำลองขึ้นมาได้ ในสถานการณ์ต่างๆ เช่น เอาไปใส่ใน Defined Name หรือทำ Dynamic Range ได้
    3. สร้างเกราะป้องกันไม่ให้มีคนมาแก้บางส่วนของสูตรได้ ถ้าจะลบ Array Formula ต้องลบทั้งยวง ไม่สามารถลบบางส่วนได้
    4. ผลลัพธ์อัปเดททันทีเมื่อ Input เปลี่ยนไป ซึ่งอันนี้คือข้อดีสุดๆ ของการเขียนสูตรทุกชนิด เมื่อเทียบกับเครื่องมืออื่นๆ ใน Excel ที่ใช้งานง่ายกว่า เช่น Sort/Filter/PivotTable/Advanced Filter

    ข้อเสียของ Array Formula

    1. มันยากกว่าสูตรปกติ การเขียนสูตร Array ว่ายากแล้ว แต่อ่านสูตรแบบ Array ที่คนอื่นเขียนนั้นยิ่งมึนหนักกว่า! ยิ่งหากปล่อยให้คนทั่วไปมาอ่าน มีสิทธิ์ช๊อคตายได้เลย
    2. อาจทำให้คำนวณช้าลงได้ การเขียน Array Formula ถ้าเขียนไม่ดร อาจทำให้คำนวณช้ากว่าการแยก Cell ทดไว้ตามปกติได้

    แล้วยังไงต่อ?

    คราวนี้ก็ขึ้นอยู่กับคุณแล้วล่ะ ว่าอยากจะเรียนรู้การเขียนสูตรแบบ Array รึเปล่า? เพราะถ้าถามว่าจำเป็นสุดๆ มั้ย? ก็ต้องตอบว่า ถึงใช้ Array ไม่เป็นก็น่าจะพอหาคำตอบแบบเดียวกันได้ แต่อาจจะยุ่งยากพอสมควรหรือต้องทดไว้ใน Cell อื่นเยอะมากๆ (เช่น ถ้าจะหาค่า Percentile ของข้อมูลตาม Criteria ต่างๆ นี่อาจจะต้องทดเยอะมากๆ เลย)

    ใครที่อยากเรียนรู้ Array Formula เพิ่มแบบลึกซึ้งยิ่งขึ้น สามารถศึกษาได้จาก หนังสือ จอมเวท เทพ Excel ครับ

    ใน Excel 365 มีสูตร Array Formula แบบใหม่ขึ้นอีก เรียกว่า Dynamic Array

    หากใครสนใจสามารถอ่านได้ที่ เปลี่ยนสูตรยากให้เป็นสูตรกล้วยๆ ด้วย Dynamic Array ใน Excel 365