Author: Sira Ekabut

  • วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม

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

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

    ใช้สูตรเพื่อเตรียมข้อมูลเบื้องต้น

    ก่อนอื่นเลย เรามีข้อมูลดิบดังนี้

    ห้องประชุมStartFinish
    11/10/2019 5:251/10/2019 7:00
    11/10/2019 7:251/10/2019 7:55
    12/10/2019 7:202/10/2019 8:00
    12/10/2019 9:202/10/2019 10:00
    12/10/2019 10:202/10/2019 15:10
    21/10/2019 6:001/10/2019 9:00
    21/10/2019 7:051/10/2019 7:35
    22/10/2019 9:002/10/2019 14:55

    โดยที่ข้อมูลบันทึกเป็นวันที่และเวลาได้ถูกต้องแล้วตามการตั้งค่าใน control panel ของตัวเองซึ่งของผมตั้งเป็น วัน/เดือน/ปี

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 1

    หากเราต้องการเวลาว่าประชุมไปกี่นาที นี่ง่ายมาก นั่นคือเอาเวลาจบ ลบ เริ่ม ซึ่งเลขที่ออกมาจะมีหน่วยเป็นวัน

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 2

    หากเราอยากทำให้เลขเป็นหน่วยนาที เราก็เอาไปคูณ 24*60 แค่นั้นเอง

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 3

    เดี๋ยวเราจะสร้างคอลัมน์ใหม่เพื่อแยกวันที่กับเวลาออกจากกัน โดยใช้ INT มาช่วยในการแยกวันดังนี้ครับ

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 4

    และใช้ช่องเดิมลบ INT ก็จะได้เวลาครับ (เป็นวิธีคำนวณแบบคร่าวๆ ซึ่งจะผิดไปเล็กน้อยจากการคำนวณแบบ Floating Point ใน Excel แต่ไม่ต้องซีเรียสครับ)

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 5

    ส่วนเวลาจบก็ทำเหมือนกัน

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 6

    จากนั้นเพื่อไม่ให้งง เราจะเปลี่ยน Number Format เวลาเริ่มกับเวลาจบ ให้เป็นเวลาครับ

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 7

    ต่อไปเราจะทำการแบ่งเวลาออกเป็นช่วงๆ ทุกชั่วโมง โดยสร้างคอลัมน์ใหม่ดังนี้ครับ โดยเขียนแค่ 0:00 ตัวเดียว แล้วลาก Fill Handle ไปทางขวาเลย (โดยเราจะถือว่า ช่อง 0:00 คือเริ่มที่ 0:00 นั่นคือเป็นช่วง 0:00-1:00 ละกันครับ)

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 8

    ต่อไป ในช่อง H2 เราจะเขียนสูตร IF เพื่อเช็คว่ามีการใช้ห้องประชุมในช่อง H2 นั่นมั้ย? ถ้ามีเราจะใส่เลข 1 ถ้าไม่มีจะใส่เลข 0 ครับ

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

    • เวลาเริ่มต้องเกิดน้อยกว่าหรือเท่ากับเวลาจบช่องนั้น หรือให้น้อยกว่าเวลาเริ่มช่องถัดไป นั่นคือ F2<I1
    • เวลาจบต้องมากกว่าหรือเท่ากับเวลาเริ่มช่องนั้น G2>=H1

    ยกตัวอย่างเช่น ถ้าเริ่ม 10:20 จบ 15:10

    • ถ้าเป็นตอน 9:00 ก็จะผิดตั้งแต่เงื่อนไขเวลาเริ่ม แปลว่าไม่ติ๊ก
    • ถ้าเป็นตอน 10:00 จะตรงตามเงื่อนไขทั้งคู่ แปลว่าติ๊ก

    ดังนั้นใน H2 เราจะใส่สูตรว่า =AND( F2<I1 , G2>=H1 )*1
    (คูณ 1 เพื่อแปลง TRUE เป็น 1 FALSE เป็น 0)

    และเนื่องจากเราจะ Copy ไปทั้งตาราง ดังนั้นจะต้องใส่ $ fix ตำแหน่งดังนี้

    =AND( $F2<I$1 , $G2>=H$1 )*1

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 9

    จากนั้น Copy ไปทั้งตาราง

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 10

    จากนั้นใส่ Conditional Format -> Highlight Cell Rule -> Equal to 1 ให้เป็นสีแดง จะได้เห็นชัดๆ จะได้ตรวจสอบได้ง่ายหน่อยว่าแต่ละบรรทัดถูกต้องรึยัง?

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 11
    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 12

    Pivot Table ตรงๆ แบบไม่ใช้ Power Query

    พอได้ข้อมูลดังนี้แล้วก็สามาถเอาเข้า PivotTable ได้เลย แต่ว่ามันจะยากเพราะต้องดึงข้อมูลเวลาแต่ละช่วงมาที่ Value ถึง 24 อันแบบนี้

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 13

    จากนั้นลาก Sigma Value จาก column มาไว้ที่ Row จะได้เห็นชัดขึ้น

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 14

    แล้วเอาห้องประชุมไว้ที่คอลัมน์แทน แล้วเอาวันนี้ไปไว้ที่ Filter/Slicer/Timeline ก็ได้ จากนั้นเปลี่ยน Report Layout เป็น Tabular Form จะได้เห็นชัดๆ

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 15

    ซึ่งถามว่าผลลัพธ์วิธีข้างบนถูกมั้ย? มันก็ถูกนะ แต่จะเจ๋งกว่าถ้าช่วงเวลามันเป็น Field ที่เอามาพลิกเล่นไปมาได้ แทนที่จะเป็น Sum of 24 อันแบบนี้

    ดังนั้นเพื่อเราจะใช้ Power Query ช่วยในการตบคอลัมน์เวลา 24 อัน ให้มารวมเป็นคอลัมน์เดียวแต่มีหลายบรรทัดแทน

    ใช้ Power Query ตบข้อมูลให้เป็นลักษณะ Database มากขึ้น

    ตอนแรกที่ผมลองทำ Get Data from Table/Range จากข้อมูลที่เราทำไว้ ปรากฏว่า ใน Power Query เครื่องผมมันน่าจะมี Bug ทำให้เห็นเลขทุกอย่างเป็น 0 แทนที่จะเป็น 1 กับ 0 (หากเราใช้วิธี Get Data from Table/Range ตรงๆ)

    ดังนั้นผมเลยเปลี่ยนวิธี Get Data เล็กน้อย เป็นการ Get Data จากไฟล์ Excel ตัวเองแทน ซึ่งหากจะใช้วิธีนี้ต้อง Save ไฟล์ Excel ของเราไว้ซะก่อนครับ

    จากนั้นไปที่ Get Data -> From File -> From Workbook แล้วเลือก File ตัวเอง -> เลือก Sheet1 ที่มีตารางที่เราทำ -> กด Transform Data

    จะได้หน้าตาแบบนี้มา

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 16

    จากนั้นลบ Step Changed Type ด้านขวาออกไปซะ

    พอเลื่อนไปดูคอลัมน์ด้านขวาๆ ปรากฏว่ามันดันใส่วันที่มาในช่องเวลาของเราซะงั้น

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 17

    แต่ไม่เป็นไรเดี๋ยวเราใช้วิธี Transpose เพื่อกำจัดมันได้ โดยให้ไปที่ Transform -> Transpose จะได้แบบนี้

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 18

    จากนั้นเลือกคอลัมน์แรก แล้ว Split Column by Delimiter แล้วเลือกแบบใช้ space จะได้ดังนี้

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 19

    จากนั้นเราจะทำการถมช่องว่างในคอลัมน์ 1.2 โดยการ Transpose กลับมาก่อน แล้วเลือกคอลัมน์ 1-7 แล้วFill Down

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 20

    จากนั้นให้ลบแถวแรกออกไปซะ โดยไปที่ Home -> Remove Rows -> Remove Top Rows แล้วใส่เลข 1 เพราะจะเอาออก 1 แถว

    ให้เราเลือก Use First Row as Header ไปจะได้แบบนี้

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 21

    แล้วเรากดลบคอลัมน์เวลาเริ่มกับเวลาจบทิ้งไปซะ เพราะไม่ใช้แล้ว

    แล้วเราก็เลือกคอลัมน์เวลา 0:00-23:00 ที่เตรียมไว้ จากนั้นไปที่ Transform -> Unpivot -> Unpivot Only Selected Column (ถ้าใครไม่มีก็เลือก Unpivot Column ธรรมดา)

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 22

    จาก 24 คอลัมน์ จะมารวมหัวตารางกันในคอลัมน์เดียวชื่อ Attribute และมี Value แยกออกมาเป็นอีกคอลัมน์ดังนี้

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 23

    เราแค่ดับเบิ้ลคลิ๊กเปลี่ยนชื่อคอลัมน์จาก Attribute เป็น “ช่วงเวลา” และ Value เป็น “Flagใช้งาน”

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 24

    ตรงคอลัมน์ช่วงเวลา ให้เปลี่ยน Data Type เป็นเวลาซะ เวลาเรียงใน Pivot Table จะได้ไม่มีปัญหา

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 25

    จากนั้นเราก็ Close & Load to… ออกมาให้เป็น Pivot Table เลย

    สรุปข้อมูลด้วย Pivot Table หลังจากใช้ Power Query

    แล้วเราก็ลาก Field ต่างๆ ตามใจชอบ เช่น ช่วงเวลาไว้ที่ Row, ห้องประชุมไว้ที่ Column, Flagใช้งานไปที่ Value และเอาวันไปเป็น Slicer หรือ Timeline ก็ได้ครับ

    วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 26

    แบบนี้ก็จะตอบคำถามต่างๆ ได้ง่ายขึ้นว่า ช่วงที่มีคนใช้มากสุดคือ 7:00-8:00 อะไรแบบนี้ครับ

    นี่คือประโยชน์มากๆ ของการใช้ Pivot Table ช่วยสรุปข้อมูล เพราะมันพลิกมุมมองไปมาได้สะดวก และการที่ทำให้ช่วงเวลารวมกันในคอลัมน์เดียวด้วย Power Query ได้ ก็ทำให้เราสามารถพลิกมุมมองเกี่ยวกับช่วงเวลาได้สะดวกขึ้นเช่นกันครับ

  • วิธีใช้ EVALUATE เพื่อเปลี่ยนข้อความที่เป็นสูตร ให้กลายเป็นสูตรจริงๆ

    วิธีใช้ EVALUATE เพื่อเปลี่ยนข้อความที่เป็นสูตร ให้กลายเป็นสูตรจริงๆ

    เราจะเปลี่ยนข้อความ เช่น 5×3 ให้กลายเป็นสูตร =5*3 แล้วได้ผลลัพธ์ออกมาเป็น 15 ได้ยังไง ? ข่าวดีคือ Excel สามารถทำได้ด้วย EVALUATE ครับ มาดูวิธีกันเลย

    Step1 : เตรียม Name

    ขั้นตอนแรก ให้เราสร้าง Name ขึ้นมาใหม่ก่อน เพื่อเรียกใช้คำสั่ง EVALUATE ซึ่งเป็นคำสั่ง Macro สมัย Excel4.0 ที่จะช่วยเราได้ครับ

    ให้เราเลือกช่อง B1 ก่อน แล้ว

    Formula -> Define Name เพื่อสร้าง Name ว่า MyCal

    จากนั้นใน Refers to : ใส่สูตรใน Name ว่า

    =EVALUATE(A1)

    (เพื่อให้ Evaluate ช่องด้านซ้ายของตัวเอง)

    วิธีใช้ EVALUATE เพื่อเปลี่ยนข้อความที่เป็นสูตร ให้กลายเป็นสูตรจริงๆ 27

    Step2 : ทำสูตรให้พร้อม

    ต่อไปเราจะทำสูตรให้พร้อมโดยการเปลี่ยน x เป็น * ซะก่อน (เพราะการคูณใน Excel ต้องใช้ * แทน x ) ซึ่งเราจะใช้ SUBSTITUTE มาช่วยครับ

    โดยใส่สูตรว่า

    =SUBSTITUTE(คำoriginal,"x","*")


    แปลว่า เอา x ออกจากคำ original แล้ว แทนด้วย *

    วิธีใช้ EVALUATE เพื่อเปลี่ยนข้อความที่เป็นสูตร ให้กลายเป็นสูตรจริงๆ 28

    Step3 : คำนวณผลลัพธ์พื้นที่

    ในขั้นตอนนี้เราจะเรียกใช้ชื่อ MyCal ที่สร้างขึ้นมา เพื่อให้ทำการ EVALUATE ช่องด้านซ้ายของตัวเองนะครับ โดยใส่สูตรว่า

    =MyCal 

    แค่นี้เลย

    วิธีใช้ EVALUATE เพื่อเปลี่ยนข้อความที่เป็นสูตร ให้กลายเป็นสูตรจริงๆ 29

    Step4: save ไฟล์เป็น xlsm (macro-enable)

    ขั้นตอนสุดท้ายคือ ต้อง save ไฟล์นี้ให้รองรับ Macro ด้วย เพราะเราดันมีการเรียกใช้ EVALUATE ซึ่งเป็นคำสั่ง Macro 4.0 นั่นเอง

    วิธีใช้ EVALUATE เพื่อเปลี่ยนข้อความที่เป็นสูตร ให้กลายเป็นสูตรจริงๆ 30

    สรุปทุกขั้นตอนดังนี้

    วิธีใช้ EVALUATE เพื่อเปลี่ยนข้อความที่เป็นสูตร ให้กลายเป็นสูตรจริงๆ 31

    มันทำอะไรได้อีก?

    นอกจากจะคำนวณตัวเลขธรรมดาแล้ว มันก็ใช้คำนวณสูตรใน Excel ได้ตามปกติเลยครับ เช่น ถ้าข้อความเป็น SUM(A4:A7) มันก็สามารถคำนวณให้เป็น =SUM(A4:A7) ซึ่งได้ 10 ได้เลยนะ

    วิธีใช้ EVALUATE เพื่อเปลี่ยนข้อความที่เป็นสูตร ให้กลายเป็นสูตรจริงๆ 32

    หวังว่าเพื่อนๆ คงสามารถนำไปใช้กับงานของตัวเองได้นะครับ ถ้าสงสัยอะไรก็ Comment ถามได้ครับ

  • บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder

    การดึงข้อมูลจากทั้ง Folder มาทีเดียวพร้อมกันได้นี่ ผมคิดว่ามันเป็นสุดยอดแห่งการ Get Data ที่หลายคนปรารถนาเลยล่ะ 

    ลองคิดดูว่าหากเราต้องทำ Regular Report ทุกอาทิตย์หรือทุกเดือนแล้วเราสามารถโยนข้อมูลเดือนใหม่ที่ได้ไฟล์มาจากฝ่ายงานต่างๆ เข้าไปใน Folder ที่เราออกแบบไว้แล้ว หลังจากนั้นกด Refresh แล้วรายงานทุกอย่างก็ถูก Power Query + Pivot Table ปั่นออกมาจนเสร็จได้เลยมันจะสุดยอดขนาดไหน!!

    ประเด็นที่น่าสนใจในการดึงข้อมูลจาก Folder มีอยู่ 3 เรื่องหลักๆ เลยคือ 

    1. มีไฟล์อื่นปนมาหรือไม่ ? : ถ้ามีโอกาสที่จะมีไฟล์อื่นปนมา ก็ควรจะมีการ Filter เลือกเอาเฉพาะสิ่งที่ต้องการเท่านั้น 
    2. มีข้อมูลกี่รูปแบบ? : ถ้าข้อมูลมีอยู่หลายรูปแบบ (Pattern) ให้เลือกมาทำทีละรูปแบบ แล้วสุดท้ายค่อยเอามารวมกันหรือเชื่อมกันทีหลัง
    3. ต้องการรวมไฟล์แบบ Auto หรือทำแบบสร้าง Custom Column? : แบบ Auto จะง่ายกว่า แต่แบบ Custom Column มีความยืดหยุ่นสูงกว่าครับ
    4. ไฟล์ที่ต้องการเป็น Excel หรือว่า Text/CSV ? : การจัดการข้อมูลแต่ละแบบไม่เหมือนกัน เดี๋ยวเรามาดูรายละเอียดกันครับ

    หลักการดึง Folder ที่มี หลายๆ ไฟล์

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 33

    ให้เรา Get Data → From File → From Folder แล้วเลือก Folder ที่ต้องการ

    โหลดไฟล์ประกอบได้ที่นี่ครับ (เป็นไฟล์ zip ในนั้นมี Folder อยู่ด้วย)

    จากนั้นกด Transform Data มันจะดูว่าใน Folder ที่เราเลือกมีไฟล์อะไรบ้าง?

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 34

    Tips : มันจะ List ทุกไฟล์ใน Folder รวมถึง Sub Folder ทุกอันด้วยนะครับ จะมีคอลัมน์ให้เรา Filter ได้อยู่ด้านขวา

    คัดเลือกให้เหลือเฉพาะไฟล์ที่เกี่ยวข้อง

    ในที่นี้เราจะ Filter ตามนามสกุลของไฟล์ว่าต้องเป็น File ที่ต้องการก่อน สมมติว่าผมต้องการไฟล์ csv ที่มีคำว่า hora ซึ่งสุดท้ายผม Filter ให้เหลือแต่ไฟล์ csv ที่ผมต้องการได้แล้ว

    Tips : ก่อนจะ Filter อย่าลืมแปลง Extension เป็น lowercase ด้วยเพื่อความปลอดภัย เผื่อในอนาคตใส่นามสกุลไฟล์เป็นตัวพิมพ์ใหญ่มาจะได้ใช้ได้

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 35

    หากการ Filter ที่ชื่อไฟล์กับ Extension ไม่เพียงพอ ลองกดที่ Attribute ดูจะเห็นว่ามันดึงรายละเอียดของ File แต่ละอันมาอีกหลายเรื่องมากๆ ซึ่งเราสามารถนำใช้เป็นตัว Filter ได้ด้วยครับ

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 36

    รวมข้อมูลแบบ Auto

    เราสามารถรวมข้อมูลแบบ Auto ได้โดยการกดที่ลูกศรคู่ ตรงคอลัมน์ที่ชื่อว่า Content เพื่อ Combine File ได้เลย เหมาะกับไฟล์ที่มีหน้าตาเหมือนๆ กัน ดังนั้นเหมาะมากกับการดึงไฟล์ CSV ทั้ง Folder ครับ

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 37

    มันจะมีหน้าต่างขึ้นมาถามว่าจะให้พยายามดูไฟล์ไหนเป็นตัวอย่าง (เหมาะกับกรณีที่บางไฟล์มีหน้าตาดูดีกว่าไฟล์อื่น) ถ้าไม่คิดอะไรมากก็ปล่อยเป็น First File แล้วปรับค่าให้เหมาะสมแล้ว Ok 

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 38

    ซึ่งเมื่อ OK เจ้า Power Query จะทำการรวมทุกไฟล์เข้าด้วยกัน ซึ่งมันบอกด้วยว่า Data แต่ละแถวมาจากไฟล์ชื่อว่าอะไร

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 39

    ทีนี้เราก็สามารถดัดแปลงข้อมูลต่อได้ตามที่ต้องการ เช่น จะลบคอลัมน์ที่ไม่ต้องการทิ้ง หรือจะ Filter อะไรก็ทำได้

    Power Query จะทำการสร้าง Query หลายๆ ตัวขึ้นมาเองโดยอัตโนมัติ เพื่อจะทำการ Transform ให้เหมาะสมตามไฟล์ตัวอย่างที่เราเลือกไป โดยใช้หลักการของ Custom Function ซึ่งเป็นเรื่องที่ค่อนข้าง Advance ซึ่งผมจะมีการพูดถึงอีกทีตอนหลังครับ

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 40

    กรณีที่เราอยากจะแก้วิธีการ Transform ของ Sample File ที่ Power Query ทำ เราสามารถไปแก้ Query ที่ชื่อ Transform Sample File ได้เลย แล้วมันจะส่งผลมาที่ Query ผลลัพธ์สุดท้ายหลังรวมไฟล์เองครับ

    ยกตัวอย่างเช่น ผมไปลบคอลัมน์ที่ไม่ต้องการทิ้งซะ รวมถึงมีการเปลี่ยนประเภทข้อมูลวันที่ ใน Transform Sample File ดังนี้

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 41

    จากนั้นกลับไปดูที่ Query MyHora แล้วลบ Step Changed Type ออก (เพราะเราลบ Column ไปเพียบเลย) ให้เหลือสุดท้ายคือ Step Expanded Table Column จะเห็นว่าผลลัพธ์สุดท้ายที่ออกมามันจะเหลือแค่ 3 คอลัมน์ และ Start Date ได้ถูกเปลี่ยนเป็นวันที่เรียบร้อยแล้ว

    ดังนั้นการ Transform ข้อมูลสามารถทำได้ 2 จุดหลักๆ คือ ทำในไฟล์ตัวอย่าง (Transform Sample File) หรือ ทำหลังจากรวมทุกอย่างแล้ว (หลัง Expanded Table Column) ก็ได้ครับ 

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 42

    ทีนี้ลอง Load ผลลัพธ์ออกมาเป็น Table ดู 

    จากนั้นลอง Copy ไฟล์ปี 2562 ที่ชื่อ myhora-holiday-calendar-2562.csv เข้าไปใน Folder เดิมที่เคยมีแค่ปี 2556-2561 แล้วกด Refresh ที่ Table ผลลัพธ์ดูครับ 

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 43

    จะเห็นว่าข้อมูลไฟล์ใหม่ของปี 2562 ได้เข้ามาในตารางเรียบร้อยแล้ว นี่แหละคือความสุดยอดของการดึงข้อมูลจาก Folder ครับ!!

    การใช้วิธี Auto กับไฟล์ Excel

    หากข้อมูลเป็นไฟล์ Excel ให้เราเลือก Sample File เป็นตัวหลัก ที่มี icon Folder อย่าไปเลือกที่ชื่อ Sheet เพราะว่ามันจะเอาเฉพาะข้อมูลใน Sheet ที่เราเลือกเท่านั้น (และกรณีชื่อ Sheet ไม่เหมือนกันจะมีปัญหาอีก)

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 44

    พอกด OK มันจะ List ข้อมูล Object ทั้งหมดใน Folder นั้นมาให้จากทุก File แต่มันดันลบชื่อไฟล์ทิ้งไปด้วยซะงั้น

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 45

    ให้เราย้อนลบ Step หลังๆ ทิ้งให้หมด จนให้เหลือแต่ Remove Other Column แล้วเลือกเอา Name กลับมา

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 46

    จากนั้นค่อยกดลูกศรขยายเพื่อ Expand คอลัมน์ Transform File จะได้ดังนี้

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 47

    แล้วเราค่อย Expand คอลัมน์ Data ออกมาอีกที ซึ่งคราวนี้จะมี Data จริงๆ แล้ว

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 48

    จะเห็นว่าชื่อหัวตารางยังคงอยู่ใน Row ของ Data ปกติอยู่ (ซึ่งมีหลายแถวด้วย) ดังนั้นเราต้องมานั่งแก้ไขเรื่องนี้อีก เช่น เอาบรรทัดแรกเป็นหัวตารางซะด้วย Home → Use First Row As Header

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 49

    จากนั้นต้องมาหาทาง Filter เอาแถวที่เป็นหัวตารางข้างล่างทิ้งอีก เช่น Filter คอลัมน์สินค้า เอาคำว่า สินค้า ออกไป 

    ปัญหายังไม่จบเพราะชื่อคอลัมน์ Sales ก อันนี้ก็ผิดอีก และหากไฟล์แรกไม่ใช่ sales ก Query ก็จะพังใน Step ที่เราสั่งเปลี่ยนชื่อคอลัมน์อีก…

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 50

    จะเห็นว่าวิธีการกด Combine แบบ Auto นี้ไม่ค่อยเหมาะกับไฟล์ Excel เอาซะเลยครับ งั้นมาดูอีกวิธีดีกว่า

    รวมข้อมูลแบบสร้าง Custom Column

    ถ้าจะรวมไฟล์ Excel ผมแนะนำให้เราสร้าง Custom Column ขึ้นมาครับ 

    โดยใช้คำสั่ง =Excel.Workbook([Content],true) เพื่อดึงข้อมูลประเภท Excel จากคอลัมน์ชื่อ Content ซึ่งเก็บข้อมูลทั้งไฟล์ไว้ครับ

    หมายเหตุ : true ในวงเล็บ คือ การให้ Promote Header ในแต่ละไฟล์ ซึ่งจะช่วยแก้ปัญหาเรื่องหัวตารางที่เราเจอตอนรวมไฟล์แบบ Auto ได้ครับ

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 51
    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 52

    คอลัมน์ Custom จะออกมาเป็น Table ซึ่งให้เรากด Expand ออกมาให้หมดครับ

    สิ่งที่ออกมามีจุดที่ต้องสนใจ 2 อัน คือ Kind กับ Data ครับ

    • Kind (ที่อยู่ใน Custom) จะเป็นตัวบอกว่า Object นั้นๆ เป็นแบบไหน เช่น Sheet หรือ Table ซึ่งเรา Filter ให้เหลือเฉพาะสิ่งที่ต้องการได้ครับ 
    • Data (ที่อยู่ใน Custom) จะเก็บข้อมูลจริงๆ ไว้ ซึ่งเรา Expand ได้อีกครับ
    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 53
    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 54

    ซึ่งคราวนี้ข้อมูลทั้งหมดจะออกมา โดยที่เราจะรู้ด้วยว่ามาจากไฟล์ไหน และ Sheet หรือ Table ชื่อว่าอะไร

    สำหรับคอลัมน์ Content ที่เป็น Binary เราไม่ใช้แล้ว (เพราะเอา Excel.Workbook ดึงข้อมูลออกมาแล้ว) ก็ลบทิ้งได้เลยครับ แค่นี้เราก็สามารถดึงข้อมูล Excel ทุก File ทุก Sheet หรือทุก Table ได้แล้ว!!

    บทความนี้มีที่มายังไง?

    บทความนี้เป็นส่วนหนึ่งของตัวอย่างจาก หนังสือ Excel Power Up! เพิ่มพลังการใช้ Excel ของคุณด้วย Power Query โดยผมเอาเนื้อหาบทแรกๆ ซัก 25-30% มาลงในเว็บให้อ่านกันฟรีๆ เลย คนอ่านจะได้ตัดสินใจได้ว่าอยากจะรู้เรื่องราวหลังจากนั้นอีกมั้ย? ซึ่งแค่นี้ก็น่าจะช่วยงานคุณได้เยอะพอสมควรแล้วล่ะ


    หากสนใจอ่านตัวอย่างบทอื่นๆ ของหนังสือ ลองดูที่สารบัญข้างล่างได้เลยครับ ^^

    สารบัญ Power Query

    บทนำ : ทำไมต้องเรียนรู้ Power Query? [ไฟล์ประกอบ]
    บทที่ 1 : เข้าใจขั้นตอนการทำรายงานสรุป / วิเคราะห์ข้อมูล [ไฟล์ประกอบ]
    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query [ไฟล์ประกอบ]
    บทที่ 3 : ภาพรวมการทำงานกับ Power Query [ไฟล์ประกอบ]
    บทที่ 4 : งานที่ยุ่งยากใน Excel กลับง่ายมากใน Power Query [ไฟล์ประกอบ]
    บทที่ 5 : การจัดการหัวตาราง [ไฟล์ประกอบ]
    บทที่ 6 : การคำนวณเบื้องต้น [ไฟล์ประกอบ]
    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ [ไฟล์ประกอบ]
    บทที่ 8 : การสร้างคอลัมน์ใหม่แบบกำหนดเองด้วย Custom Column [ไฟล์ประกอบ]
    บทที่ 9 : การสร้างคอลัมน์ใหม่ตามเงื่อนไข [ไฟล์ประกอบ]
    บทที่ 10 : การรวมกลุ่มข้อมูลด้วย Group By [ไฟล์ประกอบ]
    บทที่ 11 : การพลิกคอลัมน์เป็นหัวตารางด้วย Pivot Column [ไฟล์ประกอบ]
    บทที่ 12 : การยุบหัวตารางหลายคอลัมน์ให้เหลือคอลัมน์เดียวด้วย Unpivot [ไฟล์ประกอบ]
    บทที่ 13 : การแยกข้อมูลในคอลัมน์เดียวออกจากกันด้วย Split Column [ไฟล์ประกอบ]
    บทที่ 14 : การใช้ Query เป็นตัวแปร [ไฟล์ประกอบ]
    บทที่ 15 : การรวมข้อมูลจากหลาย Query [ไฟล์ประกอบ]
    บทที่ 16 : การดึงข้อมูลจาก Excel ไฟล์อื่น [ไฟล์ประกอบ]
    บทที่ 17 : การดึงข้อมูลจาก Text File/ CSV File [ไฟล์ประกอบ]
    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder [ไฟล์ประกอบ]
    บทที่ 19 : การดึงข้อมูลจากแหล่งอื่นๆ
    บทที่ 20 : การเตรียม Data เพื่อทำ Dashboard
    บทที่ 21 : การทำ Pivot Table เพื่อสร้าง Dashboard
    บทที่ 22 : เจาะลึก M Code หัวใจของ Power Query
    บทที่ 23 : Function คือ ขุมพลังที่แท้จริงของ M Code [ไฟล์ประกอบ]
    บทที่ 24 : ตัวอย่างการสร้าง Custom Function [ไฟล์ประกอบ]
    บทที่ 25 : การวน Loop [ไฟล์ประกอบ]
    บทส่งท้าย : เทพที่แท้จริง

    อ่านเนื้อหาบท 22 เป็นต้นไปแบบปรับปรุงใหม่ได้ฟรี ที่นี่ (อัปเดทเรื่อยๆ)

    Facebook Group : Power Query Thailand

    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder 55
    Facebook Group : Power Query Thailand

    ผู้ที่สนใจ Power Query อย่างคุณที่มาอ่านบทความนี้ ผมขอเชิญชวนเข้ากลุ่มปิด Power Query Thailand ได้ตาม Link นี้ครับ

  • วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets

    บทความนี้จะอธิบายวิธีการใช้ Power Query เชื่อมกับ Google Form/Google Sheets โดยที่เราสามารถกด Refresh ที่ Excel/Power BI เพื่อดูดข้อมูลจาก Google Form/Google Sheets ณ ตอนนั้นได้เลย

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

    ก่อนอื่นก็ไปสร้างฟอร์มใน Google Form ซะก่อน อันนี้แล้วแต่คุณเลย แต่ผมจะลองสร้างฟอร์มใหม่ให้กรอกเล่นๆ ละกัน

    Step หลัก 1 : เตรียม Google Form และหา URL

    สร้างฟอร์มที่ Google Form

    ผมก็ใส่คำถามไปประมาณนี้

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 56

    สร้าง Link + ลองกรอกข้อมูล

    เราก็จะมาลองกรอกข้อมูลมั่วๆ ลงไปซัก 2 อันละกัน
    ก่อนอื่นก็ไปสร้าง Link เพื่อให้คนเข้ามากรอกฟอร์มได้ ดังนี้

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 57

    แล้ว Copy Link ไปเปิดใน Tab ใหม่ แล้วลองกรอกข้อมูลดู

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 58

    เสร็จแล้วแล้ว Submit ซะ

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 59

    สร้าง Google Sheet ไว้บันทึกข้อมูล

    จากนั้นกลับไปที่หน้าสร้างฟอร์ม แล้วกดที่ Responses จากนั้นกด icon รูป Sheet เขียวๆ ตามรูป เพื่อให้ Form บันทึกข้อมูลลง Google Sheets

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 60

    จากนั้นมันจะเปิดหน้าต่าง Google Sheet ขึ้นมาโดยมีคำถามเป็นหัวตารางข้อมูล และมีข้อมูลที่เราลองกรอกลงไป

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 61

    วิธีที่เอา URL มี 2 วิธี

    วิธีที่ 1 (วิธีใหม่ ง่ายกว่า) : ใช้วิธี Publish to Web

    *** วิธีนี้แนะนำมาโดย คุณ Bo แห่งเพจ Excel Wizard ครับ***

    ให้ไปที่ File -> Publish to Web

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 62

    จากนั้นเลือกรูปแบบที่ต้องการ ในที่นี้ผมเลือกเป็น csv

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 63

    จากนั้นจะได้ URL มาให้ Ctrl+C เพื่อ Copy เก็บไว้เพื่อเอาไว้ใส่ใน Power Query ครับ

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 64

    วิธีที่ 2 (วิธีเก่า) : เอาจาก link download

    เปิด Link Sharing ก่อน

    ให้กดปุ่ม Share เขียวๆ ที่มุมบนขวา แล้วเปิดให้ anyone with link can view

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 65

    จากนั้นให้ Download ไฟล์ออกมาเป็น excel หรือ csv ก็ได้ ในที่นี้ผมเป็น csv ละกัน โดยให้ไปที่ File –> Download –> Comma Separate Value

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 66

    แล้ว Save ไว้ที่ไหนก็ได้ (ตรงนี้ไม่สำคัญ เพราะเราไม่ได้จะ link กับไฟล์ที่ save มาหรอก)

    หา URL ของไฟล์จาก Section Download

    ให้ไปที่ Section Download (ถ้าเป็น chrome กด Ctrl+J ได้)

    แล้วคลิ๊กขวา –> Copy Link Address ของไฟล์ที่เพิ่งโหลดมาซะ สิ่งที่ Copy มานี่แหละ จะเป็น URL ที่จะเอามาใช้ใน Power Query ครับ

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 67

    Step หลัก 2 : เอาข้อมูลเข้า Power Query

    เปิด Power Query ซะ แล้ว Get Data จาก Web จากนั้นใส่ URL ที่ Copy ไว้จาก Step ที่แล้วลงไป (ไม่ว่าจะวิธีไหนก็ตาม) แล้ว ok

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 68

    จากนั้นมันจะ preview ผลลัพธ์มาให้ ถ้าอ่านไม่ออกให้เปลี่ยน Encoding เป็น UTF8 นะ

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 69

    จากนั้นกด Transform เพื่อจัดการข้อมูลที่อาจจะผิด เช่นวันที่

    อย่างของผมเนี่ย มัน convert วันที่ผิดปี ถ้า control panel ผม set Region เป็น Thai วันที่ที่ถูกต้องตอน Preview จะต้องเป็น พ.ศ. แต่อันนี้มันดันเป็น ค.ศ. แถมเป็น เดือน/วัน/ปี อีก…

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 70

    ดังนั้นผมต้องกด Convert วันที่แบบ Using Locale ใหม่ แต่ก่อนจะทำ ผมต้องเปลี่ยน Format วันที่กลับเป็น Text ก่อน แล้วกด Replace Current

    จากนั้นค่อย กด Convert วันที่แบบ Using Locale ใหม่

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 71

    จากนั้นเลือก Date/Time รูปแบบเป็น English (United States) เพราะ Format มาเป็น เดือน/วัน/ปี ค.ศ.

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 72

    พอแก้ Locale เสร็จ ผลลัพธ์เป็นแบบนี้ถึงจะถูกต้องครับ (กรณีใน Control Panel เป็น Thai จะต้องเห็นเป็น พ.ศ.)

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 73

    ที่นี้ก็กด Home –> Close & Load เพื่อให้ออกไปเป็น Table ดู

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 74

    จะเห็นว่าผลลัพธ์ใช้ได้เลยล่ะ

    กลับไปกรอกฟอร์มเพิ่ม แล้วกลับมา Refresh

    ลองไปกรอกเพิ่มดูอีกซักรายการแล้วกด Submit ฟอร์ม

    จากนั้นกลับมาที่ตารางผลลัพธ์ใน Excel แล้วคลิ๊กขวา Refresh (โดยไม่ต้องไป Download หรือ Copy Link อะไรอีกแล้ว)

    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 75
    วิธีใช้ Power Query ดึงข้อมูลจาก Google Form/Google Sheets 76

    จะเห็นว่าผลลัพธ์ถูกดึงมาใน Excel อย่างง่ายดายเลย!!

    นี่แหละครับ ความสุดยอดของ Power Query ซึ่งใช้ได้ทั้งใน Excel และ Power BI เลยนะ ใครอยากลองกรอกฟอร์มของผมเล่นดู ก็ไปกรอกได้ที่ https://forms.gle/2wAbkYeJdP6oHwEHA นะครับ

    ใครมีคำถามหรือติดอะไรตรงไหนก็สามารถ Comment ไว้ได้นะครับ ส่วนคนที่อยากเรียนรู้เรื่อง Power Query เพิ่มเติม สามารถอ่านได้ที่ Category Power Query

    credit knowledge :

    ผมศึกษาวิธีเก่ามาจากเว็บนี้ครับ https://www.excelinppc.com/using-google-sheets-as-data-source-in-power-query/

    ส่วนวิธี Publish to Web จาก Google Sheets คุณ Bo แห่งเพจ Excel Wizard แนะนำมาครับ

  • บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ

    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ

    กำจัดค่าว่างและค่า Error

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

    ยกตัวอย่างเช่น สมมติผม Get Data ข้อมูลจาก Excel แบบนี้ ซึ่งมีข้อมูลหลากหลายรูปแบบ (โหลดไฟล์ประกอบได้ที่นี่)

    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ 77

    ใน Power Query ก็จะตีความออกมาเป็นแบบนี้

    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ 78

    จุดที่น่าสังเกต

    • ช่องที่เป็นค่าว่างจริงๆ จะขึ้นเป็น null
    • ช่องที่เป็น empty text (มาจากสูตร =””) จะกลายเป็นช่องว่างๆ ที่ไม่มีคำว่า null ซึ่งหากลองกด Filter ดูจะเห็นเป็นคำว่า (blank)
    • ข้อมูล Error ใน Excel ไม่ว่าจะเป็นแบบใดก็ถูกตีความเป็น Error ทั้งหมด

    การจัดการข้อมูล Error

    ถ้าข้อมูลยังมี Error อยู่แบบนี้ จะ Transform ต่อแล้วเกิดปัญหา เช่น จะ Sort ก็ไม่ได้ จะ Load Data ออกมาก็ไม่ได้ ดังนั้นเราจะต้องมีวิธีจัดการข้อมูล Error ซะก่อน

    ข้อมูลที่ Error มีวิธีการจัดการ 2 แบบใหญ่ๆ คือ 

    1. ตัดข้อมูลแถวนั้นทิ้งโดยการ Remove Row ที่ Error ออกไปเลย
    2. แทนที่ค่า Error ด้วยค่าอื่น ด้วยการ Replace Errors

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

    ในที่นี้ผมขอ Replace Errors ด้วยคำว่า –Err– แล้วกัน จะได้เห็นชัดๆ

    การ Filter

    หนึ่งในเครื่องมือที่มีการใช้บ่อยมากที่สุดอันหนึ่งใน Power Query นั่นก็คือ เครื่องมือ Filter ที่เรากดได้ที่หัวตารางแต่ละคอลัมน์นั่นเอง

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

    อย่างไรก็ตาม มีประเด็นที่ควรจะต้องระวังมากๆ เวลาจะใช้งานเครื่องมือนี้อยู่ด้วยดังนี้

    ประเด็น 1 : ใน Power Query ตัวพิมพ์ใหญ่/ตัวพิมพ์เล็ก มีผลต่างกัน (Case-Sensitive) เสมอ

    หากเราลองกด Filter ว่าต้องการเอาเฉพาะบรรทัดที่มีค่า aa ก็จะได้แต่ aa จริงๆ (ไม่ได้บรรทัดที่มี AA ด้วย หรือ Aa หรือ aA ด้วย) เพราะมันมองว่าแต่ละค่าต่างกันโดยสิ้นเชิง

    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ 79

    ดังนั้นหากเราต้องการได้ข้อมูล aa แบบไม่สนตัวพิมพ์เล็กตัวพิมพ์ใหญ่ ก็มีแนวทางที่เข้าใจง่ายคือ แปลงข้อมูลให้เป็นตัวพิมพ์เล็ก หรือ ตัวพิมพ์ใหญ่ ก่อนทำการ Filter นั่นเอง 555

    วิธีทำตัวพิมพ์เล็กด้วย lowercase

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

    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ 80

    จากนั้นค่อยไป Filter คอลัมน์ใหม่ให้เอาเฉพาะ aa

    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ 81

    จะได้ผลลัพธ์แบบนี้

    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ 82

    เราก็จะเหลือบรรทัดที่คอลัมน์ Data เป็น aa ทุกรูปแบบแล้ว

    Tips : อย่าลืมว่าหากมีข้อมูลที่ Error อยู่ด้วย ผลลัพธ์จะติด Error ออกมาอีก แล้วจะโหลดข้อมูลออกมาไม่ได้ ดังนั้นต้องจัดการข้อมูลที่ Error ก่อนนะครับ

    ประเด็น 2 : Filter ด้วยการติ๊ก เอา/ไม่เอาตัวไหน ต้องสังเกตสูตรที่ออกมาด้วย 

    เวลาเราติ๊ก Filter ว่าเอาไม่เอาตัวไหน ให้ดูสูตรด้วยว่ามันใช้วิธีตัดบางตัวทิ้ง หรือ เลือกบางตัวไว้ เพราะมันอาจไม่ได้ผลอย่างที่เราคิด โดยอาจจะมีปัญหาเวลามีข้อมูลใหม่มาเพิ่มอีก

    หลักการในการคิดสูตรของมันคือ 

    • หากเราติ๊กเลือกไว้จำนวนน้อยกว่าครึ่งนึง มันจะใช้สูตรแบบ เอาสิ่งที่เราเลือกไว้
    • หากเราติ๊กเลือกไว้จำนวนมากกว่าครึ่ง มันจะใช้สูตรแบบ ตัดตัวที่เราไม่เลือกทิ้ง

    ดังนั้นหากผลลัพธ์ออกมาไม่ใช่อย่างที่ต้องการ (โดยเฉพาะเวลา List มันน้อยๆ) ก็มีแนวทางแก้ไข คือ ควรระบุเงื่อนไขแบบชัดเจนไปเลย เช่น More Than, Less Than, Contain, Not Contain, Equal, Not Equal

    ซึ่งเมนูพวกนี้จะโผล่มาก็ต่อเมื่อเรามีการกำหนด Data Type ของหัวตารางคอลัมน์นั้นๆ แล้วเท่านั้น ดังนี้

    ถ้า Data Type เป็นตัวเลข

    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ 83

    ถ้า Data Type เป็น วันที่/เวลา

    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ 84

    Data Type เป็น Text

    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ 85

    Remove Duplicates

    Remove Duplicates คือเครื่องมือที่ใช้กำจัดข้อมูลซ้ำ โดยให้เหลือแต่ตัวบนสุดไว้ ประเด็นสำคัญที่ต้องระวัง คือ Power Query มันมองตัวพิมพ์เล็กตัวพิมพ์ใหญ่เป็นคนละตัวกันนะ (แต่ใน Excel เครื่องมือ Remove Duplicates จะมองเป็นตัวเดียวกัน)

    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ 86

    สมมติถ้าเราอยากลอง Remove Duplicates แบบทื่อๆ เลย ไม่ได้ระวังเรื่อง Case Sensitive ก็ให้เลือกคอลัมน์ Name แล้วไปที่ Home → Remove Rows → Remove Duplicates 

    จะเห็นว่ามีบางรายการหายไป เช่นรายการที่ 3, 9, 12, 14 เพราะมันซ้ำแบบเป๊ะๆ จริงๆ

    อย่างไรก็ตาม รายการที่ 4 ที่เป็นชื่อ SIRA EKABUT ไม่หายไป เพราะมันเป็นตัวพิมพ์ใหญ่ ถือว่าไม่ซ้ำกัน

    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ 87

    ดังนั้นหากเราอยากให้ตัดตัวซ้ำแบบไม่สนใจตัวพิมพ์เล็กพิมพ์ใหญ่ใน Power Query ก็อย่าลืมจัดการแปลงข้อมูลด้วยพวก lowercase ด้วย (คล้ายๆ ตอนเรา Filter นั่นแหละ) ดังนั้นเราจะลบ Step Removed Duplicates ไปก่อน แล้วเลือกคอลัมน์ Name แล้วไปที่ Add Column → Format → lowercase

    จากนั้นค่อยสั่ง Remove Duplicates จากคอลัมน์ lowercase ที่เพิ่งสร้างมาใหม่

    คราวนี้จะเห็นว่าผลลัพธ์เหลือน้อยลงแล้ว

    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ 88

    หากอยากให้เหลือชื่อไม่ซ้ำ แต่อยากได้ Transaction ล่าสุดล่ะ?

    หากอยากได้ Transaction ล่าสุด เราก็ต้องจัดเรียง Transaction ล่าสุดให้อยู่ข้างบนก่อน โดยกด Sort ที่หัวตาราง Transaction แล้วเลือก Sort Descending ก่อน

    จากนั้นค่อยไปเลือกคอลัมน์ lowercase แล้วสั่ง Remove Duplicates ครับ 

    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ 89

    จะเห็นว่าเราได้ SIRA EKABUT ที่ Transaction 4 มาแทนเดิมที่เป็นเลข 2 แล้วครับ

    บทความนี้มีที่มายังไง?

    บทความนี้เป็นส่วนหนึ่งของตัวอย่างจาก หนังสือ Excel Power Up! เพิ่มพลังการใช้ Excel ของคุณด้วย Power Query โดยผมเอาเนื้อหาบทแรกๆ ซัก 25-30% มาลงในเว็บให้อ่านกันฟรีๆ เลย คนอ่านจะได้ตัดสินใจได้ว่าอยากจะรู้เรื่องราวหลังจากนั้นอีกมั้ย? ซึ่งแค่นี้ก็น่าจะช่วยงานคุณได้เยอะพอสมควรแล้วล่ะ


    หากสนใจอ่านตัวอย่างบทอื่นๆ ของหนังสือ ลองดูที่สารบัญข้างล่างได้เลยครับ ^^

    สารบัญ Power Query

    บทนำ : ทำไมต้องเรียนรู้ Power Query? [ไฟล์ประกอบ]
    บทที่ 1 : เข้าใจขั้นตอนการทำรายงานสรุป / วิเคราะห์ข้อมูล [ไฟล์ประกอบ]
    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query [ไฟล์ประกอบ]
    บทที่ 3 : ภาพรวมการทำงานกับ Power Query [ไฟล์ประกอบ]
    บทที่ 4 : งานที่ยุ่งยากใน Excel กลับง่ายมากใน Power Query [ไฟล์ประกอบ]
    บทที่ 5 : การจัดการหัวตาราง [ไฟล์ประกอบ]
    บทที่ 6 : การคำนวณเบื้องต้น [ไฟล์ประกอบ]
    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ [ไฟล์ประกอบ]
    บทที่ 8 : การสร้างคอลัมน์ใหม่แบบกำหนดเองด้วย Custom Column [ไฟล์ประกอบ]
    บทที่ 9 : การสร้างคอลัมน์ใหม่ตามเงื่อนไข [ไฟล์ประกอบ]
    บทที่ 10 : การรวมกลุ่มข้อมูลด้วย Group By [ไฟล์ประกอบ]
    บทที่ 11 : การพลิกคอลัมน์เป็นหัวตารางด้วย Pivot Column [ไฟล์ประกอบ]
    บทที่ 12 : การยุบหัวตารางหลายคอลัมน์ให้เหลือคอลัมน์เดียวด้วย Unpivot [ไฟล์ประกอบ]
    บทที่ 13 : การแยกข้อมูลในคอลัมน์เดียวออกจากกันด้วย Split Column [ไฟล์ประกอบ]
    บทที่ 14 : การใช้ Query เป็นตัวแปร [ไฟล์ประกอบ]
    บทที่ 15 : การรวมข้อมูลจากหลาย Query [ไฟล์ประกอบ]
    บทที่ 16 : การดึงข้อมูลจาก Excel ไฟล์อื่น [ไฟล์ประกอบ]
    บทที่ 17 : การดึงข้อมูลจาก Text File/ CSV File [ไฟล์ประกอบ]
    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder [ไฟล์ประกอบ]
    บทที่ 19 : การดึงข้อมูลจากแหล่งอื่นๆ
    บทที่ 20 : การเตรียม Data เพื่อทำ Dashboard
    บทที่ 21 : การทำ Pivot Table เพื่อสร้าง Dashboard
    บทที่ 22 : เจาะลึก M Code หัวใจของ Power Query
    บทที่ 23 : Function คือ ขุมพลังที่แท้จริงของ M Code [ไฟล์ประกอบ]
    บทที่ 24 : ตัวอย่างการสร้าง Custom Function [ไฟล์ประกอบ]
    บทที่ 25 : การวน Loop [ไฟล์ประกอบ]
    บทส่งท้าย : เทพที่แท้จริง

    อ่านเนื้อหาบท 22 เป็นต้นไปแบบปรับปรุงใหม่ได้ฟรี ที่นี่ (อัปเดทเรื่อยๆ)

    Facebook Group : Power Query Thailand

    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ 90
    Facebook Group : Power Query Thailand

    ผู้ที่สนใจ Power Query อย่างคุณที่มาอ่านบทความนี้ ผมขอเชิญชวนเข้ากลุ่มปิด Power Query Thailand ได้ตาม Link นี้ครับ

  • บทที่ 6 : การคำนวณเบื้องต้น

    บทที่ 6 : การคำนวณเบื้องต้น

    การสรุปข้อมูลโดยใช้เครื่องมือ Statistics

    คำสั่ง Statistics ต่างๆ เช่น Sum, Minimum, Count Rows อะไรพวกนี้มันทำงานได้ 2 แบบ คือ

    • หากเลือกคอลัมน์เดียวแล้วกดแบบ Transform จะให้ผลลัพธ์สรุปข้อมูลจากคอลัมน์ที่กำหนดออกมาเป็นตัวเลขค่าเดียวเลย
    • หากเลือกหลายคอลัมน์ก่อนแล้วกดแบบ Add Column ก็จะเป็นการคำนวณสำหรับข้อมูลในแต่ละแถวแยกกันออกมาเป็นคอลัมน์ใหม่

    โหลดไฟล์ตัวอย่างได้ที่นี่ => คลิ๊ก

    ตัวอย่าง กรณีที่ใช้ Statistics → Minimum
    สมมติผมมีข้อมูลแบบนี้

    บทที่ 6 : การคำนวณเบื้องต้น 91
    บทที่ 6 : การคำนวณเบื้องต้น 92

    หากเลือกคอลัมน์ราคาในห้าง → Transform → StatisticsMinimum จะได้ค่าที่น้อยสุดในคอลัมน์นั้นออกมาเป็นค่าเดียว

    หากเลือกคอลัมน์ราคาในตลาด และราคาในห้างพร้อมกัน → Add Column  → StatisticsMinimum มันจะหาว่าค่าที่น้อยสุดในแต่และแถวเป็นค่าอะไร?

    บทที่ 6 : การคำนวณเบื้องต้น 93

    ซึ่งทั้ง 2 วิธีมีประโยชน์ทั้งคู่ และใช้ในกรณีต่างกัน สำหรับวิธีออกมาเป็นค่าเดียว เดี๋ยวเราจะได้ใช้อีกในบทหลังๆ ซึ่งเอาค่าค่าเดียวนั้นไปใช้งานต่อที่อื่นได้อีกครับ

    การคำนวณโดยใช้เครื่องมือกลุ่ม Standard

    การคำนวณแบบ Standard ก็คือการคำนวณพื้นฐาน ไม่ว่าจะเป็นการบวก ลบ คูณ หาร ยกกำลัง เป็นต้น

    ซึ่งมีวิธีการใช้หลากหลายรูปแบบ เช่น

    • เลือกคอลัมน์เดียว หรือ เลือกหลายคอลัมน์ (ถ้าเลือกหลายคอลัมน์จะ Transform ไม่ได้)
    • ใช้ Transform หรือ Add Column

    สมมติผมมีข้อมูลแบบนี้

    บทที่ 6 : การคำนวณเบื้องต้น 94

    ผมคำนวณยอดขายได้โดยการ เลือกคอลัมน์ ราคาต่อหน่วย และ จำนวนชิ้นที่ขายได้ พร้อมกัน 2 คอลัมน์ แล้วกด Add Column  → Standard → Multiplication

    บทที่ 6 : การคำนวณเบื้องต้น 95

    จะได้ดังรูป

    Tips : หากเป็นการลบหรือหาร ต้องระวังลำดับในการคลิ๊กสองคอลัมน์ที่จำคำนวณด้วย เพราะลำดับจะให้ผลต่างกันว่าจะเอาอะไรมาเป็นตัวตั้งต้น

    หากต้องการเปลี่ยนชื่อหัวตาราง ผมสามารถดับเบิ้ลคลิ๊กที่หัวตารางเพื่อเปลี่ยนชื่อจาก Multiplication เป็น ยอดขาย ได้เลย (หรือจะกดปุ่ม F2 เพื่อเปลี่ยนชื่อก็ได้)

    จากนั้นผมอยากคำนวณว่าถ้าผมต้องจ่าย Commission 10% ของยอดขาย จะต้องเสีย Commission เท่าไหร่ ในที่นี้ผมเลือกยอดขายช่องเดียว แล้ว Add Column→ Standard → Multiplication แล้วกรอก 10%

    บทที่ 6 : การคำนวณเบื้องต้น 96

    แล้วจะได้ผลลัพธ์ดังรูป

    บทที่ 6 : การคำนวณเบื้องต้น 97

    คราวนี้ผมจะแก้ชื่อคอลัมน์จากใน Formula Bar เลย จะได้ไม่ต้องมี Step เพิ่ม

    = Table.AddColumn(#”Renamed Columns”, “Multiplication”, each [ยอดขาย] * 0.1, type 

    = Table.AddColumn(#”Renamed Columns”, “Commission”, each [ยอดขาย] * 0.1, type number)

    ซึ่งวิธีแก้ชื่อคอลัมน์ที่ Formula Bar หรือ ที่ M Code ไปเลยจะดีกว่าครับ เพราะโดยหลักการแล้วยิ่งขั้นตอนน้อย ยิ่งคำนวณเร็วกว่า และการเพิ่ม Step โดยไม่จำเป็นจำทำให้อ่านแล้วงงด้วย

    สมมติว่า Commission ที่จะจ่าย ต้องหักค่าดำเนินการพิเศษ 50 บาทเสมอ ดังนั้นผมจะเลือกที่คอลัมน์ Commission → Transform → Standard → Substract แล้วใส่เลข 50 ลงไป

    บทที่ 6 : การคำนวณเบื้องต้น 98
    บทที่ 6 : การคำนวณเบื้องต้น 99

    จะเห็นว่าผลลัพธ์ที่ได้ มันเปลี่ยนที่คอลัมน์เดิมเลย โดยไม่มีการเพิ่มคอลัมน์ใหม่ครับ

    ใน Power Query เราสามารถลบข้อมูล Step ต้นทางที่ไม่ใช้แล้วได้

    เมื่อเราได้ผลลัพธ์ยอดขายกับ Commission แล้ว เราสามารถลบคอลัมน์ ราคาต่อหน่วย และ จำนวนชิ้น ได้เลย (หากไม่อยากได้แล้ว) โดยที่ผลลัพธ์ไม่พังด้วยนะครับ 

    บทที่ 6 : การคำนวณเบื้องต้น 100
    บทที่ 6 : การคำนวณเบื้องต้น 101

    ซึ่งเรื่องแบบนี้เราทำใน Excel ไม่ได้เด็ดขาด เพราะแหล่งที่มาของข้อมูลที่ใช้ในสูตรมันหายไป แต่ว่าใน Power Query ทำได้ครับ

    ระวังค่า null ตอนคำนวณตัวเลข

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

    บทที่ 6 : การคำนวณเบื้องต้น 102

    หากเราจะคำนวณ Net Cashflow (เงินเข้า – เงินออก) แต่ละวันจะทำยังไง? มาดูกันครับ

    ก่อนอื่น หากลองเอาเงินเข้า – เงินออกดูเลย จะพบว่า ตัวเลข กับ null มันคำนวณกันไม่ได้ ซึ่งแปลว่า Step ล่าสุดนี้ใช้ไม่ได้นะ

    บทที่ 6 : การคำนวณเบื้องต้น 103

    ทางแก้ทำได้หลายทาง

    1. Replace ค่า null ในคอลัมน์เงินเข้าและเงินออกด้วย 0 ก่อนแล้วค่อย Subtract

    บทที่ 6 : การคำนวณเบื้องต้น 104

    โดยกด Step ก่อนจะ  Subtract แล้วเลือกคอลัมน์เงินเข้า และ เงินออก แล้วไปที่ Transform → Replace Values จะมีหน้าต่างให้ Confirm ว่าจะ Insert Step หรือไม่ ก็ ok ไปได้เลย จากนั้นกรอกแทน null ด้วย 0

    พอ ok แล้วกดไปที่ Step สุดท้ายที่ทำการ Subtract ผลลัพธ์ก็จะไม่ Error แล้ว

    บทที่ 6 : การคำนวณเบื้องต้น 105

    2. เปลี่ยนมาใช้เครื่องมือกลุ่ม Statistics แทน เพราะกลุ่มนี้ทำงานกับ null ได้

    แต่เนื่องจากกลุ่ม Statistics มีแต่ Sum ดังนั้นผมต้องทำการแปลงคอลัมน์เงินออกให้ติดลบก่อน โดยการ Transform→ Standard → Multiply ด้วย -1

    บทที่ 6 : การคำนวณเบื้องต้น 106

    จากนั้นเลือกคอลัมน์เงินเข้า และ เงินออก แล้ว Add Column → Statistics → Sum เพื่อเอาค่าในคอลัมน์ที่เลือกมารวมกัน แต่เมื่อบวกเจอค่าลบ ก็จะได้ผลลัพธ์เหมือนเอามาลบกันนั่นเอง และผมตั้งชื่อว่า Net

    บทที่ 6 : การคำนวณเบื้องต้น 107

    เพียงเท่านี้เราก็สามารถแก้ปัญหากรณีต้องคำนวณเลขแล้วเจอค่า null ได้แล้วครับ

    บทความนี้มีที่มายังไง?

    บทความนี้เป็นส่วนหนึ่งของตัวอย่างจาก หนังสือ Excel Power Up! เพิ่มพลังการใช้ Excel ของคุณด้วย Power Query โดยผมเอาเนื้อหาบทแรกๆ ซัก 25-30% มาลงในเว็บให้อ่านกันฟรีๆ เลย คนอ่านจะได้ตัดสินใจได้ว่าอยากจะรู้เรื่องราวหลังจากนั้นอีกมั้ย? ซึ่งแค่นี้ก็น่าจะช่วยงานคุณได้เยอะพอสมควรแล้วล่ะ


    หากสนใจอ่านตัวอย่างบทอื่นๆ ของหนังสือ ลองดูที่สารบัญข้างล่างได้เลยครับ ^^

    สารบัญ Power Query

    บทนำ : ทำไมต้องเรียนรู้ Power Query? [ไฟล์ประกอบ]
    บทที่ 1 : เข้าใจขั้นตอนการทำรายงานสรุป / วิเคราะห์ข้อมูล [ไฟล์ประกอบ]
    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query [ไฟล์ประกอบ]
    บทที่ 3 : ภาพรวมการทำงานกับ Power Query [ไฟล์ประกอบ]
    บทที่ 4 : งานที่ยุ่งยากใน Excel กลับง่ายมากใน Power Query [ไฟล์ประกอบ]
    บทที่ 5 : การจัดการหัวตาราง [ไฟล์ประกอบ]
    บทที่ 6 : การคำนวณเบื้องต้น [ไฟล์ประกอบ]
    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ [ไฟล์ประกอบ]
    บทที่ 8 : การสร้างคอลัมน์ใหม่แบบกำหนดเองด้วย Custom Column [ไฟล์ประกอบ]
    บทที่ 9 : การสร้างคอลัมน์ใหม่ตามเงื่อนไข [ไฟล์ประกอบ]
    บทที่ 10 : การรวมกลุ่มข้อมูลด้วย Group By [ไฟล์ประกอบ]
    บทที่ 11 : การพลิกคอลัมน์เป็นหัวตารางด้วย Pivot Column [ไฟล์ประกอบ]
    บทที่ 12 : การยุบหัวตารางหลายคอลัมน์ให้เหลือคอลัมน์เดียวด้วย Unpivot [ไฟล์ประกอบ]
    บทที่ 13 : การแยกข้อมูลในคอลัมน์เดียวออกจากกันด้วย Split Column [ไฟล์ประกอบ]
    บทที่ 14 : การใช้ Query เป็นตัวแปร [ไฟล์ประกอบ]
    บทที่ 15 : การรวมข้อมูลจากหลาย Query [ไฟล์ประกอบ]
    บทที่ 16 : การดึงข้อมูลจาก Excel ไฟล์อื่น [ไฟล์ประกอบ]
    บทที่ 17 : การดึงข้อมูลจาก Text File/ CSV File [ไฟล์ประกอบ]
    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder [ไฟล์ประกอบ]
    บทที่ 19 : การดึงข้อมูลจากแหล่งอื่นๆ
    บทที่ 20 : การเตรียม Data เพื่อทำ Dashboard
    บทที่ 21 : การทำ Pivot Table เพื่อสร้าง Dashboard
    บทที่ 22 : เจาะลึก M Code หัวใจของ Power Query
    บทที่ 23 : Function คือ ขุมพลังที่แท้จริงของ M Code [ไฟล์ประกอบ]
    บทที่ 24 : ตัวอย่างการสร้าง Custom Function [ไฟล์ประกอบ]
    บทที่ 25 : การวน Loop [ไฟล์ประกอบ]
    บทส่งท้าย : เทพที่แท้จริง

    อ่านเนื้อหาบท 22 เป็นต้นไปแบบปรับปรุงใหม่ได้ฟรี ที่นี่ (อัปเดทเรื่อยๆ)

    Facebook Group : Power Query Thailand

    บทที่ 6 : การคำนวณเบื้องต้น 108
    Facebook Group : Power Query Thailand

    ผู้ที่สนใจ Power Query อย่างคุณที่มาอ่านบทความนี้ ผมขอเชิญชวนเข้ากลุ่มปิด Power Query Thailand ได้ตาม Link นี้ครับ

  • บทที่ 5 : การจัดการหัวตาราง ใน Power Query

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query

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

    บทนี้ให้ Get Data → From Table/Range จากไฟล์ตัวอย่าง (โหลดที่นี่) เพื่อเอาข้อมูลเข้าไปใน Power Query แต่คราวนี้เราไม่ต้องติ๊ก My table has headers เนื่องจากเพราะบรรทัดแรกมันไม่ใช่หัวตาราง

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 109

    จะได้ Query หน้าตาแบบนี้ ซึ่งจะเห็นว่าหัวตารางจะชื่อ Column1 Column2… ซึ่งไม่ใช่ชื่อหัวตารางที่ควรจะเป็น

    Power Query

    สิ่งที่เราควรทำคือ พยายามทำให้ชื่อหัวตารางที่แท้จริงมาอยู่ที่บรรทัดแรกให้ได้ ซึ่งทำได้ 2 วิธี แล้วแต่ความเหมาะสม คือ

    1. เลือก Home→ Remove Rows→ Remove Top Rows แล้วใส่เลข 2 จะพบว่า Power Query จะเอา 2 แถวบนออกไปเลย
    2. เลือกคอลัมน์ที่ข้อมูลในตารางจริงมีครบ แต่ข้างบนว่าง เช่น Column2 แล้วกดที่หัว Filter → Remove Empty (ถ้าไม่มีให้เลือก ต้องกด Filter แล้วเลือกแบบ Not Equal แล้วใส่ว่า null)

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

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 110

    จากนั้นสิ่งที่เราควรทำคือ Promote ให้ข้อมูลแถวแรกกลายเป็นหัวตารางซะ โดยไปที่ Home → Use First Row as Headers จะได้ดังรูป ซึ่งพบว่ามีการ Detect ประเภทข้อมูลให้อัตโนมัติด้วย (ดูที่ icon ของหัวตาราง) 

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 111

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

    การถมช่องว่าง

    วิธีการถมช่องว่างให้เลือกคอลัมน์ผลไม้ แล้วไปที่ Transform → Fill → Down (เพราะเราจะถมข้อมูลจากบนลงล่าง) แค่นั้นจบเลย ช่างง่ายดายกว่าการใช้ Excel ธรรมดามากนัก 555

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 112

    แล้วถ้าจะถมไปด้านขวาล่ะ?

    Power Query มีแต่ Fill Down กับ Fill Up ซึ่งทำง่ายมาก แต่ไม่มีคำสั่ง Fill Right หรือ Fill Left ให้เราใช้… 

    หากเราจะต้องการจะถมข้อมูลไปด้านขวา ก็จะมีเทคนิคในการพลิกข้อมูลจากคอลัมน์เป็นแถวด้วยการ Transpose ซะก่อน แล้วค่อย Fill Down ครับ เช่น ผมมีข้อมูลแบบนี้

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 113

    พอเอาเข้า Power Query (ไม่ต้องติ๊กว่า Table มี Header นะ) ช่องที่ Merge ก็จะเห็นเป็น null

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 114

    ซึ่งจะเห็นว่าเราควรจะ Fill Right เพื่อเอาข้อมูลผลไม้ไปถมช่อง null ด้านขวา แต่มันไม่มีให้เลือก

    ดังนั้นเราจะพลิกตารางก่อน โดย ไปที่ Transform → Transpose เราจะได้ผลลัพธ์หน้าตาคล้ายๆ ตัวอย่างก่อนหน้านี้ ซึ่งเราก็จะ Fill Down ได้แล้ว และเราควรจะ Promote Header ด้วยโดยไปที่ Home → Use First Row as Headers

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 115
    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 116

    ถ้าเราพอใจกับผลลัพธ์นี้จริงๆ ก็จบได้เลยนะ แต่ถ้ายังอยากจะพลิกให้ผลไม้ไปอยู่ที่คอลัมน์เหมือน Data Source เราก็ควรทำให้หัวตารางไม่ซ้ำกัน เราจะเอาข้อมูลในคอลัมน์ผลไม้กับเกรด มา Merge รวมกัน เช่น แอปเปิ้ล A มันจะได้ไม่ซ้ำกัน

    จากนั้นเราค่อยเลือกทั้งสองคอลัมน์ แล้วไปที่ Transform → Merge Columns แล้วเราสามารถเลือกตัวคั่นได้ ในที่นี้ผมเลือกเป็น Space

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 117

    เราจะได้ข้อมูลในคอลัมน์ Merged โดยที่แต่ละตัวไม่ซ้ำกันแล้ว

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 118

    แล้วเราค่อย Transform → Transpose กลับไปให้หน้าตาเหมือนเดิม

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 119

    จากนั้นก็ Home → Use First Row as Headers เป็นอันจบครับ

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 120

    ระวังเรื่องการอ้างอิงชื่อคอลัมน์ในสูตร M Code

    อย่างไรก็ตาม จะเห็นว่าการเปลี่ยน Data Type รวมถึงการถมช่องว่างมันมีการอ้างอิงชื่อคอลัมน์ในสูตรด้วย (ซึ่งการ Transform หลายๆ ตัวจะเป็นแบบนี้เช่นกัน) 

    การเปลี่ยน Data Type

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 121

    การ Fill Down

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 122

    ดังนั้นถ้าหากในอนาคตชื่อคอลัมน์ในตารางต้นทางเปลี่ยนไป Query นี้ก็จะมีปัญหาทันทีครับ

    เช่น ผมลองเปลี่ยนชื่อคอลัมน์ ผลไม้ หรือแม้กระทั่งเกรด เป็นชื่ออื่น มันก็จะพัง Refresh ไม่ได้ทันที

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 123

    หากลองเข้าไป Edit ใน Query ดู จะเก็นว่ามัน Error ตั้งแต่ Step Change Type เลยครับ

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 124

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

    การเปลี่ยนประเภทข้อมูลใน Power Query

    เวลาเราเอาข้อมูลเข้า Power Query ปกติแล้วมันจะ Detect ประเภทข้อมูลของหัวตารางให้เราโดยอัตโนมัติ ซึ่งส่วนใหญ่แล้วมันก็จะทำได้ถูกต้อง อย่างไรก็ตามหากมันทำผิด เราก็ต้องแก้ไขประเภทข้อมูลให้เป็น

    สมมติผมเอาข้อมูล Table แบบนี้เข้าใน Power Query โดย Get Data → From Table/Range

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 125

    จะเห็นว่ามันเปลี่ยน Data Type ให้เราโดยอัตโนมัติ (สังเกตที่สัญลักษณ์ที่ซ้ายมือของชื่อคอลัมน์)

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 126

    ที่ Applied Step ก็จะมี Change Type โดยอัตโนมัติด้วย

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 127

    ตรงนี้หากเราอยากให้ ID สินค้า เป็น Text แทนที่จะเป็นตัวเลข ก็สามารถกดเปลี่ยนที่ icon ด้านซ้ายของหัวตารางแต่ละคอลัมน์ที่ต้องการได้เลย 

    ซึ่งจะเห็นว่าจริงๆ แล้วมีข้อมูลประเภทอื่นๆ อีกเต็มเลย!!

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 128

    กลุ่มตัวเลขจะมี 4 แบบ คือ 

    • Decimal ทศนิยมแบบละเอียด
    • Currency สกุลเงิน โดยมีทศนิยมสูงสุดแค่ 4 ตำแหน่ง
    • Whole Number จำนวนเต็ม
    • Percentage ก็คือ แสดงให้เห็นเป็นเปอร์เซ็นต์ใน Preview (แต่โหลดออกมาก็เหมือน Decimal)

    วันที่และเวลา มี 5 แบบ คือ 

    • Date/Time มีทั้งวันที่/เวลา
    • Date มีแต่วันที่
    • Time มีแต่เวลา
    • Date/Time/Timezone จะมีทั้งวันที่/เวลา/timezone เช่น +7:00 คือ GMT+7
    • Duration เป็นระยะเวลา แสดงเป็น วัน:ชม:นาที:วินาที (มักเกิดจากการคำนวณ)

    นอกนั้นมีอย่างละแบบ

    • Text ข้อความ
    • True/False เป็นค่า Logic จริง เท็จ
    • Binary คือ ตัวข้อมูลกลุ่มโครงสร้างพิเศษ ไม่ได้มีตัวเดียว
    • Using Locale เอาไว้จัดการเวลาเจอข้อมูลที่มี Format แปลกๆ ที่ขึ้นอยู่กับแต่ละประเทศ เช่น วันที่ หรือ สกุลเงิน ซึ่งจะอธิบายละเอียดในบทหลังๆ ไปครับ

    กรณีที่ Step ก่อนหน้าเคยเปลี่ยน Data Type ไปแล้ว และเรากดเปลี่ยน Data Type อีก (เช่น เปลี่ยน ID สินค้าเป็น Text หลังจาก Changed Type แบบ Auto เป็นตัวเลขไปแล้ว) มันจะขึ้นมาถามว่า จะสร้าง Step ใหม่ หรือ แก้ไข Step เดิม

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 129

    ถ้าเราตอบว่า Add New Step มันจะมีการแปลงประเภทข้อมูลโดย Add Step ใหม่เพิ่มเข้ามา

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 130

    แต่ถ้ากด Replace Current มันจะแก้สูตรใน Step เดิม ให้ ID สินค้าเป็น Text โดยไม่เพิ่ม Step ใหม่

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 131

    สังเกตว่าสูตรเดิมมีการเปลี่ยน 

    จาก

    = Table.TransformColumnTypes(Source,{{“ID สินค้า”, Int64.Type}…

    เป็น

    = Table.TransformColumnTypes(Source,{{“ID สินค้า”, type text}…

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

    บทความนี้มีที่มายังไง?

    บทความนี้เป็นส่วนหนึ่งของตัวอย่างจาก หนังสือ Excel Power Up! เพิ่มพลังการใช้ Excel ของคุณด้วย Power Query โดยผมเอาเนื้อหาบทแรกๆ ซัก 25-30% มาลงในเว็บให้อ่านกันฟรีๆ เลย คนอ่านจะได้ตัดสินใจได้ว่าอยากจะรู้เรื่องราวหลังจากนั้นอีกมั้ย? ซึ่งแค่นี้ก็น่าจะช่วยงานคุณได้เยอะพอสมควรแล้วล่ะ


    หากสนใจอ่านตัวอย่างบทอื่นๆ ของหนังสือ ลองดูที่สารบัญข้างล่างได้เลยครับ ^^

    สารบัญ Power Query

    บทนำ : ทำไมต้องเรียนรู้ Power Query? [ไฟล์ประกอบ]
    บทที่ 1 : เข้าใจขั้นตอนการทำรายงานสรุป / วิเคราะห์ข้อมูล [ไฟล์ประกอบ]
    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query [ไฟล์ประกอบ]
    บทที่ 3 : ภาพรวมการทำงานกับ Power Query [ไฟล์ประกอบ]
    บทที่ 4 : งานที่ยุ่งยากใน Excel กลับง่ายมากใน Power Query [ไฟล์ประกอบ]
    บทที่ 5 : การจัดการหัวตาราง [ไฟล์ประกอบ]
    บทที่ 6 : การคำนวณเบื้องต้น [ไฟล์ประกอบ]
    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ [ไฟล์ประกอบ]
    บทที่ 8 : การสร้างคอลัมน์ใหม่แบบกำหนดเองด้วย Custom Column [ไฟล์ประกอบ]
    บทที่ 9 : การสร้างคอลัมน์ใหม่ตามเงื่อนไข [ไฟล์ประกอบ]
    บทที่ 10 : การรวมกลุ่มข้อมูลด้วย Group By [ไฟล์ประกอบ]
    บทที่ 11 : การพลิกคอลัมน์เป็นหัวตารางด้วย Pivot Column [ไฟล์ประกอบ]
    บทที่ 12 : การยุบหัวตารางหลายคอลัมน์ให้เหลือคอลัมน์เดียวด้วย Unpivot [ไฟล์ประกอบ]
    บทที่ 13 : การแยกข้อมูลในคอลัมน์เดียวออกจากกันด้วย Split Column [ไฟล์ประกอบ]
    บทที่ 14 : การใช้ Query เป็นตัวแปร [ไฟล์ประกอบ]
    บทที่ 15 : การรวมข้อมูลจากหลาย Query [ไฟล์ประกอบ]
    บทที่ 16 : การดึงข้อมูลจาก Excel ไฟล์อื่น [ไฟล์ประกอบ]
    บทที่ 17 : การดึงข้อมูลจาก Text File/ CSV File [ไฟล์ประกอบ]
    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder [ไฟล์ประกอบ]
    บทที่ 19 : การดึงข้อมูลจากแหล่งอื่นๆ
    บทที่ 20 : การเตรียม Data เพื่อทำ Dashboard
    บทที่ 21 : การทำ Pivot Table เพื่อสร้าง Dashboard
    บทที่ 22 : เจาะลึก M Code หัวใจของ Power Query
    บทที่ 23 : Function คือ ขุมพลังที่แท้จริงของ M Code [ไฟล์ประกอบ]
    บทที่ 24 : ตัวอย่างการสร้าง Custom Function [ไฟล์ประกอบ]
    บทที่ 25 : การวน Loop [ไฟล์ประกอบ]
    บทส่งท้าย : เทพที่แท้จริง

    อ่านเนื้อหาบท 22 เป็นต้นไปแบบปรับปรุงใหม่ได้ฟรี ที่นี่ (อัปเดทเรื่อยๆ)

    Facebook Group : Power Query Thailand

    บทที่ 5 : การจัดการหัวตาราง ใน Power Query 132
    Facebook Group : Power Query Thailand

    ผู้ที่สนใจ Power Query อย่างคุณที่มาอ่านบทความนี้ ผมขอเชิญชวนเข้ากลุ่มปิด Power Query Thailand ได้ตาม Link นี้ครับ

  • บทที่ 4 : งานที่ยุ่งยากใน Excel กลับง่ายมากใน Power Query

    บทที่ 4 : งานที่ยุ่งยากใน Excel กลับง่ายมากใน Power Query

    Power Query นั้นมีจุดแข็งอย่างมากเรื่องความสามารถในการดัดแปลงข้อมูลให้อยู่ในรูปแบบที่เหมาะสม โดยมีเครื่องมือมากมายที่จะช่วยเราในเรื่องนั้นได้ เรามาดูกันรวมๆ ก่อนว่ามันมีเครื่องมืออะไรที่น่าสนใจบ้าง ซึ่งผมคัดเลือกเครื่องมือที่ผมคิดว่าเจ๋งๆ มาให้บางส่วนดังนี้

    ลองอ่านดูคร่าวๆ ก่อน จะได้เห็นภาพว่า Power Query นั้นทำอะไรได้แบบที่กดด้วยเครื่องมือได้เลยบ้าง สำหรับบางตัวที่มีความซับซ้อนมากๆ ผมจะมีการอธิบายโดยละเอียดอีกทีนึงด้วยครับ

    เครื่องมือจัดการโครงสร้างหัวตาราง

    ชื่อเครื่องมือ
    ใน Power Query
    ความสามารถคล้ายอะไร
    ใน Excel?
    Use First Row as Headersทำให้แถวแรกสุดเป็นหัวตารางInsert Table แล้วติ๊กหัวตาราง
    Use Headers as First Rowทำให้หัวตารางมาเป็นแถวแรกConvert Table to Range
    Change Data Typeเปลี่ยนประเภทข้อมูล=A1*1 แปลงเป็นเลข
    =A1&”” แปลงเป็น Text

    จัดการแถว

    ชื่อเครื่องมือ
    ใน Power Query
    ความสามารถคล้ายอะไร
    ใน Excel?
    Remove Rows →
    Remove Top/Bottom Rows
    ลบแถวบนสุด/ล่างสุด xxx แถวDelete Row แบบ Manual
    Remove Rows →
    Remove Duplicates
    ทำให้เหลือแต่ข้อมูลที่ไม่ซ้ำกันData → Remove Duplicates
    Remove Rows →
    Remove Blank Rows
    เอาแถวว่างแบบว่างทั้งแถวออก
    กด Filter หัวตารางแต่ละคอลัมน์เลือกว่าจะให้เหลือบรรทัดที่มีข้อมูลแบบไหนบ้างData → Filter
    (แต่ Power Query เอาข้อมูลทิ้งไปเลย ไม่ใช่แค่ซ่อนแถวเหมือน Excel)
    กด Sort หัวตารางแต่ละคอลัมน์เรียงข้อมูลตามที่กำหนด แต่กดหลายๆ Step ต่อเนื่องกันได้เลยData → Sort
    Reverse Rowกลับแถวล่างสุดมาอยู่บนสุดData → Sort ข้อมูลกลับด้าน

    จัดการคอลัมน์

    ชื่อเครื่องมือ
    ใน Power Query
    ความสามารถคล้ายอะไร
    ใน Excel?
    Remove Columns →
    Remove Columns
    ลบคอลัมน์ที่เลือกDelete Column แบบ Manual
    Remove Columns →
    Remove Other Columns
    ลบคอลัมน์ที่ไม่ได้เลือกออกให้หมด
    และเรียงลำดับคอลัมน์ใหม่ตามลำดับการคลิ๊กด้วย

    Choose Columnsติ๊กเลือกว่าจะเอาคอลัมน์ไหนไว้บ้าง
    Merge Columnsรวมข้อมูลจากหลายคอลัมน์
    เข้าด้วยกัน ใส่ตัวคั่นได้
    เหมือนการใช้ & ในสูตร เช่น =A1&A2
    Custom Columnเพิ่มคอลัมน์แบบสามารถเขียนสูตรเอง
    โดยใช้ภาษา M Code เป็นตัวเขียน
    เขียนสูตรใน Excel Table แบบ Structure Reference

    เช่น
    สูตรยอดขายจะเขียนว่า
    =[@ราคาต่อหน่วย]*[@จำนวนชิ้น]
    Column from Examplesเพิ่มคอลัมน์ตามตัวอย่างที่เรากรอกให้
    แล้วมันจะคิดสูตรให้เอง
    เครื่องมือ Flash Fill
    Invoke Custom Functionเรียกใช้ฟังก์ชันที่เขียนขึ้นมาเอง เป็นสุดยอดเครื่องมือที่มีความสามารถสูง
    เพราะเราสามารถรวบคำสั่งหรืองาน
    ที่ต้องทำไว้เป็นฟังก์ชัน แล้วนำมาเรียกใช้ตรงนี้ได้
    เรียกใช้ User Defined Function ที่เขียนใน VBA
    Index Columnสร้างเลข Running ขึ้นมาได้ลาก Fill Handle แบบ Running

    เครื่องมือแก้ไขตัวข้อมูลในแต่ละช่อง

    ชื่อเครื่องมือ
    ใน Power Query
    ความสามารถคล้ายอะไร
    ใน Excel?
    Replace Valuesแทนค่าข้อมูลที่กำหนด ด้วยข้อมูลอีกตัวเครื่องมือ Find & Replace (Ctrl+H)
    Fill → Down / Fill →  Upถมค่าช่องว่างด้วยค่าด้านบน /ด้านล่าง (ถ้าจะ Fill Right/Left ต้องใช้ Transpose มาช่วย) ดับเบิ้ลคลิ๊กที่ Fill Handle ของตัวด้านบน
    Format →Lower Case / Upper Caseทำให้เป็นตัวพิมพ์เล็ก/พิมพ์ใหญ่ (จำเป็นมาก เพราะ Power Query เป็น Case-Sensitive)
    Format →Trimตัดช่องว่างหน้าคำและหลังคำออก (ระวัง! Trim ใน Power Query ไม่ตัดช่องว่างกลางออกให้เหมือน Excel)ฟังก์ชัน TRIM

    (แต่ TRIM ใน Excel ตัดช่องว่างตรงกลางให้เหลือแค่ 1 เคาะด้วย)
    Extract →
    Length
    หาจำนวนตัวอักษรฟังก์ชัน LEN
    Extract →
    First/Last Character
    เอาบางส่วนของข้อความจากทางซ้าย/ขวา ตามจำนวนตัวอักษรที่กำหนดฟังก์ชัน LEFT / RIGHT
    Extract →
    Range
    เอาบางส่วนของข้อความจากช่วงที่กำหนดฟังก์ชัน MID
    Extract →
    Text Before/After Delimiter
    เอาบางส่วนของข้อความที่อยู่ก่อน/หลัง ตัวคั่นที่กำหนด
    Extract →
    Text Between Delimiter
    เอาบางส่วนของข้อความที่อยู่ระหว่างตัวคั่นที่กำหนด

    เครื่องมือเกี่ยวกับโครงสร้างหน้าตาตาราง

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

    ชื่อเครื่องมือ
    ใน Power Query
    ความสามารถคล้ายอะไร
    ใน Excel?
    Transposeพลิกแถวเป็นคอลัมน์ คอลัมน์เป็นแถว (มักใช้กับการแก้หัวตาราง)Copy → Paste แบบ Transpose
    Append Queriesเอาข้อมูลสองตารางขึ้นไปมาต่อกัน โดยดูจากชื่อหัวตารางที่เหมือนกัน (บน-ล่าง)
    Merge Queriesเอาคอลัมน์มาจากอีกตารางที่มีความเกี่ยวข้องกัน (ซ้าย-ขวา)ฟังก์ชัน VLOOKUP
    Group ByGroup ข้อมูลตามคอลัมน์ที่กำหนด ทำให้เหลือรายการที่ไม่ซ้ำกัน แล้วสามารถสรุปข้อมูลในคอลัมน์ที่เหลือได้คล้ายใช้ Pivot Table ลาก Field ไปไว้ที่ Row แล้วลากอีก Field ไว้ที่ Value
    Pivot Columnพลิกเอาข้อมูลที่มีหลายรายการในคอลัมน์ที่กำหนด ทำให้ไม่ซ้ำกัน แล้วย้ายให้ไปเป็นหัวตาราง (หลายคอลัมน์) แล้วสรุปข้อมูลจากคอลัมน์ที่กำหนดได้คล้ายใช้ Pivot Table ลาก Field ไปไว้ที่ Column แล้วลากอีก Field ไว้ที่ Value
    Unpivot Columnsพลิกเอาข้อมูลที่แยกอยู่หลายคอลัมน์ ให้มาอยู่ในคอลัมน์เดียวแต่หลายบรรทัดแทน
    Split Columnแยกข้อความคอลัมน์ที่กำหนดออกมาเป็นหลายๆ คอลัมน์หรือหลายๆแถวเครื่องมือ Text to Column
    Convert to Listเปลี่ยนคอลัมน์ที่เลือกให้กลายเป็น List
    Count Rowsให้ผลลัพธ์ค่าเดียวว่าตารางมีทั้งหมดกี่แถว (นับแถวว่างด้วย)

    เครื่องมือเพื่อสรุปข้อมูล / คำนวณข้อมูล

    ชื่อเครื่องมือ
    ใน Power Query
    ความสามารถคล้ายอะไร
    ใน Excel?
    Statistics → Sum / Minimum / Maximumหาผลรวม / ค่าน้อยสุด/มากสุดฟังก์ชัน SUM / MIN / MAX
    Statistics →Median / Averageหาค่ามัธยฐาน (ค่าที่อยู่กลางเวลาเรียงจากน้อยไปมาก) /
    หาค่าเฉลี่ย
    ฟังก์ชัน MEDIAN / AVERAGE
    Statistics →Count Valuesนับจำนวนข้อมูล (ไม่นับช่องว่าง)ฟังก์ชัน COUNTA
    Statistics →Count Distinct Valuesนับจำนวนข้อมูลแบบไม่ซ้ำกัน (ไม่นับช่องว่าง)เหมือนใช้ Distinct Count ใน Power Pivot / DAX 
    Standard →
    Add/Multiply/
    Subtract/Divide
    บวก/ลบ/คูณ/หาร ปกติเหมือนเครื่องหมาย +, -, *,/
    Standard →
    Integer-Divide
    หารแล้วปัดเศษทิ้งให้เป็นจำนวนเต็ม
    Standard →
    Modulo
    คำนวณหาเศษเหลือจากการหาร
    เช่น 10 หาร 3 เหลือเศษ 1
    ฟังก์ชัน MOD
    Standard →
    Percentage
    คำนวณเอาคอลัมน์ที่เลือกไปคูณกับ % ที่กำหนด
    Standard →
    Percent Of
    คำนวณว่าค่าในคอลัมน์ที่เลือกเป็นกี่ % ของค่าที่กำหนด

    บทความนี้มีที่มายังไง?

    บทความนี้เป็นส่วนหนึ่งของตัวอย่างจาก หนังสือ Excel Power Up! เพิ่มพลังการใช้ Excel ของคุณด้วย Power Query โดยผมเอาเนื้อหาบทแรกๆ ซัก 25-30% มาลงในเว็บให้อ่านกันฟรีๆ เลย คนอ่านจะได้ตัดสินใจได้ว่าอยากจะรู้เรื่องราวหลังจากนั้นอีกมั้ย? ซึ่งแค่นี้ก็น่าจะช่วยงานคุณได้เยอะพอสมควรแล้วล่ะ


    หากสนใจอ่านตัวอย่างบทอื่นๆ ของหนังสือ ลองดูที่สารบัญข้างล่างได้เลยครับ ^^

    สารบัญ Power Query

    บทนำ : ทำไมต้องเรียนรู้ Power Query? [ไฟล์ประกอบ]
    บทที่ 1 : เข้าใจขั้นตอนการทำรายงานสรุป / วิเคราะห์ข้อมูล [ไฟล์ประกอบ]
    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query [ไฟล์ประกอบ]
    บทที่ 3 : ภาพรวมการทำงานกับ Power Query [ไฟล์ประกอบ]
    บทที่ 4 : งานที่ยุ่งยากใน Excel กลับง่ายมากใน Power Query [ไฟล์ประกอบ]
    บทที่ 5 : การจัดการหัวตาราง [ไฟล์ประกอบ]
    บทที่ 6 : การคำนวณเบื้องต้น [ไฟล์ประกอบ]
    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ [ไฟล์ประกอบ]
    บทที่ 8 : การสร้างคอลัมน์ใหม่แบบกำหนดเองด้วย Custom Column [ไฟล์ประกอบ]
    บทที่ 9 : การสร้างคอลัมน์ใหม่ตามเงื่อนไข [ไฟล์ประกอบ]
    บทที่ 10 : การรวมกลุ่มข้อมูลด้วย Group By [ไฟล์ประกอบ]
    บทที่ 11 : การพลิกคอลัมน์เป็นหัวตารางด้วย Pivot Column [ไฟล์ประกอบ]
    บทที่ 12 : การยุบหัวตารางหลายคอลัมน์ให้เหลือคอลัมน์เดียวด้วย Unpivot [ไฟล์ประกอบ]
    บทที่ 13 : การแยกข้อมูลในคอลัมน์เดียวออกจากกันด้วย Split Column [ไฟล์ประกอบ]
    บทที่ 14 : การใช้ Query เป็นตัวแปร [ไฟล์ประกอบ]
    บทที่ 15 : การรวมข้อมูลจากหลาย Query [ไฟล์ประกอบ]
    บทที่ 16 : การดึงข้อมูลจาก Excel ไฟล์อื่น [ไฟล์ประกอบ]
    บทที่ 17 : การดึงข้อมูลจาก Text File/ CSV File [ไฟล์ประกอบ]
    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder [ไฟล์ประกอบ]
    บทที่ 19 : การดึงข้อมูลจากแหล่งอื่นๆ
    บทที่ 20 : การเตรียม Data เพื่อทำ Dashboard
    บทที่ 21 : การทำ Pivot Table เพื่อสร้าง Dashboard
    บทที่ 22 : เจาะลึก M Code หัวใจของ Power Query
    บทที่ 23 : Function คือ ขุมพลังที่แท้จริงของ M Code [ไฟล์ประกอบ]
    บทที่ 24 : ตัวอย่างการสร้าง Custom Function [ไฟล์ประกอบ]
    บทที่ 25 : การวน Loop [ไฟล์ประกอบ]
    บทส่งท้าย : เทพที่แท้จริง

    อ่านเนื้อหาบท 22 เป็นต้นไปแบบปรับปรุงใหม่ได้ฟรี ที่นี่ (อัปเดทเรื่อยๆ)

    Facebook Group : Power Query Thailand

    บทที่ 4 : งานที่ยุ่งยากใน Excel กลับง่ายมากใน Power Query 133
    Facebook Group : Power Query Thailand

    ผู้ที่สนใจ Power Query อย่างคุณที่มาอ่านบทความนี้ ผมขอเชิญชวนเข้ากลุ่มปิด Power Query Thailand ได้ตาม Link นี้ครับ

  • บทที่ 3 : ภาพรวมการทำงานกับ Power Query

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query

    Power Query นั้นมีขั้นตอนการทำงานหลักๆ อยู่ 3 ขั้น คือ

    1. Get Data : เอาข้อมูลจากไหน?
    2. Transform Data : ดัดแปลงข้อมูลยังไง?
    3. Load Data to… : เสร็จแล้วจะเอา Data ไปไว้ไหน?

    ก่อนอื่นให้โหลดไฟล์ตัวอย่างอันนี้ แล้วเรามาดูรายละเอียดแต่ละขั้นตอนกันครับ

    Step1 : Get Data เอาไว้เลือกว่าเอาแหล่งข้อมูลจากไหน?

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 134

    Get Data เป็นขั้นตอนแรกที่เราต้องทำ ซึ่งเป็นการเลือกว่าอยากให้ Power Query เอาข้อมูลจากไหน? เราสามารถเลือกข้อมูลได้หลากหลายรูปแบบมากๆ เช่น ข้อมูลจากในไฟล์ Excel เดียวกับที่เปิดอยู่ หรือเอาจากแหล่งอื่น? 

    ถ้าเอาจากแหล่งอื่นก็จะต้องกดปุ่ม Get Data (หรือ บางคนจะเห็นเป็นปุ่ม New Query) ก็จะดึงข้อมูลเช่น จาก Excel ไฟล์อื่น, Text File, CSV, Access, Database ต่างๆ, Website, Facebook 

    แต่แบบที่ผมคิดว่าเจ๋งสุดๆ คือ การดึงข้อมูลทุกไฟล์จาก Folder ที่กำหนด ซึ่งจะทำให้เราทำงานได้อัตโนมัติมากขึ้นอีก เพราะแค่โยนไฟล์ที่เกี่ยวข้องลงไปใน Folder นั้นแล้วกด Refresh มันก็ดูดข้อมูลไฟล์ใน Folder นั้นมาจัดการได้เลย ซึ่งในสมัยก่อน หากเราจะทำแบบนี้ได้ต้องเขียนโปรแกรม VBA เพื่อวน Loop รายชื่อไฟล์ใน Folder เท่านั้น ซึ่งยากกว่าการใช้ Power Query แยะครับ 555

    Tips : อย่างไรก็ตาม การดึงข้อมูลจากแต่ละ Source นั้นมีประสิทธิภาพไม่เท่ากัน เช่น การดึงไฟล์ CSV จะเร็วกว่าการดึงไฟล์จาก Excel แต่ก็ยังแพ้ให้กับความเร็วในการดึงข้อมูลจาก Database โดยตรง ซึ่งเร็วกว่ามากๆ เพราะว่ามันรองรับการ Query ข้อมูลบางส่วนมาได้โดยไม่ต้องโหลดข้อมูลทั้งหมดมาก่อนครับ

    ลอง Get Data จากในไฟล์ Excel ตัวเองเข้าไปใน Power Query ก่อน

    หากเราจะดึงข้อมูลในไฟล์ Excel เดียวกับที่ทำ Power Query และข้อมูลอยู่ติดกันหมดอยู่แล้ว ให้เลือกข้อมูลช่องใดช่องหนึ่ง แล้วกด Data → From Table/Range เพื่อสร้าง Table ได้เลย (แต่ถ้าขอบเขตพื้นที่ไม่ค่อยชัดเจนต้องเอา Mouse เลือกพื้นที่ดีๆ ก่อนทำเป็น Table นะ)

    หากข้อมูลเป็น Table อยู่แล้ว มันจะเอาเข้า Power Query ไปเลย แต่ถ้ายังเป็น Rangle ธรรมดาๆ อยู่ มันจะบังคับให้แปลงเป็น Table ก่อนเสมอ (พฤติกรรมนี้จะเกิดขึ้นเฉพาะกรณีดึงจากข้อมูลในไฟล์ตัวเองเท่านั้น)

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 135

    พอกด Ok มันจะเอาข้อมูลใน Table นี้เข้าไปในเครื่องมือ Power Query Editor ทันที !!

    Tips : ถ้าดึงข้อมูลจากไฟล์อื่นมันจะให้เลือกก่อนว่าจะ Load Data ออกมาเลย หรือจะ Edit/Transform ถ้ากด Edit/Transform ก็จะเข้าสู่ Power Query Editor เช่นกัน

    Step2 : Power Query Editor เลือกว่าจะดัดแปลงข้อมูลแบบไหน?

    Power Query Editor มีองค์ประกอบ 5 ส่วนหลักๆ คือ

    1. Ribbons : แถบเครื่องมือด้านบน มีเครื่องมือให้เลือกใช้มากมาย
    2. Formula Bar : แสดงสูตรของ Step ที่เราเลือก (เข้ามาครั้งแรกอาจจะยังไม่เห็น)
    3. Queries Pane : อยู่ด้านซ้ายมือ โดย List ของ Query ทั้งหมดในไฟล์ Excel หรือ Power BI ที่เราเปิดอยู่ (มันอาจจะหดอยู่ สามารถกดลูกศรให้แสดงออกมาได้) เราสามารถเปลี่ยนชื่อ Query ในนี้ได้ด้วยการ Double Click ที่ Query ที่ต้องการด้วยครับ
    4. Preview Pane : พื้นที่ตรงกลางที่จะแสดงผลลัพธ์ข้อมูล (แค่บางส่วน)
    5. Query Setting  : อยู่ด้านขวามือ มี Applied Steps บอกว่าเราทำอะไรไปกับข้อมูลบ้าง ซึ่งสามารถแก้ไข/ลบ/สลับลำดับ Step ได้ด้วย และก็สามารถเปลี่ยนชื่อ Query ในช่อง Name ได้เช่นกัน
    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 136

    ข้อมูลวันที่ แต่ละคนอาจเห็นไม่เหมือนกัน

    หากลองสำรวจดูในส่วนที่ Preview Pane จะพบว่า ข้อมูลวันที่หากออกมาถูกต้องจะอยู่ชิดขวา และจะใช้รูปแบบวันที่ตามที่ตั้งค่าไว้ใน Control Panel ของเครื่องคอมพิวเตอร์ของเรา (ตรงกับรูปแบบด้านขวาล่างของหน้าจอ ซึ่งของผม ณ ตอนนี้เป็นแบบ Thai) ดังนั้นแต่ละคนอาจเห็นรูปแบบเป็น วัน/เดือน/ปี  เดือน/วัน/ปี หรืออาจจะเห็นเป็น ค.ศ. หรือ พ.ศ. ก็ได้ 

    ตรงนี้ยังไม่ต้องซีเรียสหากวันที่ขึ้นไม่เหมือนกับผม เพราะหากเรายังใช้การ Get Data จากวันที่ใน Excel (ซึ่งบันทึกข้อมูลวันที่แบบถูกต้องแล้วจริงๆ) Power Query จะไม่มีปัญหาเรื่องวันที่ครับ แต่ถ้าดึงข้อมูลจาก CSV/Text File หรือวันที่ที่เป็น Text จะต้องมีการจัดการวันที่อย่างเหมาะสม ซึ่งผมจะมีการอธิบายโดยละเอียดในบทที่เราดึงข้อมูลจาก Text/CSV ในช่วงหลังครับ

    สำรวจ Toolbar

    ถ้ายังไม่เห็น Formula Bar ให้เราเข้าไปติ๊ก option ใน View → Formula Bar ซะก่อน

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 137

    Tips : กรณีที่สูตรยาวมากๆ ให้กดลูกศรด้านขวาของ Formula Bar เพื่อขยายพื้นที่ให้มันใหญ่ขึ้นครับ

    ถ้าสังเกตใน Ribbon ซึ่งจะมี 4 แถบ ดังนี้

    • Home : รวมคำสั่งที่น่าจะใช้บ่อยเอาไว้
    • Transform : เป็นการดัดแปลงข้อมูล โดยแก้ที่ข้อมูลในคอลัมน์เดิมที่เลือกไว้เลย
    • Add Column : เป็นการดัดแปลงข้อมูล โดยไปสร้างคอลัมน์ขึ้นมาใหม่เลย คอลัมน์เดิมจะไม่ได้รับผลกระทบไปด้วย
    • View : เอาไว้ดูเรื่องที่ Advance มากขึ้น เช่น Formula Bar, Advanced Editor, Query Dependency

    คำสั่งหลายๆ อันจะอยู่ทั้งในแถบเครื่องมือ Transform กับ Add Column เหมือนกัน แต่จะต่างกันตรงที่หากกดจาก Transform จะเป็นการแก้ข้อมูลในคอลัมน์เดิม (แก้ทับช่องเดิม) แต่ Add Column จะเป็นการเพิ่มคอลัมน์ใหม่ (ไม่กระทบอันเดิม) เช่น 

    • ถ้ากด Format → UPPERCASE ที่ Transform จะแก้คอลัมน์ที่เราเลือกให้เป็นตัวพิมพ์ใหญ่ทันที
    • ถ้ากด Format → UPPERCASE ที่ Add Column จะสร้างคอลัมน์ใหม่ โดยเอาข้อมูล Input จากคอลัมน์ที่เราเลือกแล้วแปลงเป็นตัวพิมพ์ใหญ่

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

    เริ่ม Transform ข้อมูล

    ต่อไปเราจะ Filter เอาเฉพาะผู้ขายเป็น sales ค และสินค้าเป็น หนังสือ เท่านั้น โดยเราสามารถไป Filter ทีละคอลัมน์ได้เลย โดยผมขอ Filter ผู้ขายเป็น sales ค ก่อน

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

    และขั้นตอน Filtered Rows จะมีรูปฟันเฟืองขึ้นมาให้เราสามารถกดแก้ไขเงื่อนไขการ Filter ครั้งนี้ได้ด้วย (เผื่อว่าในอนาคตอยากแก้ไข Step นี้ก็สามารถกดที่ฟันเฟืองได้เลยครับ)

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 138
    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 139

    แต่ว่าตอนนี้เราจะยังไม่แก้อะไรที่ฟันเฟือง แต่จะลอง Filter ที่คอลัมน์สินค้าให้เหลือแต่หนังสือ จะพบว่า ผลลัพธ์ก็จะเหลือแค่ sales ค และ สินค้าเป็น หนังสือตามที่เราทำ

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 140

    แต่ปรากฏว่าใน Applied Step มันจะบันทึกรวมการ Filter ทั้งสองอันนี้ไว้ในขั้นตอนเดียวเลย ทั้งนี้เพราะปกติแล้ว Power Query จะพยายามรวบสูตรให้เหลือ Step เดียวถ้าเป็นคำสั่งเดียวกัน (เช่น Filter หลายคอลัมน์ หรือ Sort หลายคอลัมน์) ทั้งนี้เพื่อไม่ให้ Step ขึ้นมาเยอะเกินไป (แต่ที่แย่คือรูปฟันเฟืองอาจจะหายไปด้วย!) 

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 141

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

    Tips: ถ้าเราทำการดัดแปลงข้อมูลด้วย Step ที่เป็นคนละคำสั่งกัน มันจะแยก Step ออกมาชัดเจนเลยครับ เช่น Filter ก่อน แล้วทำอย่างอื่นเช่น Sort แล้ว Filter อีกที คราวนี้จะแยกกันหมดเลย ดังนั้นหากมันเกิดการรวบ Step แบบที่เราไม่ต้องการ เราบังคับแยก Step ด้วยวิธีนี้ก่อนแล้วเราค่อยกดลบ Step คั่นกลางที่ไม่ต้องการออกทีหลังได้นะ

    สิ่งที่เราทำลงไปทั้งหมดจะถูกบันทึกไว้เป็น M Code

    สูตรใน Formula Bar

    หากเรากดดูที่แต่ละ Step ที่เราทำไป เช่น ดู Step ที่ชื่อว่า Filtered Rows จะพบว่ามีสูตรเกิดขึ้นใน Formula Bar ที่แตกต่างกันในแต่ละ Step ด้วย 

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 142

    ดังนั้นการที่เรากด Filter โดยแท้จริงก็คือการเลือกว่าจะเอาบรรทัดไหนไว้ สิ่งที่เกิดขึ้นก็คือ Power Query จะทำการสร้างสูตร M Code ที่ชื่อว่า Table.SelectRows ขึ้นมาโดยอัตโนมัติ นั่นแปลว่า การกดคำคั่งเป็นเมนู เป็นแค่ตัวช่วยสร้าง M Code ขึ้นมานั่นเอง

    เจ้า M Code หรือ M Language นี่เองเป็นภาษาที่ Power Query ใช้ทำงานทั้งหมด ทุกอย่างที่เกิดขึ้นใน Power Query สามารถเขียนหรือถูกแปลงออกมาเป็น M Code ได้ทั้งนั้น

    ยกตัวอย่างเช่น ผมลองลบคอลัมน์ที่ไม่ต้องการออก เช่น ผมจะเอาคอลัมน์วิธีการชำระเงินออกไป โดย คลิ๊กขวา Remove หรือ เลือกคอลัมน์แล้วกด Del บนคีย์บอร์ดก็ได้

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 143

    จะเห็นว่าคอลัมน์ที่เราเลือกก็จะหายไป และสูตรใน Formula Bar ก็จะเปลี่ยนไปด้วย กลายเป็นสูตรของ Step ที่เราลบคอลัมน์ออก

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 144

    ดู M Code ทั้งหมดได้ใน Advanced Editor

    การดู M Code ที่ Formula Bar นั้นเป็นการดู Code ทีละ Step แต่ถ้าหากเราอยากดู M Code ทั้งหมดของทั้ง Query นี้เลย ให้กดดูที่ View → Advanced Editor ได้เลย เจ้า M Code นี่เองคือเบื้องหลังการทำงานทั้งหมดของ Query นี้ (ถ้ายังดูไม่รู้เรื่องเลยก็ไม่ต้องแปลกใจครับ ใครๆ เห็นครั้งแรกก็ช๊อคทั้งนั้น 555) 

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 145

    เราสามารถ Copy M Code นี้ไปถามเพื่อนหรือผู้เชี่ยวชาญการทำ Power Query ใน Internet เพื่อปรึกษาปัญหาต่างๆ ได้ โดยไม่ต้องนั่ง Save Screenshot ทุก Step ว่าเราทำอะไรไปบ้าง เนื่องจากหากคนอ่าน M Code เป็น ก็จะเข้าใจเรื่องราวทั้งหมดในทันที (แต่ต้องเห็นหน้าตา Data Source ตั้งต้นด้วยนะ ไม่งั้นจะรู้ได้ไงว่าแรกสุดเป็นยังไง 55)

    เราต้องเข้าใจ M Code มั้ย? 

    โดยทั่วไปเจ้าเครื่องมือ User Interfaceมาตรฐาน ที่กดง่ายๆ ของ Power Query น่าจะช่วย Cover งานของพวกเราได้ประมาณ 70%-80% แล้วล่ะ แปลว่าถึงไม่เข้าใจ M Code เราก็ใช้ Power Query ได้ครับ 

    แต่มันก็ยังมีงานบางอย่างที่จำเป็นต้องมีการแก้ไข M Code ให้ Power Query เราทำงานได้ดียิ่งขึ้นไปอีกครับ ซึ่งเราจะลงรายละเอียดกันทีหลังครับ

    Step 3 : Load To เพื่อสั่งว่าจะให้เอาผลลัพธ์ไว้ที่ไหน? 

    ถ้าเราไปที่ Home → กดที่ icon Close & Load ไปเลย ปกติจะส่งข้อมูลออกไปเป็น Table ใหม่ทันที

    แต่ถ้ากดลูกศรแล้วเลือก Close & Load to… จะสามารถเลือก option ได้ว่าอยากให้ผลลัพธ์ไปโผล่ที่ไหน

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 146
    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 147

    ใน Excel จะมีให้เลือก 4 แบบหลักๆ คือ

    • Table : แบบนี้จะสร้างออกมาเป็น Table ก่อน ถ้าเอาไปเข้า Pivot Table อีกที ต้อง Refresh 2 ต่อ
    • PivotTable Report : ส่ง Data เข้า Pivot Table เลย สามารถ Refresh ที่ Pivot Table ทีเดียวจบ
    • PivotChart : เหมือน Pivot Table แต่เป็นการสร้างกราฟ (ซึ่งก็สร้าง Pivot Table อยู่ดี)
    • Only Create Connection : สร้าง Query ไว้เฉยๆ โดยยังไม่เอาข้อมูลออกมาจริงๆ

    และยังมี Option ให้เลือก Add this data to the Data Model ต่างหากอีกอันนึง ซึ่งตัว Data Model จะเอาไว้ใช้ทำ Power Pivot หรือ PivotTable แบบ Advance ต่อไปซึ่งจะรองรับเรื่องการผูก Relationship ระหว่างหลายๆ ตารางด้วยครับ

    หากจะสร้าง Power Pivot จะต้องเลือก Add this data to Data Model ด้วย และเมื่อเราสร้าง Pivot Table โดยใช้ Source Data จาก Data Model ก็จะสามารถ Refresh ข้อมูลที่ Pivot Table ทีเดียวได้เช่นกัน

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

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 148

    สังเกต วันที่ที่ออกมา คราวนี้ Format มันจะเป็น ค.ศ. นะครับ (อาจไม่ตรงกับที่ Preview ใน Power Query) และถ้าลองเปลี่ยน Format เป็น General จะได้เลข 4 หมื่นกว่าๆ ซึ่งเป็นค่าที่แท้จริงของวันที่ใน Excel ครับ

    Load แล้วทำอะไรต่อได้?

    เราสามารถกด Refresh ผลลัพธ์ที่ Load ออกมาแล้วได้

    สิ่งที่เป็นหัวใจสำคัญของ Power Query ก็คือความสามารถในการ Refresh ผลลัพธ์ได้ 

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

    ซึ่งการ Refresh โดยแท้จริงก็คือการสั่ง Run M Code ทั้งหมดที่เราสั่งไว้ให้มันทำงานแต่ละ Step นั่นเอง หรือพูดง่ายๆ คือ Run สิ่งที่อยู่ใน Advanced Editor ของ Query นั้นๆ ครับ

    Load แล้วเติมสูตรต่อภายหลังใน Table ผลลัพธ์ได้

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

    ซึ่งแนวทางนี้ก็ใช้ได้กับทั้ง Excel Table เองที่สามารถใช้สูตร Excel ธรรมดา และตัว Data Model เองที่สามารถใช้สูตรแบบ DAX ได้ครับ

    ดังนั้นการเขียนสูตรคำนวณจึงสามารถทำได้ทั้งใน Power Query เองด้วยการสร้าง Custom Column หรือจะเขียนสูตรใน Excel หรือจะเขียน Calculated Column เพิ่มใน Data Model ด้วย DAX ก็ได้ครับ (แต่อาจจะมีความยากง่ายและ Performance ที่ต่างกันแล้วแต่กรณีอีก)

    Load ออกมาแล้วจะแก้ไขทำยังไง?

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 149
    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 150

    ทำได้หลายแบบ เช่น ในบริเวณ Queries & Connections ด้านขวา สามารถคลิ๊กขวาแล้ว Edit เพื่อกลับไปแก้ไข Query ที่ต้องการได้เลย

    Tips : ถ้าหา Queries & Connections ด้านขวาไม่เจอ ก็ให้ไปที่แถบ Data → Queries & Connections (หรืออาจเห็นเป็น Show Queries)

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

    ยกตัวอย่างเช่น คุณสามารถลบ Step Filtered Rows ทิ้งได้โดยกดที่เครื่องหมายกากบาท ข้างหน้า Step Filtered Rows

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 151

    ครั้งนี้ผมอาจจะเปลี่ยนเป็นไป Filter ให้เหลือเฉพาะลูกค้า C00015 ก็ได้ จากนั้นกด Close & Load ออกมา จะเห็นว่าตารางเดิมที่เคยเป็น sales ค ขายหนังสือ ได้เปลี่ยนไปเป็นผลลัพธ์ใหม่คือลูกค้า C00015 ทันที 

    แต่หากเราเคย Load Query นั้นออกมาแล้ว ไม่ว่าจะ Load ด้วยวิธีไหนก็ตาม ครั้งต่อไปคำสั่ง Load To… จะกลายเป็นสีเทาไม่ให้เรากด เราจึงเลือกได้แต่ Close & Load เพียงอย่างเดียว 

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 152

    ซึ่งมันจะ Load ออกมาด้วยวิธีเดิมกับที่เคย Load ครั้งก่อนหน้าเสมอ (เช่น ก่อนหน้า Load ออกมาเป็น Table พอ Close & Load ก็จะออกมาเป็น Table)

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 153

    หากเราต้องการจะเปลี่ยนวิธีการ Load ให้ทำด้วยวิธีต่อไปนี้ 

    เปลี่ยนการ Load ทีหลังได้

    หากเราเคย Load Data ออกมาเป็นแบบนึงแล้ว ในแถบ Queries & Connection เราเราสามารถคลิ๊กขวาที่ Query ที่ต้องการ แล้วเลือก Load To… เพื่อเปลี่ยนวิธีการ Load ได้

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 154
    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 155

    ถ้าหากเคย Load ออกมาเป็น Table แล้วเราไปคลิ๊กขวา Load To… แล้วเปลี่ยนเป็น Connection Only ตัวTable ก็จะหายไป ส่วนตรง Query ก็จะกลายเป็น Connection Only

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 156
    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 157

    ในทางกลับกัน หากเราลบตารางผลลัพธ์ทิ้งไป ตรงบริเวณ Queries & Connections จะเปลี่ยนจาก Table เป็นการ Load แบบ Connection Only แทนเช่นกัน

    อย่างไรก็ตาม ถ้าเราใช้วิธีคลิ้กขวาแล้ว Delete Query ทิ้ง ตัว Table จะไม่หายไปนะครับ

    Duplicate Query vs Reference Query

    เราสามารถคลิ๊กขวาที่ Query ในแถบ Queries & Connection เพื่อที่จะสร้าง Query ใหม่ที่อ้างอิง Query เดิมได้ แต่มันจะมีให้เลือก 2 แบบ คือ Duplicate หรือ Reference Query

    ซึ่งดูเผินๆ ผลลัพธ์หน้าตาอาจดูเหมือนกัน แต่จริงๆ แล้วมีความต่างกันดังนี้

    • Duplicate : Copy Query ต้นฉบับออกมาเป็น Query ตัวใหม่อีกตัวนึง ซึ่งมี Step ทุกอย่างครบเหมือนเดิมทุกประการ (ผลลัพธ์ที่เหมือน Query ต้นฉบับจะอยู่ Step สุดท้าย)
    • Reference : สร้าง Query ใหม่โดยอ้าง Source ไปที่ผลลัพธ์จาก Query ต้นฉบับ ซึ่ง Step จะโผล่มาอันเดียว นั่นคือ เอาผลลัพธ์ของ Query ที่มันอ้างอิงถึงมาเป็น Source ของ Query ใหม่
      (ผลลัพธ์ที่เหมือน Query ต้นฉบับจะอยู่ตั้งแต่ Step แรกเลย)

    ข้อที่ต่างกันชัดเจน คือ หากเราไปแก้ที่ Query ต้นฉบับ เจ้า Duplicate Query จะไม่เปลี่ยนตาม แต่ Reference Query จะเปลี่ยนตามไปด้วย (เพราะมัน Link มาจากผลลัพธ์ของต้นฉบับนั่นเอง)

    บทความนี้มีที่มายังไง?

    บทความนี้เป็นส่วนหนึ่งของตัวอย่างจาก หนังสือ Excel Power Up! เพิ่มพลังการใช้ Excel ของคุณด้วย Power Query โดยผมเอาเนื้อหาบทแรกๆ ซัก 25-30% มาลงในเว็บให้อ่านกันฟรีๆ เลย คนอ่านจะได้ตัดสินใจได้ว่าอยากจะรู้เรื่องราวหลังจากนั้นอีกมั้ย? ซึ่งแค่นี้ก็น่าจะช่วยงานคุณได้เยอะพอสมควรแล้วล่ะ


    หากสนใจอ่านตัวอย่างบทอื่นๆ ของหนังสือ ลองดูที่สารบัญข้างล่างได้เลยครับ ^^

    สารบัญ Power Query

    บทนำ : ทำไมต้องเรียนรู้ Power Query? [ไฟล์ประกอบ]
    บทที่ 1 : เข้าใจขั้นตอนการทำรายงานสรุป / วิเคราะห์ข้อมูล [ไฟล์ประกอบ]
    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query [ไฟล์ประกอบ]
    บทที่ 3 : ภาพรวมการทำงานกับ Power Query [ไฟล์ประกอบ]
    บทที่ 4 : งานที่ยุ่งยากใน Excel กลับง่ายมากใน Power Query [ไฟล์ประกอบ]
    บทที่ 5 : การจัดการหัวตาราง [ไฟล์ประกอบ]
    บทที่ 6 : การคำนวณเบื้องต้น [ไฟล์ประกอบ]
    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ [ไฟล์ประกอบ]
    บทที่ 8 : การสร้างคอลัมน์ใหม่แบบกำหนดเองด้วย Custom Column [ไฟล์ประกอบ]
    บทที่ 9 : การสร้างคอลัมน์ใหม่ตามเงื่อนไข [ไฟล์ประกอบ]
    บทที่ 10 : การรวมกลุ่มข้อมูลด้วย Group By [ไฟล์ประกอบ]
    บทที่ 11 : การพลิกคอลัมน์เป็นหัวตารางด้วย Pivot Column [ไฟล์ประกอบ]
    บทที่ 12 : การยุบหัวตารางหลายคอลัมน์ให้เหลือคอลัมน์เดียวด้วย Unpivot [ไฟล์ประกอบ]
    บทที่ 13 : การแยกข้อมูลในคอลัมน์เดียวออกจากกันด้วย Split Column [ไฟล์ประกอบ]
    บทที่ 14 : การใช้ Query เป็นตัวแปร [ไฟล์ประกอบ]
    บทที่ 15 : การรวมข้อมูลจากหลาย Query [ไฟล์ประกอบ]
    บทที่ 16 : การดึงข้อมูลจาก Excel ไฟล์อื่น [ไฟล์ประกอบ]
    บทที่ 17 : การดึงข้อมูลจาก Text File/ CSV File [ไฟล์ประกอบ]
    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder [ไฟล์ประกอบ]
    บทที่ 19 : การดึงข้อมูลจากแหล่งอื่นๆ
    บทที่ 20 : การเตรียม Data เพื่อทำ Dashboard
    บทที่ 21 : การทำ Pivot Table เพื่อสร้าง Dashboard
    บทที่ 22 : เจาะลึก M Code หัวใจของ Power Query
    บทที่ 23 : Function คือ ขุมพลังที่แท้จริงของ M Code [ไฟล์ประกอบ]
    บทที่ 24 : ตัวอย่างการสร้าง Custom Function [ไฟล์ประกอบ]
    บทที่ 25 : การวน Loop [ไฟล์ประกอบ]
    บทส่งท้าย : เทพที่แท้จริง

    อ่านเนื้อหาบท 22 เป็นต้นไปแบบปรับปรุงใหม่ได้ฟรี ที่นี่ (อัปเดทเรื่อยๆ)

    Facebook Group : Power Query Thailand

    บทที่ 3 : ภาพรวมการทำงานกับ Power Query 158
    Facebook Group : Power Query Thailand

    ผู้ที่สนใจ Power Query อย่างคุณที่มาอ่านบทความนี้ ผมขอเชิญชวนเข้ากลุ่มปิด Power Query Thailand ได้ตาม Link นี้ครับ

  • บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query

    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query

    บทความนี้เป็นตัวอย่างตอนที่ 3 ของ Series เนื้อหา Power Query ซึ่งเป็นตัวอย่างจากหนังสือ Excel Power Up! (ใครสนใจตอนก่อนหน้านี้ให้ไปดูสารบัญด้านล่างนะครับ)

    ดูแบบคลิปวีดีโอได้ที่นี่

    Power Query คืออะไรกันแน่?

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

    จุดประสงค์หลักเพื่อทำให้ข้อมูลเน่าๆ (ที่อาจจะมาจากหลายแหล่ง หลาย Format หลายหน้าตา) ให้มาอยู่ในรูปแบบที่ Database เพื่อให้สามารถนำไปวิเคราะห์ต่อใน PivotTable, Power Pivot, Power BI ได้

    และเมื่อทำเสร็จแล้ว 1 ที หากจะทำซ้ำครั้งถัดไป แค่กด Refresh ทุกอย่างก็จบได้อย่างง่ายดาย

    Power Query มีจุดเด่นยังไง?

    • รวบรวมข้อมูลได้จากหลายที่ หลายรูปแบบ
    • ใช้งานง่าย มีปุ่มเมนูให้กด ไม่จำเป็นต้องเขียนสูตร
    • ทุกการกระทำจะถูกบันทึกเป็น Steps เอาไว้ (คล้ายๆ Record Macro แต่ง่ายกว่า)
    • ทำปุ๊ปเห็น Preview ผลลัพธ์ปั๊ป ไม่ต้องจินตนาการมากเท่าการเขียนสูตรหรือ VBA
    • สามารถแก้ไข สลับลำดับ หรือลบ Steps ที่ทำไว้ได้อย่างง่ายดาย
    • ทำซ้ำง่าย แค่กด Refresh มันจะทำซ้ำ Action ที่บันทึกไว้ทันที
    • แยกส่วน Query แล้วเอามาเชื่อมต่อกันทีหลังได้ ทำให้สร้างระบบที่ซับซ้อนได้
    • รองรับการทำงานที่ Advance มากขึ้นด้วย M Code ซึ่งเป็นภาษาพิเศษของ Power Query

    สรุป คือ Power Query ง่ายพอที่จะทำงานโหดๆ ที่เดิมต้องใช้สูตรยากๆ หรือ VBA ได้ด้วยแค่ปุ่มเมนูมาตรฐาน แต่ก็ยืดหยุ่นพอที่จะยอมให้เราแก้ไขเรื่อง Advance มาก ๆ ได้ด้วย M Code

    ข่าวดีคือ ส่วนที่ง่ายของ Power Query นั้นใช้เวลาเรียนรู้แป๊ปเดียวก็เข้าใจ แถมยังครอบคลุมการทำงานได้ซัก 70%-80% แล้วครับ! ดังนั้นมันเป็นอะไรที่ทุกคนสามารถทำได้จริงๆ

    Computer คุณพร้อมใช้ Power Query หรือยัง?

    หากคุณมี Excel 2016 ขึ้นไป (ทั้ง Excel 2016, Excel 2019 หรือ Excel 365) แสดงว่าคุณมี Power Query อยู่แล้วใน Ribbon ชื่อ Data → Get & Transform นะครับ ไม่ต้องทำอะไรเพิ่มก็ใช้ได้เลย (แต่อย่าลืม check การอัปเดทให้ล่าสุดเสมอ ไม่งั้นอาจมีเครื่องมือไม่ครบได้นะ)

    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query 159

    หากคุณมี Excel 2010/2013 ต้องไปโหลด Power Query Add-in มาลงเพิ่ม วิธีคือพิมพ์คำว่า “power query add in” ใน Google ก็น่าจะเจอครับ (อย่าลืมหา Link ที่ดูใหม่หน่อย และต้องเลือกเรื่อง 32bit/64bit ให้ตรงกับ Version ของ Excel คุณด้วยนะ ถ้าไม่แน่ใจก็โหลดมันทั้งคู่เลย ดูว่าตัวไหนลงได้ก็ตัวนั้นแหละ) 

    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query 160
    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query 161

    พอโหลดมาลงได้แล้วจะมี Ribbon ชื่อ Power Query โผล่ขึ้นมาให้เลือกครับ

    แต่ถ้าคุณมี Excel เก่ากว่า 2010 หรือว่ามีปัญหาอะไรซักอย่างจนลง Power Query ไม่ได้ ก็ยังเหลืออีกทางเลือกนึง คือ ให้ไปใช้ Power Query ในโปรแกรม Power BI Desktop เลย เพราะมันทั้งฟรี ดีกว่า แถมทำงานเร็วกว่า Power Query ของ Excel ด้วยซ้ำ (ซึ่งจริงๆ จะมี Excel version ไหนก็ตามหรือไม่มี Excel เลย ก็ไปโหลดมาใช้ได้นะ)

    Power BI Desktop คืออะไร?

    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query 162

    Power BI Desktop เป็นโปรแกรม Business Intelligent ที่มีความสามารถของ 3 เครื่องมือรวมกัน คือ 

    • Power Query – รวบรวมและดัดแปลงข้อมูล
    • Power Pivot – คำนวณสรุปข้อมูล
    • Power View – นำเสนอข้อมูล

    ความเจ๋งคือ พวกเราสามารถโหลดมาใช้ได้ฟรี แม้จะไม่มีโปรแกรม Microsoft Office ในเครื่องเลยด้วยซ้ำ 

    วิธีโหลดมี 2 วิธี คือ 

    1. โหลดเป็นโปรแกรม ซึ่งจะโหลดมาเป็นโปรแกรมที่เราต้องคอยอัปเดทเองทุกเดือน ซึ่ง Search ผ่าน Google ได้เลยว่า “Power BI Desktop Download” หรือไปที่ https://powerbi.microsoft.com/en-us/desktop/ ก็ได้
    2. โหลดเป็น App ผ่าน Microsoft Store ซึ่งจะดีกว่าวิธีบนเพราะมันจะสามารถ Auto Update ตัวเองผ่าน Microsoft Store ได้ครับ (ผมแนะนำแบบนี้ครับ) ใครสนใจคลิ๊ก link นี้ครับ https://www.microsoft.com/store/productId/9NTXR16HNW1T?fbclid=IwAR1QWyuYhlENqnQ2Cc-4owlHor5HX861zHC-JETl34aqnaeURfjFhupjLso

    ที่เจ๋งมากๆ คือ เจ้า Power BI Desktop เนี่ยมีการอัปเดทความสามารถใหม่ๆ ทุกเดือนด้วย (โคตรเจ๋ง!)

    ดังนั้นผมขอแนะนำให้ผู้อ่านทุกท่านเลือกเอาว่าจะใช้ Power Query ใน Excel หรือจะใช้ใน Power BI Desktop ก็ได้ครับ แต่ถ้าใช้ใน Power BI ก็จะมั่นใจว่าได้เวอร์ชันใหม่ล่าสุดแน่นอน แต่ตัวอย่างในหนังสือเล่มนี้จะใช้ Power Query จากใน Excel365 ครับ

    Computer ที่ออฟฟิศลงโปรแกรมเองไม่ได้?

    ผมแนะนำว่า หาก Computer ที่คุณใช้ไม่สามารถลงโปรแกรมดังกล่าวเองได้ ให้ลองไปเจรจากับทาง IT ให้ลงโปรแกรมให้ครับ ถ้าทาง IT ไม่ยอม ผมแนะนำให้ลองขอหัวหน้าของเราให้ไปช่วยคุยอีกทีครับ 555

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

    ลองคิดดูว่างานที่เดิมต้องทำ 2 ชั่วโมง อาจจะเสร็จได้ในเวลาไม่ถึง 5 นาทีเลยก็ได้นะ!

    สัมผัสความเจ๋งของ Power Query

    ในส่วนนี้ผมอยากให้คุณเห็นถึงความเจ๋งของ Power Query จะได้นึกภาพออกว่ามันดีกว่าวิธีการเดิมๆ ยังไง? ดังนั้นให้คุณลองทำตามทีละ Step โดยที่ ณ ตอนนี้ยังไม่ต้องเข้าใจว่ามันทำงานยังไงก็ได้นะครับ เพราะในบทต่อๆ ไปจะมีการอธิบายการทำงานแต่ละอันโดยละเอียดให้แน่นอน

    สมมติว่าเรามีข้อมูลดังนี้ใน Excel ซึ่งเป็นข้อมูลที่ยังไม่ได้อยู่ในรูปแบบ Database ที่เหมาะสม โดยมีปัญหา 2 เรื่องคือ สินค้าที่ Blank ไว้ และคอลัมน์ sales ก-ง ไม่ได้อยู่ในคอลัมน์เดียวกัน (โหลดไฟล์ประกอบได้ที่นี่)

    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query 163

    ให้เราคลิ๊กตรงไหนก็ได้ในตาราง เช่น A3 แล้วไปที่ Data → From Table/Range (บางคนอาจจะเห็นเป็น From Table เฉยๆ) แล้วกด Ok แล้วมันจะเปิดหน้าต่าง Power Query Editor ขึ้นมา

    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query 164

    จะเห็นว่าข้อมูลในคอลัมน์สินค้าช่องที่ว่างๆ อยู่จะขึ้นว่า null ซึ่งเราไม่ต้องการให้มันว่าง ให้เราเลือกคอลัมน์สินค้าแล้วไปที่ Transform → Fill → Down จะพบว่า Power Query จะถมช่องว่างได้อย่างง่ายดาย!

    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query 165

    ปัญหาต่อไปคือ คอลัมน์ sales ก ถึง sales ง ควรจะมาอยู่ในคอลัมน์เดียวกันมากกว่าที่จะแยกไปเป็นหลายๆ คอลัมน์ ดังนั้นให้เราเลือกคอลัมน์ sales ก – ง โดยคลิ๊กที่คอลัมน์ sales ก ก่อนแล้วกด Shift ค้างแล้วกดคอลัมน์ sales ง

    จากนั้นไปที่ Transform → Unpivot Columns จะได้ผลลัพธ์ที่เราต้องการทันที (ง่ายอะไรอย่างงี้!!)

    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query 166

    หากเราต้องการเปลี่ยนชื่อคอลัมน์ ก็ให้ Double Click ที่หัวตารางแล้วพิมพ์ชื่อคอลัมน์ที่ต้องการได้เลย เช่น ผมเปลี่ยนคำว่า Attribute เป็น ผู้ขาย และเป็น Value เป็นจำนวนชิ้น

    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query 167

    ถ้าเรา ok กับผลลัพธ์แล้วให้ไปที่ Home → Close & Load มันจะแสดงผลลัพธ์ออกมาเป็น Table อีกอันนึงใน Sheet ใหม่ ซึ่ง Table ผลลัพธ์ปกติจะเป็นสีเขียว (ไม่ใช่ Table เดิมนะ Table เดิมปกติจะเป็นสีฟ้า)

    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query 168

    ทีนี้หากเราไปแก้ไขข้อมูลใน Table ต้นฉบับเดิม (สีฟ้า) เช่น เพิ่มเสื้อผ้าแบบเงินสดเข้าไปในบรรทัดสุดท้าย ให้เฉพาะ sales ก 50 ชิ้น กับ sales ค 60 ชิ้น

    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query 169

    ทีนี้เราไปที่ Table ผลลัพธ์แล้วกดคลิ๊กขวา → Refresh จะเห็นว่ามีข้อมูลใหม่มาทันที (เจ๋งป่ะล่ะ!)

    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query 170

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

    บทความนี้มีที่มายังไง?

    บทความนี้เป็นส่วนหนึ่งของตัวอย่างจาก หนังสือ Excel Power Up! เพิ่มพลังการใช้ Excel ของคุณด้วย Power Query โดยผมเอาเนื้อหาบทแรกๆ ซัก 25-30% มาลงในเว็บให้อ่านกันฟรีๆ เลย คนอ่านจะได้ตัดสินใจได้ว่าอยากจะรู้เรื่องราวหลังจากนั้นอีกมั้ย? ซึ่งแค่นี้ก็น่าจะช่วยงานคุณได้เยอะพอสมควรแล้วล่ะ


    หากสนใจอ่านตัวอย่างบทอื่นๆ ของหนังสือ ลองดูที่สารบัญข้างล่างได้เลยครับ ^^

    สารบัญ Power Query

    บทนำ : ทำไมต้องเรียนรู้ Power Query? [ไฟล์ประกอบ]
    บทที่ 1 : เข้าใจขั้นตอนการทำรายงานสรุป / วิเคราะห์ข้อมูล [ไฟล์ประกอบ]
    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query [ไฟล์ประกอบ]
    บทที่ 3 : ภาพรวมการทำงานกับ Power Query [ไฟล์ประกอบ]
    บทที่ 4 : งานที่ยุ่งยากใน Excel กลับง่ายมากใน Power Query [ไฟล์ประกอบ]
    บทที่ 5 : การจัดการหัวตาราง [ไฟล์ประกอบ]
    บทที่ 6 : การคำนวณเบื้องต้น [ไฟล์ประกอบ]
    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ [ไฟล์ประกอบ]
    บทที่ 8 : การสร้างคอลัมน์ใหม่แบบกำหนดเองด้วย Custom Column [ไฟล์ประกอบ]
    บทที่ 9 : การสร้างคอลัมน์ใหม่ตามเงื่อนไข [ไฟล์ประกอบ]
    บทที่ 10 : การรวมกลุ่มข้อมูลด้วย Group By [ไฟล์ประกอบ]
    บทที่ 11 : การพลิกคอลัมน์เป็นหัวตารางด้วย Pivot Column [ไฟล์ประกอบ]
    บทที่ 12 : การยุบหัวตารางหลายคอลัมน์ให้เหลือคอลัมน์เดียวด้วย Unpivot [ไฟล์ประกอบ]
    บทที่ 13 : การแยกข้อมูลในคอลัมน์เดียวออกจากกันด้วย Split Column [ไฟล์ประกอบ]
    บทที่ 14 : การใช้ Query เป็นตัวแปร [ไฟล์ประกอบ]
    บทที่ 15 : การรวมข้อมูลจากหลาย Query [ไฟล์ประกอบ]
    บทที่ 16 : การดึงข้อมูลจาก Excel ไฟล์อื่น [ไฟล์ประกอบ]
    บทที่ 17 : การดึงข้อมูลจาก Text File/ CSV File [ไฟล์ประกอบ]
    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder [ไฟล์ประกอบ]
    บทที่ 19 : การดึงข้อมูลจากแหล่งอื่นๆ
    บทที่ 20 : การเตรียม Data เพื่อทำ Dashboard
    บทที่ 21 : การทำ Pivot Table เพื่อสร้าง Dashboard
    บทที่ 22 : เจาะลึก M Code หัวใจของ Power Query
    บทที่ 23 : Function คือ ขุมพลังที่แท้จริงของ M Code [ไฟล์ประกอบ]
    บทที่ 24 : ตัวอย่างการสร้าง Custom Function [ไฟล์ประกอบ]
    บทที่ 25 : การวน Loop [ไฟล์ประกอบ]
    บทส่งท้าย : เทพที่แท้จริง

    อ่านเนื้อหาบท 22 เป็นต้นไปแบบปรับปรุงใหม่ได้ฟรี ที่นี่ (อัปเดทเรื่อยๆ)

    Facebook Group : Power Query Thailand

    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query 171
    Facebook Group : Power Query Thailand

    ผู้ที่สนใจ Power Query อย่างคุณที่มาอ่านบทความนี้ ผมขอเชิญชวนเข้ากลุ่มปิด Power Query Thailand ได้ตาม Link นี้ครับ

  • บทที่ 1 : เข้าใจขั้นตอนการทำรายงานสรุป / วิเคราะห์ข้อมูล

    บทที่ 1 : เข้าใจขั้นตอนการทำรายงานสรุป / วิเคราะห์ข้อมูล

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

    Step การทำรายงาน

    1. เตรียมฐานข้อมูล
    2. คำนวณแปลงข้อมูลดิบให้เป็นผลสรุป
    3. Visualization
    4. สรุปและตีความหมายนำข้อมูลไปใช้ประโยชน์จริง ๆ
    5. ทำซ้ำหากข้อมูลมีการเปลี่ยนแปลง เช่น ต้องทำข้อมูลเดือนใหม่ในรูปแบบเดิมอีก

    เตรียมฐานข้อมูล

    ขั้นตอนนี้ ความซับซ้อนและความเสียเวลาขึ้นอยู่กับว่าแหล่งข้อมูลที่แท้จริงเรามาจากไหน และมีลักษณะอย่างไร? เช่น

    • ข้อมูลอยู่ในไฟล์ Excel เดียวกับที่ทำงานอยู่ หรือ อยู่ที่อื่น?
    • ข้อมูลมีตารางเดียว หรือ หลายตาราง? 
    • เป็นแบบเพิ่มคอลัมน์ หรือ เพิ่มเแถว หรือ ทั้งคู่เลย?
    • การรวมข้อมูลนั้นรวมได้ตรงๆ เลย หรือต้องมีการคัดเลือกข้อมูลบางส่วน

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

    ซึ่งทำได้หลายแบบ หลายวิธีการ เช่น

    1. Copy Paste เอาเองแบบ Manual 
    2. เขียนสูตรพวก LOOKUP อย่างเช่น VLOOKUP, INDEX, MATCH, OFFSET, INDIRECT
    3. ใช้ VBA (เขียนโปรแกรมใน Excel) มาช่วย
    4. Power Query

    ซึ่ง Power Query นี่แหละเป็นวิธีที่ง่ายแต่ว่าทรงพลังมากๆ ซึ่งเป็นสิ่งที่ผมจะเน้นในหนังสือเล่มนี้ครับ

    คำนวณแปลงข้อมูลดิบให้เป็นผลสรุป

    ขั้นตอนนี้ มีแนวทางการทำหลักๆ 2 วิธี คือ

    1. การเขียนสูตรสรุปผล เช่น พวก SUMIFS, COUNTIFS
    2. การใช้ PivotTable จะสรุปเบื้องต้นด้วยลาก Field มาเลย หรือจะสร้างการคำนวณพิเศษจาก Calculated Field หรือสร้างสูตรสรุปข้อมูลที่ Advance ขึ้นไปอีกด้วย Measure ก็ได้

    ซึ่งส่วนตัวผมเองขอเชียร์การใช้เครื่องมืออย่าง PivotTable มากกว่าเพราะมันทั้งง่ายในการสร้างและปรับเปลี่ยนมุมมองได้ง่ายด้วย คนทั่วไปใครๆ ก็ใช้ได้ แถมยังใช้เวลาเรียนรู้น้อยกว่าการเขียรสูตรมากเลย และยังผนวกกับการใช้เรื่องมือ Slicer ที่สามารถใช้ Filter Pivot Table ได้หลายตารางพร้อมกันยิ่งเจ๋งเลย 

    ดังนั้นในหนังสือเล่มนี้เราจะเน้นกันที่การใช้ Pivot Table กันครับ คนไหนที่ยังใช้ไม่เป็นก็ไม่ต้องกังวล เพราะเราจะทบทวนพื้นฐานความรู้ Pivot Table ให้ในบทที่เป็น Workshop ด้วยครับ

    Visualization

    ขั้นตอนนี้ก็มักขึ้นอยู่กับวิธีที่เราเลือกสรุปข้อมูลเช่นกัน ถ้าตอนแรกเขียนสูตรมา ก็ต้องสร้างกราฟแบบปกติ

    ถ้าใช้ Pivot Table ก็ต้องสร้างกราฟแบบ Pivot Chart

    ซึ่งกราฟแบบปกติจะมีความยืดหยุ่นมากกว่า เช่น สามารถใช้กราฟได้ทุกประเภทรวมถึง Scatter Plot ด้วย (Pivot Chart ทำ Scatter Plot ไม่ได้) รวมถึงการเขียนสูตรจะช่วยเตรียมข้อมูลในการทำกราฟแบบพิสดารได้ดีกว่า PivotTable มากเลย

    ตรงนี้เหมือนว่าการใช้ Pivot Table จะเสียเปรียบพอสมควร ซึ่งทาง Microsoft เองเลยทำเครื่องมือใหม่มาใช้เพื่อทำกราฟหรือ Visualization เจ๋งๆ โดยเฉพาะ นั่นก็คือ Power BI นั่นเอง 

    บทที่ 1 : เข้าใจขั้นตอนการทำรายงานสรุป / วิเคราะห์ข้อมูล 172

    โดยเจ้าตัวนี้มีความคล้ายกับการใช้งาน Pivot Table / Pivot Chart ค่อนข้างมาก แต่เจ๋งกว่าในหลายๆ ด้าน เช่น สามารถกดที่กราฟเพื่อ Filter ข้อมูลส่งไปควบคุมกราฟตัวอื่นแสดงเฉพาะสิ่งที่เลือก (ทำเหมือนว่ากราฟเป็น Slicer นั่นแหละ) หรือ Drill Down ขุดลึกลงไปดูข้อมูลชั้นถัดไปได้ แถมยังรองรับการสร้างหรือดาวน์โหลดกราฟแบบแปลกๆ ขึ้นมาเองได้ด้วย (เรียกว่า Custom Visual)

    อย่างไรก็ตามกราฟส่วนใหญ่ที่ทุกคนทำก็มักจะไม่พ้นกราฟแท่ง กราฟเส้น กราฟวงกลม แบบธรรมดาๆ นี่แหละครับ ดังนั้นการใช้ Pivot Table ธรรมดาแล้วสร้างเป็น Pivot Chart เมื่อประกอบกับ Slicer แล้วก็สามารถช่วยให้เราสร้าง Dashboard เจ๋งๆ ได้แล้ว

    สรุปและตีความหมายนำข้อมูลไปใช้ประโยชน์จริง ๆ

    ขั้นตอนนี้ต้องอาศัยการใช้เวลากับการสำรวจผลลัพธ์ที่ได้ว่ามีประเด็นอะไรที่น่าสนใจหรือไม่? เช่น 

    • สินค้าไหนขายดี/ไม่ดี อะไรคือสินค้าระดับ Top ไม่กี่ตัวที่สร้างรายได้มหาศาล
    • ลูกค้ารายได้คือลูกค้าที่สร้างรายได้ให้บริษัทมากที่สุดอันดับต้นๆ
    • สัดส่วนการขายสินค้าแต่ละประเภทเป็นกี่ %
    • sales คนไหนประสิทธิภาพสูง/ต่ำ
    • ทำกราฟแสดงความสัมพันธ์ของตัวแปรต่างๆ input แล้ว Output มีความสัมพันธ์อย่างไร? 

    ซึ่งเรื่องพวกนี้เราสามารถทำตารางสรุปออกมาได้เลยอยู่แล้วใน Pivot Table เช่น 

    • แสดงสัดส่วนด้วยการปรับการแสดงข้อมูล Show Value As ให้เป็น %
    • หาสินค้าระดับ Top ด้วยใช้ Sort เรียงข้อมูลจัดอันดับ หรือการ Filter แบบ Top N เพื่อแสดงเฉพาะข้อมูลตัว Top หรือ Bottom ตามที่ต้องการ

    ทั้งนี้เพื่อหาทางนำ Insight ที่ได้ไปพัฒนาตัวธุรกิจของบริษัทเราต่อไป ตรงขั้นตอนนี้แหละถึงจะเกิดคุณค่าจริงๆ กับบริษัทของคุณ ซึ่งตรงนี้มันแล้วแต่ธุรกิจใครธุรกิจมัน หนังสือสอน Excel คงสอนเรื่องนี้ไม่ได้นะครับ

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

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

    ทำซ้ำหากข้อมูลมีการเปลี่ยนแปลง

    การทำซ้ำนี่แหละคือหัวใจของงาน Routine วิธีไหนสามารถทำซ้ำได้รวดเร็วเท่าไหร่ วิธีนั้นยิ่งมีประสิทธิภาพสูง ยิ่งเราลดการ Manual ได้มากเท่าไหร่ ยิ่งสามารถทำซ้ำได้รวดเร็วมากขึ้นเท่านั้น

    ซึ่งหนังสือเล่มนี้จะเน้นช่วยให้ขั้นตอนนี้ทำได้ง่ายที่สุด ด้วย Power Query + Pivot Table จะทำให้คุณสามารถ “แค่กดปุ่ม Refresh เท่านั้น” 

    บทที่ 1 : เข้าใจขั้นตอนการทำรายงานสรุป / วิเคราะห์ข้อมูล 173

    คิดดูว่าจะเจ๋งแค่ไหน ถ้าจะทำรายงานเดือนใหม่ได้แค่การกด Refresh แค่ปุ่มเดียวจบ (นอกจากจะกด Refresh เอง เราสามารถตั้งให้มัน Auto Refresh ทุกๆ xx นาทีได้ด้วยนะ) ซึ่งผมคิดว่าไม่มีอะไรเจ๋งและน่าทึ่งกว่านี้อีกแล้วล่ะครับ ^^

    ปัญหาของการเตรียมข้อมูลเพื่อทำ Pivot Table

    ถ้าใครเคยใช้ Pivot Table มาก่อนจะรู้ว่าตอนทำ Report ด้วย Pivot Table นี่มันง่ายมากจริงๆ นะ เพราะเราแค่ลาก Field ไปลง Block 4 ช่องที่กำหนดไม่กี่วินาทีก็เสร็จแล้ว

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

    ปัญหา 1 : ข้อมูลไม่อยู่ในรูปแบบ Database

    ปัญหาแรกเลยคือ ข้อมูลที่เตรียมไว้ไ่ม่อยู่ในรูปแบบ Database

    ลักษณะข้อมูลที่เป็น Database เป็นยังไง?

    1. เก็บข้อมูลเป็นตาราง โดยมีหัวตาราง 1 บรรทัด แค่ครั้งเดียวพอ
    2. หัวตารางบอกว่าข้อมูลในคอลัมน์นั้นคือเรื่องอะไร และมีครบทุกคอลัมน์
    3. แต่ละคอลัมน์เก็บข้อมูลเรื่องเดียวกันทั้งคอลัมน์
    4. ไม่มีการละเว้นข้อมูลเอาไว้ในฐานที่เข้าใจ ยกเว้นจะหมายถึงช่องที่เป็นค่าว่างจริงๆ
    5. เก็บแค่ตัวข้อมูล ไม่ต้องมีบรรทัดสรุปข้อมูล (เพราะเดี๋ยวเราจะไปใช้ Pivot Table สรุปไง)
    บทที่ 1 : เข้าใจขั้นตอนการทำรายงานสรุป / วิเคราะห์ข้อมูล 174

    ประเด็นที่จะทำให้หลายคนมีปัญหาในเรื่องนี้ คือ บางครั้งข้อมูลที่ได้มา ไม่ได้เก็บข้อมูลเรื่องเดียวกันทั้งคอลัมน์ ซึ่งสาเหตุมักจะเกิดจากเราต้องการให้ง่ายต่อคนกรอกข้อมูล จึงเลือกที่จะให้กรอกข้อมูลลงใน Excel ในรูปแบบของแบบฟอร์ม หรือกรอกลงไปใน Report เลยมากกว่า ทั้งนี้เพราะการ Input ข้อมูลลงไปในรูปแบบ Database ตรงๆ เลยมันยากและซ้ำซ้อนมากนั่นเอง

    บางทีเราอาจได้ข้อมูลมาแบบนี้ ซึ่งเรียกว่าอยู่ในรูปแบบของ Report มากกว่า Database ซึ่งแม้จะดูแล้วเข้าใจง่าย แต่เอาไปทำงานต่อได้ยาก เพราะจะอ้างอิงข้อมูลค่อนข้างลำบาก

    บทที่ 1 : เข้าใจขั้นตอนการทำรายงานสรุป / วิเคราะห์ข้อมูล 175

    ซึ่งหลายองค์กรแก้ปัญหานี้ด้วยการมีโปรแกรมสำเร็จรูปในการกรอกข้อมูล แล้วสามารถ Export ข้อมูลออกมาทำต่อใน Excel ได้ ซึ่งการ Export ข้อมูลจากโปรแกรมจะมี 2 ลักษณะใหญ่ๆ คือ 

    1. ออกมาเป็นรูปแบบ Report : ถ้าเป็นแบบนี้ต้องมานั่งแปลงข้อมูลก่อน ก็จะยากกว่า
    2. ออกมาเป็นรูปแบบ Database : ถ้าเป็นแบบนี้ก็จะสบายหน่อยครับ แต่ถ้ามีหลายไฟล์ก็เริ่มยาก

    ปัญหา 2 : ข้อมูลกระจัดกระจายอยู่หลายที่

    ไฟล์ต้นทางอาจมีหลายไฟล์หรือหลาย Table ซึ่งจะมี 2 ลักษณะ คือ 

    1. เป็นฐานข้อมูลเดียวกัน หน้าตาโครงสร้างเหมือนกัน แต่ข้อมูลคนละชุด เช่น เป็นคนละเดือน เป็นต้น
    2. เป็นฐานข้อมูลคนละเรื่องเลย แต่มีความเกี่ยวข้องกับข้อมูลหลักที่เราต้องการใช้ เช่น เป็นตารางอ้างอิงที่บอกว่ารหัสสินค้าแต่ละ code คือสินค้าอะไร กลุ่มไหน เป็นต้น

    ถ้าเป็นแบบข้อ 1 เราก็ต้อง Copy Data มาต่อท้ายรวมกันเป็นไฟล์เดียว (จำนวนแถว หรือ Record เยอะขึ้น)

    ถ้าเป็นแบบข้อ 2 เราก็ต้องใช้พวกกลุ่ม LOOKUP เพื่อ Map ดึง Field ต้องการมาใช้อีกที (คอลัมน์ หรือ Field เยอะขึ้น)

    ซึ่งทั้งสองแบบนี้เสียเวลามากๆ จริงมั้ยครับ??

    ปัญหา 3 : ข้อมูลมีไฟล์หลาย Format

    ไฟล์ต้นทางอาจจะอยู่ในหลายรูปแบบ เช่น Excel, Text File, CSV, Website, Access, Database จริงๆ และอีกมากมาย ทำให้เราต้องหาเอาข้อมูลเหล่านั้นมายัดลงในไฟล์ Excel อีกที ซึ่งก็เสียเวลาอีก

    ปัญหา 4 : ยังมี Field ที่ต้องการไม่ครบ

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

    เช่น ถ้าอยากจะวิเคราะห์ว่าวันธรรมดากับวันหยุดสุดสัปดาห์มีผลต่อยอดขายต่างกันอย่างไร? เราก็ต้องสร้าง Field ที่บอกว่าวันที่เราสนใจนั้นๆ เป็นวันธรรมดา หรือ วันหยุด ให้ได้ซะก่อน 

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

    แล้วจะทำไงให้ข้อมูลพร้อมใช้?

    ยิ่งข้อมูลต้นฉบับมีหน้าตาต่างจากรูปแบบ Database ที่ต้องการมากเท่าไหร่ เราจะยิ่งปวดหัวมากขึ้นในการแปลงข้อมูลพวกนี้ ซึ่งแนวทางในการทำสามารถทำได้หลายแบบ เช่น 

    • เตรียมด้วยสูตรกลุ่ม Lookup เช่น VLOOKUP, INDEX, MATCH, OFFSET, INDIRECT 
    • เตรียมด้วย VBA เช่น เขียนให้ Copy ข้อมูลจากหลายที่มารวมกันในที่เดียว

    ในเมื่อไม่ใช่ทุกคนที่จะทำเรื่องสูตรยากๆ และ VBA ได้ สุดท้ายคนส่วนใหญ่ก็จบลงที่การทำแบบ Manual นี่แหละครับ ซึ่งอาจใช้การ Copy Paste หรือตัดใจไม่ทำ Pivot Table แต่ไป Manual เขียนสูตรทีละช่องที่ตัว Report เลย ซึ่งก็จะทำให้เกิดความยากอีกแบบนึงอีก ซึ่งเสียเวลามากๆ 
    ทางออกคือ เครื่องมือที่ชื่อว่า Power Query นี่แหละ ซึ่งจะช่วยให้เราสามารถแปลงข้อมูลให้อยู่ในรูปแบบ Database ที่ต้องการได้อย่างง่ายดายมากๆ ซึ่งต่อจากส่วนนี้เราจะไปลงรายละเอียดเรื่อง Power Query กันแล้วล่ะครับ!!

    บทความนี้มีที่มายังไง?

    บทความนี้เป็นส่วนหนึ่งของตัวอย่างจาก หนังสือ Excel Power Up! เพิ่มพลังการใช้ Excel ของคุณด้วย Power Query โดยผมเอาเนื้อหาบทแรกๆ ซัก 25-30% มาลงในเว็บให้อ่านกันฟรีๆ เลย คนอ่านจะได้ตัดสินใจได้ว่าอยากจะรู้เรื่องราวหลังจากนั้นอีกมั้ย? ซึ่งแค่นี้ก็น่าจะช่วยงานคุณได้เยอะพอสมควรแล้วล่ะ


    หากสนใจอ่านตัวอย่างบทอื่นๆ ของหนังสือ ลองดูที่สารบัญข้างล่างได้เลยครับ ^^

    สารบัญ Power Query

    บทนำ : ทำไมต้องเรียนรู้ Power Query? [ไฟล์ประกอบ]
    บทที่ 1 : เข้าใจขั้นตอนการทำรายงานสรุป / วิเคราะห์ข้อมูล [ไฟล์ประกอบ]
    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query [ไฟล์ประกอบ]
    บทที่ 3 : ภาพรวมการทำงานกับ Power Query [ไฟล์ประกอบ]
    บทที่ 4 : งานที่ยุ่งยากใน Excel กลับง่ายมากใน Power Query [ไฟล์ประกอบ]
    บทที่ 5 : การจัดการหัวตาราง [ไฟล์ประกอบ]
    บทที่ 6 : การคำนวณเบื้องต้น [ไฟล์ประกอบ]
    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ [ไฟล์ประกอบ]
    บทที่ 8 : การสร้างคอลัมน์ใหม่แบบกำหนดเองด้วย Custom Column [ไฟล์ประกอบ]
    บทที่ 9 : การสร้างคอลัมน์ใหม่ตามเงื่อนไข [ไฟล์ประกอบ]
    บทที่ 10 : การรวมกลุ่มข้อมูลด้วย Group By [ไฟล์ประกอบ]
    บทที่ 11 : การพลิกคอลัมน์เป็นหัวตารางด้วย Pivot Column [ไฟล์ประกอบ]
    บทที่ 12 : การยุบหัวตารางหลายคอลัมน์ให้เหลือคอลัมน์เดียวด้วย Unpivot [ไฟล์ประกอบ]
    บทที่ 13 : การแยกข้อมูลในคอลัมน์เดียวออกจากกันด้วย Split Column [ไฟล์ประกอบ]
    บทที่ 14 : การใช้ Query เป็นตัวแปร [ไฟล์ประกอบ]
    บทที่ 15 : การรวมข้อมูลจากหลาย Query [ไฟล์ประกอบ]
    บทที่ 16 : การดึงข้อมูลจาก Excel ไฟล์อื่น [ไฟล์ประกอบ]
    บทที่ 17 : การดึงข้อมูลจาก Text File/ CSV File [ไฟล์ประกอบ]
    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder [ไฟล์ประกอบ]
    บทที่ 19 : การดึงข้อมูลจากแหล่งอื่นๆ
    บทที่ 20 : การเตรียม Data เพื่อทำ Dashboard
    บทที่ 21 : การทำ Pivot Table เพื่อสร้าง Dashboard
    บทที่ 22 : เจาะลึก M Code หัวใจของ Power Query
    บทที่ 23 : Function คือ ขุมพลังที่แท้จริงของ M Code [ไฟล์ประกอบ]
    บทที่ 24 : ตัวอย่างการสร้าง Custom Function [ไฟล์ประกอบ]
    บทที่ 25 : การวน Loop [ไฟล์ประกอบ]
    บทส่งท้าย : เทพที่แท้จริง

    อ่านเนื้อหาบท 22 เป็นต้นไปแบบปรับปรุงใหม่ได้ฟรี ที่นี่ (อัปเดทเรื่อยๆ)

    Facebook Group : Power Query Thailand

    บทที่ 1 : เข้าใจขั้นตอนการทำรายงานสรุป / วิเคราะห์ข้อมูล 176
    Facebook Group : Power Query Thailand

    ผู้ที่สนใจ Power Query อย่างคุณที่มาอ่านบทความนี้ ผมขอเชิญชวนเข้ากลุ่มปิด Power Query Thailand ได้ตาม Link นี้ครับ

  • ตัวอย่างเนื้อหาจากหนังสือ Excel Power Up! บทนำ : ทำไมต้องเรียนรู้ Power Query?

    ตัวอย่างเนื้อหาจากหนังสือ Excel Power Up! บทนำ : ทำไมต้องเรียนรู้ Power Query?

    บทความนี้มีที่มายังไง?

    บทความนี้เป็นส่วนหนึ่งของตัวอย่างจาก หนังสือ Excel Power Up! เพิ่มพลังการใช้ Excel ของคุณด้วย Power Query โดยผมเอาเนื้อหาบทแรกๆ ซัก 25-30% มาลงในเว็บให้อ่านกันฟรีๆ เลย คนอ่านจะได้ตัดสินใจได้ว่าอยากจะรู้เรื่องราวหลังจากนั้นอีกมั้ย? ซึ่งแค่นี้ก็น่าจะช่วยงานคุณได้เยอะพอสมควรแล้วล่ะ


    หากสนใจอ่านตัวอย่างบทอื่นๆ ของหนังสือ ลองดูที่สารบัญข้างล่างได้เลยครับ ^^

    สารบัญ Power Query

    บทนำ : ทำไมต้องเรียนรู้ Power Query? [ไฟล์ประกอบ]
    บทที่ 1 : เข้าใจขั้นตอนการทำรายงานสรุป / วิเคราะห์ข้อมูล [ไฟล์ประกอบ]
    บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query [ไฟล์ประกอบ]
    บทที่ 3 : ภาพรวมการทำงานกับ Power Query [ไฟล์ประกอบ]
    บทที่ 4 : งานที่ยุ่งยากใน Excel กลับง่ายมากใน Power Query [ไฟล์ประกอบ]
    บทที่ 5 : การจัดการหัวตาราง [ไฟล์ประกอบ]
    บทที่ 6 : การคำนวณเบื้องต้น [ไฟล์ประกอบ]
    บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ [ไฟล์ประกอบ]
    บทที่ 8 : การสร้างคอลัมน์ใหม่แบบกำหนดเองด้วย Custom Column [ไฟล์ประกอบ]
    บทที่ 9 : การสร้างคอลัมน์ใหม่ตามเงื่อนไข [ไฟล์ประกอบ]
    บทที่ 10 : การรวมกลุ่มข้อมูลด้วย Group By [ไฟล์ประกอบ]
    บทที่ 11 : การพลิกคอลัมน์เป็นหัวตารางด้วย Pivot Column [ไฟล์ประกอบ]
    บทที่ 12 : การยุบหัวตารางหลายคอลัมน์ให้เหลือคอลัมน์เดียวด้วย Unpivot [ไฟล์ประกอบ]
    บทที่ 13 : การแยกข้อมูลในคอลัมน์เดียวออกจากกันด้วย Split Column [ไฟล์ประกอบ]
    บทที่ 14 : การใช้ Query เป็นตัวแปร [ไฟล์ประกอบ]
    บทที่ 15 : การรวมข้อมูลจากหลาย Query [ไฟล์ประกอบ]
    บทที่ 16 : การดึงข้อมูลจาก Excel ไฟล์อื่น [ไฟล์ประกอบ]
    บทที่ 17 : การดึงข้อมูลจาก Text File/ CSV File [ไฟล์ประกอบ]
    บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder [ไฟล์ประกอบ]
    บทที่ 19 : การดึงข้อมูลจากแหล่งอื่นๆ
    บทที่ 20 : การเตรียม Data เพื่อทำ Dashboard
    บทที่ 21 : การทำ Pivot Table เพื่อสร้าง Dashboard
    บทที่ 22 : เจาะลึก M Code หัวใจของ Power Query
    บทที่ 23 : Function คือ ขุมพลังที่แท้จริงของ M Code [ไฟล์ประกอบ]
    บทที่ 24 : ตัวอย่างการสร้าง Custom Function [ไฟล์ประกอบ]
    บทที่ 25 : การวน Loop [ไฟล์ประกอบ]
    บทส่งท้าย : เทพที่แท้จริง

    อ่านเนื้อหาบท 22 เป็นต้นไปแบบปรับปรุงใหม่ได้ฟรี ที่นี่ (อัปเดทเรื่อยๆ)

    Facebook Group : Power Query Thailand

    ตัวอย่างเนื้อหาจากหนังสือ Excel Power Up! บทนำ : ทำไมต้องเรียนรู้ Power Query? 177
    Facebook Group : Power Query Thailand

    ผู้ที่สนใจ Power Query อย่างคุณที่มาอ่านบทความนี้ ผมขอเชิญชวนเข้ากลุ่มปิด Power Query Thailand ได้ตาม Link นี้ครับ


    ขยันแล้วทำไมไม่ได้ดีอย่างที่หวัง?

    เบื่อมั้ย? ที่คุณต้องทำงานรายงานแบบเดิม ซ้ำๆ เดิม ทุกเดือน หรือ ทุกอาทิตย์…

    เบื่อมั้ย? ที่คุณต้องคอยขอร้องให้คนอื่นช่วยทำรายงานให้ ซึ่งบางทีก็ไม่ว่าง กว่าจะได้ก็ช้า หรือทำมาผิด…

    เบื่อมั้ย? ขยันทำงานหนักแทบตาย ทำงานหนัก เลิกงานดึก ไม่มีเวลาดูแลตัวเอง ไม่มีเวลาดูแลคนที่เรารัก 

    แต่ทำไมไม่ได้โปรโมทซะที…(ฟะ)

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

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

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

    เทคโนโลยีดีขึ้น แล้วคุณนำมาใช้หรือยัง?

    ผมขอบอกเลยว่าจะใช้ Excel ทำงานให้ได้ผลดีมันไม่ได้ยากอย่างที่คิด ทั้งนี้เพราะเทคโนโลยีมันดีขึ้นกว่าแต่ก่อนมากแล้ว ลองคิดดูสิว่า Excel มีมาตั้งแต่ปี ค.ศ. 1985 (บนเครื่องแมค) จนถึงปี 2019 ที่ผมเขียนหนังสือเล่มนี้มันก็ตั้ง 34 ปีแล้วนะ แล้วคุณคิดว่า Excel จะทำได้แค่ทำตาราง เขียนสูตรเพื่อแก้ปัญหาเหมือนเดิมแค่นั้นจริงๆ เหรอ?

    Excel ยุคใหม่ มีเครื่องมือดีๆ มากมายกว่าแต่ก่อนมาก แต่คุณอาจไม่รู้จักหรือยังไม่ได้นำมาใช้อย่างเต็มที่ หากคุณยังใช้ Excel ด้วยวิธีเดิมๆ ที่คุณเคยทำอยู่ งานจะเสร็จเร็วขึ้นได้อย่างไร? เราจึงต้องมาเรียนรู้วิธีใหม่ๆ ด้วย ยกตัวอย่างเช่น Flash Fill และ Power Query ซึ่งเป็นเครื่องมือที่เจ๋งและใช้ง่ายมากๆ แบบที่ถ้าลองซักครั้งแล้วจะติดใจเลยล่ะ!

    ตัวอย่างการใช้ Flash Fill ในการกรอกข้อมูล

    ตั้งแต่ Excel 2013 ขึ้นไป เราสามารถใช้เครื่องมือที่เรียกว่า Flash Fill ช่วยกรอกข้อมูลให้เราได้อย่างรวดเร็วโดยแค่ใส่ตัวอย่างผลลัพธ์ที่อยากได้ลงไปในคอลัมน์ถัดจากข้อมูลต้นฉบับ แล้วกด Ctrl+E เท่านั้นเอง

    ตัวอย่างเนื้อหาจากหนังสือ Excel Power Up! บทนำ : ทำไมต้องเรียนรู้ Power Query? 178

    พอ กด Ctrl+E เพื่อเรียกใช้ Flash Fill จะพบว่า Excel เลียนแบบสิ่งที่เราทำได้ในทันที ในแบบที่เราแทบไม่ต้องใช้ฝีมืออะไรเลย! (โคตรขี้โกง!)

    ตัวอย่างเนื้อหาจากหนังสือ Excel Power Up! บทนำ : ทำไมต้องเรียนรู้ Power Query? 179

    นี่เป็นตัวอย่างของการใช้เครื่องมือยุคใหม่ว่ามันมีความฉลาดมากขึ้นขนาดไหน ซึ่งในหนังสือเล่มนี้ผมจะแนะนำให้รู้จักอีกเครื่องมือนึงที่เจ๋งกว่า Flash Fill อีก มันมีชื่อว่า Power Query ซึ่งใช้ได้ตั้งแต่ Excel 2010 ขึ้นไป (แต่ถ้าไม่มี Excel version ที่ใช้ได้จริงๆ ก็ยังดาวน์โหลดโปรแกรม Power BI Desktop ซึ่งมี Power Query มาใช้ได้ฟรีๆ ไม่ผิดลิขสิทธิ์นะ)

    หนังสือเล่มนี้เหมาะกับใคร?

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

    แนวทางการใช้ Excel

    • ทำรายงานสรุป / วิเคราะห์ข้อมูล เช่น รายงานยอดขายประจำเดือน
    • ทำแบบฟอร์ม หรือ template คำนวณ เช่น คำนวณยอดผ่อนเงินกู้บ้าน รถ
    • ทำ Project Management เช่น พวก วันเริ่ม/จบ งานย่อยในโปรเจค ทำ Gantt Chart
    • ทำ Model / Simulation / Optimization / Forecast เช่น จะผลิตสินค้าตัวไหน ส่งสินค้าทางไหน จะแบ่งงานให้ใคร ให้ได้กำไรสูงสุด หรือ คาดคะเนผลประกอบการ 5 ปีข้างหน้า เป็นต้น

    ในหนังสือเล่มนี้ผมจะเน้นการทำงานเกี่ยวกับเรื่อง “การทำรายงานสรุป / วิเคราะห์ข้อมูล” เป็นหลัก เพราะเป็นลักษณะการทำงานแบบที่ใช้กันมากและสามารถพัฒนาให้มีประสิทธิภาพเพิ่มขึ้นได้มากเช่นกัน

    ตัวอย่างของงานประเภทนี้ก็คือรายงานทุกประเภท เช่น สรุปยอดขาย สรุปต้นทุน กำไร สรุปจำนวนสินค้าใน Stock สรุปจำนวนผู้รับการอบรม เป็นต้น ซึ่งเป็นเรื่องที่ใครๆ ก็ทำเป็นส่วนใหญ่จริงมั้ยครับ?

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

    โดยจริงๆ แล้ววิธีทำงาน Ad hoc กับงาน Routine ก็มีความแตกต่างกันด้วย

    งาน Ad hoc หรือ งานแบบสั่งมาด่วนๆ ไม่ได้วางแผนไว้ ไม่มีรูปแบบที่แน่นอน เราอาจจะทำงานนั้นๆ ครั้งเดียวโดยที่ไม่ได้ทำซ้ำอีก ดังนั้นเราจะใช้เครื่องมืออะไรก็ได้ที่ง่ายที่สุดในการทำ ไม่ต้องคิดอะไรมากไปกว่าทำยังไงก็ได้ให้เสร็จเร็วที่สุด (และไม่ผิด) เช่น Filter แล้วแก้, Remove Duplicates, Flash Fill, Find/Replace

    งาน Routines งานที่ต้องเป็นประจำซ้ำๆ เดิม อาจมีเปลี่ยนแค่ข้อมูลแต่รูปแบบค่อนข้างเหมือนเดิม ดังนั้นเราควรจะหาวิธีที่ทำซ้ำได้ง่ายและรวดเร็วที่สุด ซึ่งการวางแผนตั้งแต่ต้นเป็นสิ่งที่สำคัญ (มากกก) หากทำมั่วๆ ไปให้เสร็จเร็วที่สุดได้ในครั้งแรก แต่พอจะทำครั้งต่อไปกลับต้องใช้เวลาเทียบเท่าครั้งแรกเลย แบบนี้ก็จะถือว่าช้าในระยะยาวครับ วิธีที่ดีกว่าคือยอมลงทุนเวลาวางแผนและออกแบบการทำงานให้ดีแต่แรก เพื่อให้ทำซ้ำได้เร็วๆ แบบนี้จะคุ้มค่ากว่า เช่น การเขียนสูตร การใช้ VBA การใช้ Pivot Table รวมถึงการใช้ Power Query

    เนื่องจากหนังสือเล่มนี้จะเน้นที่งานพวกการทำ Report ซึ่งเป็นงาน Routine และเราต้องการให้คนทั่วไปที่ไม่ต้องเก่ง Excel ขั้นเทพก็สามารถทำได้เหมือนกัน ดังนั้นเราจะเลือกใช้วิธีการใช้เครื่องมือ Pivot Table และ Power Query ควบคู่กันนะครับ

    ผู้อ่านต้องมีความรู้อะไรมาก่อนมั้ย?

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

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

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

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

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

  • สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 3 ระบุช่วงเวลา

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 3 ระบุช่วงเวลา

    บทความนี้ก็จะเป็นการสอนใช้ Excel บริหาร Stock เป็นตอนที่ 3 แล้ว (ซึ่งเราค่อยๆ พัฒนามันขึ้นมาเรื่อยๆ) และในตอนนี้เราจะทำให้มันสามารถดูข้อมูลเฉพาะมนช่วงเวลาที่เราสนใจได้ครับ

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

    Series เรื่องการจัดการ Stock นี้มี 3 ตอน

    สรุปข้อมูลแต่ละตาราง

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

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 3 ระบุช่วงเวลา 180

    ตารางขาย เดิมชื่อ TableSale ผมขอเปลี่ยนชื่อเป็น TableSell (เพราะมันจะได้เข้ากับ TableBuy หน่อย 555) แต่ข้อมูลยังเหมือนเดิม คือ

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 3 ระบุช่วงเวลา 181

    กลับมาในชีทตารางสรุป ให้เตรียมตารางดังนี้ครับ

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 3 ระบุช่วงเวลา 182

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

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

    โดยเขียนว่า

    =MAX(TableBuy[วันที่ซื้อ],TableSell[วันที่ขาย])

    สูตรในตาราง Summary ของ Excel บริหาร Stock

    มาดูใสนตารางบ้าง ในแต่ละคอลัมน์ หลักการจะคล้ายเดิมที่เราใช้ SUMIFS แต่จะมีการเพิ่มเงื่อนไขเรื่องวันที่เข้ามา โดยเราจะมีการใช้เครื่องหมายเปรียบเทียบมาช่วยด้วย (ใส่ในรูปแบบที่เป็น Text) เช่น หากต้องการยอดที่เกิดก่อนวันที่กำหนด เราก็จะใส่ Criteria Range เป็นช่วงวันที่ ส่วน Criteria จะเป็น “<“&วันที่ที่กำหนด เป็นต้น

    ตั้งต้นงวด : เอายอดซื้อก่อนต้นงวด-ยอดขายก่อนต้นงวด

    =SUMIFS(TableBuy[จำนวนซื้อ],TableBuy[Product],[@Product],TableBuy[วันที่ซื้อ],"<"&Summary!$B$1)-SUMIFS(TableSell[จำนวนขาย],TableSell[Product],[@Product],TableSell[วันที่ขาย],"<"&Summary!$B$1)

    ซื้อเพิ่มในงวด : สูตรเหมือนซื้อเพิ่มในบทความก่อน แต่เพิ่มเงื่นไขวันที่ว่าต้อง >=วันที่ต้นงวด และ <=วันที่ปลายงวด

    =SUMIFS(TableBuy[จำนวนซื้อ],TableBuy[Product],[@Product],TableBuy[วันที่ซื้อ],">="&Summary!$B$1,TableBuy[วันที่ซื้อ],"<="&Summary!$D$1)

    ขายออกในงวด : สูตรเหมือนซื้อเพิ่มในบทความก่อน แต่เพิ่มเงื่นไขวันที่ว่าต้อง >=วันที่ต้นงวด และ <=วันที่ปลายงวด

    =SUMIFS(TableSale[จำนวนขาย],TableSale[Product],[@Product], TableSell[วันที่ขาย],">="&Summary!$B$1,TableSell[วันที่ขาย],"<="&Summary!$D$1)

    คงเหลือสิ้นงวด :

    =[@ตั้งต้นงวด]+[@ซื้อเพิ่มในงวด]-[@ขายออกในงวด]

    คงเหลือล่าสุด : เอาข้อมูลซื้อลบขายทั้งหมดแบบไม่สนใจวันที่

    =SUMIFS(TableBuy[จำนวนซื้อ],TableBuy[Product],[@Product])-SUMIFS(TableSell[จำนวนขาย],TableSell[Product],[@Product])

    ต้องสั่งเพิ่ม :

    =[@คงเหลือล่าสุด]<[@จุดสั่งของเพิ่ม]

    เมื่อเขียนสูตรครบหมดแล้ว จะได้ดังนี้

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 3 ระบุช่วงเวลา 183

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

  • สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย

    จากที่เราทำไฟล์ Excel บริหาร Stock แบบง่ายสุดๆ (version 1) ไปแล้วในบทความก่อน คราวนี้เราจะมาทำให้ไฟล์มันเจ๋งขึ้นกว่าเดิม โดยการแยกตารางซื้อขายออกมาให้ชัดเจน จะได้บันทึกข้อมูลง่ายขึ้นครับ

    Series เรื่องการจัดการ Stock นี้มี 3 ตอน

    ก่อนอื่นเราเปลี่ยนชื่อ sheet เดิมเป็น summary แล้วสร้าง Sheet เพิ่ม 2 อัน คือ ซื้อ กับ ขาย

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย 184

    Sheet ซื้อ : เตรียมคอลัมน์ดังนี้ วันที่ซื้อ, Product, จำนวนซื้อ

    จากนั้นแปลงเป็น Table ซะ โดยกด Ctrl+T แล้วเลือกเรื่องหัวตารางด้วยว่ามีหรือไม่

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย 185

    Data Validation

    เดี๋ยวเราจะใส่ Data Validation ลงไปในแต่ละช่อง จะได้กรอกข้อมูลไม่ผิด

    วันที่

    เลือกข้อมูลช่องวันที่ตามรูป แล้วไปที่ Data -> Data Validation

    กำหนดเงื่อนไขตามความเหมาะสม เช่น ผมให้กรอกได้ตั้งแต่วันที่ 1 มกรา ปี 2018 จนถึงวันที่ปัจจุบันเท่านั้น ก็ใส่ = TODAY() ดังรูป

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย 186

    จะใส่ Input Message (Guideline ตอนเลือก Cell นั้น) หรือ Error Alert (ข้อความเตือนตอนกรอกผิดจากที่กำหนด) อะไรก็แล้วแต่เลยครับ

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

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย 187

    Product

    ในส่วนของ Product เราจะทำเป็น Drop-down List ให้เลือกสินค้าจากตารางหน้าแรกที่เราทำไว้ ซึ่งเดี๋ยวเราจะทำให้มัน Dynamic มีสินค้าเพิ่มได้เรื่อยๆ ดังนั้นจะต้องใช้ความสามารถของ Table มาช่วยแทนการไปเลือก Range ตรงๆ แต่พอ Table อยู่อีก Sheet จะต้องใช้การตั้งชื่อมาช่วย ไม่งั้นข้อมูลจะไม่อัปเดทครับ สรุปทำดังนี้

    ไปที่ Sheet แรก แล้วไป Formula -> Define Name เพื่อตั้งชื่อขึ้นมาใหม่ เช่น ตั้งว่า ProductList แล้วไปเลือก Item สินค้าทั้งหมด ดังรูป

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย 188

    ตอนนี้ในชื่อ ProductList จะมี Item สินค้าทั้งหมดแล้ว จากนั้นเราจะเอาชื่อไปใส่ใน Data Validation ตอนเลือกสินค้าอีกที

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย 189

    จะใช้วิธีกด F3 เพื่อเลือกชื่อ หรือจะใช้วิธีพิมพ์ชื่อลงไปตรงๆ ก็ได้เช่นกัน

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย 190

    จากนั้นใน Column Product ก็จะเลือก Product ได้จาก Drop-Down แล้ว

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย 191

    จำนวนซื้อ

    ในช่องนี้เราจะตั้ง Data Validation ว่าต้องเป็นจำนวนเต็มมากกว่า 0

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย 192

    แค่นี้ Sheet ซื้อก็ครบทุกช่องแล้ว

    Sheet ขายล่ะ?

    เราจะทำ Data Validation กับ Sheet ขายด้วยเช่นกันครับ วิธีที่ง่ายที่สุดคือ Copy Table จากตารางซื้อไปเลยครับ แล้วเปลี่ยนหัวตารางให้เหมาะสม จากคำว่าซื้อเป็นขาย

    จะเห็นว่าเงื่อนไข Data Validation ทุกอย่างยังใช้ได้ทั้งหมด (ถ้าจริงๆ มันต้องไม่เหมือนกันในบางตัวก็ปรับแก้เอาครับ)

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย 193

    ตั้งชื่อตารางทั้งหมด

    ตอนนี้ตารางแต่ละอันมีชื่อเป็น Table1 2 3 ทำให้อ่านไม่รู้เรื่อง ให้เราตั้งชื่อใหม่เป็นอะไรที่รู้เรื่องมากขึ้น เช่น TableSummary, TableBuy, TableSale เป็นต้น

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย 194

    กรอกข้อมูลการซื้อของลงไป

    ผมกรอกข้อมูลการซื้อมั่วๆ ลงไปดังนี้

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย 195

    ทำการสรุปข้อมูลการซื้อที่ชีท Summary

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

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย 196

    จากนั้นเราจะใช้สูตร SUMIFS เพื่อ SUM ข้อมูลการซื้อทั้งหมดของ Product ที่เราสนใจ โดยเขียนสูตรตาม GIF นี้ได้เลย

    ซื้อเพิ่ม = SUMIFS(TableBuy[จำนวนซื้อ],TableBuy[Product],[@Product])

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย 197

    ใน Sheet ขายออกก็ทำเช่นเดียวกัน ผมใส่ตัวเลขการขายมั่วๆ ไปว่า

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย 198

    ใน sheet summary ก็ลบข้อมูลเดิมทิ้งไปก่อน แล้วเขียนสูตรในช่องแรกของขายออก
    ขายออก = SUMIFS(TableSale[จำนวนขาย],TableSale[Product],[@Product])

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 2 แยกตารางซื้อขาย 199

    ไฟล์ Excel บริหาร Stock เก่งขึ้นมาหน่อยนึงแล้วล่ะ

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

    เดี๋ยวในครั้งถัดไป เราจะทำให้เก่งขึ้นอีก เช่น สามารถเลือกดู Summary เฉพาะช่วงวันที่ที่สนใจได้ (เพราะตอนนี้มันเอามาทั้งตารางซื้อขายเลยเนอะ)

    อ่านตอนต่อไปได้ที่นี่ครับ https://www.thepexcel.com/excel-stock-inventory-v3/

    ถ้าใครสนใจ รอติดตามต่อได้เลยครับ!! หากใครสงสัยอะไรก็อย่าลืมมาคุยกันในเพจ Facebook นะครับ

  • สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 1 ง่ายสุดๆ

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 1 ง่ายสุดๆ

    เรื่องการบริหาร Stock เป็นปัญหายอดฮิตอันนึงที่หลายคนต้องเจอ เพราะธุรกิจส่วนใหญ่จะมีการซื้อขายสินค้า ดังนั้นการบริหาร Stock จึงเป็นเรื่องที่หลีกเลี่ยงไม่ได้เลย โดยเฉพาะกับธุรกิจ SME ที่ยังไม่มีระบบบริหารจัดการที่ดี ก็อาจยังต้องใช้ Excel มาช่วยอยู่มากพอสมควร

    ความฮิตของเรื่องนี้สะท้อนมาให้เห็นในผลโหวตในเพจ ที่ผมถามไปว่า “ระหว่าง บริหาร Stock สินค้า กับ การเทียบยอดขายกับ Target อยากให้ทำเรื่องไหน?”ตัวที่ได้ผลโหวตมากกว่า คือเรื่องการบริหาร Stock สินค้านั่นเอง แสดงว่ามีคนมีปัญหานี้เยอะจริงๆ

    ก่อนหน้านี้ (นานมาแล้ว…) ผมเคยเขียนเรื่องการบริหาร stock ไว้นิดหน่อยแล้วล่ะ แต่คราวนี้จะเขียนให้ครบทุกมิติมากขึ้น และละเอียดขึ้น ยังไงลองติดตาม Series นี้ได้เลยครับ

    Series เรื่องการจัดการ Stock นี้มี 3 ตอน

    ความสัมพันธ์ของ Stock สินค้า

    Stock ตั้งต้น + การเปลี่ยนแปลง = Stock คงเหลือ

    หรือจะเขียนให้ละเอียดอีกนิดได้ว่า

    Stock ตั้งต้น + การซื้อเพิ่ม - การขายออก = Stock คงเหลือ 

    จริงๆ ความสัมพันธ์แบบนี้ก็ใช้ได้กับทุกอย่างอ่ะนะ เช่น เงิน Balance ในบัญชีธนาคารก็ด้วย 555

    มาเริ่มทำไฟล์ Excel บริหาร Stock กัน

    ความสัมพันธ์พื้นฐานของการบริหาร Stock

    ลองใส่ข้อมูล sample ลงไปตามนี้ก่อน
    (ในความเป็นจริงแต่ละช่องอาจะเขียนเป็น =30+10+10 ไรแบบนี้ก็ได้นะครับ)

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 1 ง่ายสุดๆ 200

    ต่อไปเราเปลี่ยนข้อมูลให้เป็น Table เพื่อให้ตารางมันงอกเพิ่มเองได้เวลามีการเพิ่มข้อมูล โดยเลือกข้อมูลช่องนึง (ช่องไหนก็ได้) แล้วกด Insert -> Table หรือกด Ctrl+T ก็ได้

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 1 ง่ายสุดๆ 201

    จากนั้นเราเขียนสูตรในช่องคงเหลือได้ ดังนี้

    คงเหลือ =[@ตั้งต้น]+[@ซื้อเพิ่ม]-[@ขายออก]

    ซึ่งไอ้สัญลักษณ์พวก @ นี่ไม่ได้พิมพ์เอง แต่ใช้วิธีคลิ๊กแต่ละช่องในบรรทัดเดียวกัน มันจะขึ้นมาเองนะครับ ( [@xxx] เป็นวิธีการอ้างอิงข้อมูลใน Table หมายถึงเอาข้อมูลในคอลัมน์ xxx นั้นๆ ในบรรทัดเดียวกันกับช่องที่เขียนสูตรอยู่ ซึ่งเราใส่สูตรแค่บรรทัดเดียว มันจะ Fill สูตรเดียวกันลงไปเองทุกบรรทัด)

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 1 ง่ายสุดๆ 202

    จุดสั่งของเพิ่ม ( Reorder Point)

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

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 1 ง่ายสุดๆ 203

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

    ต้องสั่งเพิ่ม =[@คงเหลือ]<[@จุดสั่งของเพิ่ม]

    ถ้าสิ่งที่คงเหลือมีน้อยกว่าจุดที่ต้องสั่งเพิ่ม ผลจะออกมาเป็น TRUE ก็แปลว่าต้องสั่งเพิ่ม

    สังเกตว่า ถ้าแค่อยากได้ผลลัพธ์เป็น TRUE/FALSE แค่นี้เราแค่ใช้เครื่องหมายเปรียบเทียบ มาช่วยเปรียบเทียบข้อมูล 2 ก้อน แค่นั้นก็เพียงพอแล้ว ไม่ต้องใช้ฟังก์ชัน IF ก็ได้นะ

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 1 ง่ายสุดๆ 204

    ใส่ Conditional Format ซะหน่อย

    เพื่อให้เห็นคำว่า TRUE ชัดขึ้น เราจะใส่ Conditional Format แบบ Highlight cells Rule –> Equal to เข้าไปดังนี้

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

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 1 ง่ายสุดๆ 205
    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 1 ง่ายสุดๆ 206

    จากนั้นใส่เงื่อนไขว่าให้ใส่ Format เมื่อค่าในช่องเป็น TRUE (ก็พิมพ์เข้าไปเลย) แล้วด้านขวาคือจะให้ Format ด้วยสีอะไรยังไง ก็เลือกได้ตามใจชอบ (ถ้าไม่พอใจก็กด Custom Format ได้)

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 1 ง่ายสุดๆ 207

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

    แยกความต่าง ระหว่างช่อง Input กับช่อง Output

    เราควรใส่สีให้ต่างกันระหว่างช่องที่ต้องมีการกรอกเอง กับช่องที่คำนวณอัตโนมัติด้วย คนกรอกจะได้ไม่งงว่าต้องกรอกช่องไหนบ้าง (ถ้าให้ advance กว่านี้เรา Lock ได้ว่าช่องไหนยอมให้กรอก ไม่ให้กรอก ซึ่งเดี๋ยวไว้ค่อยทำทีหลังนะ)

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 1 ง่ายสุดๆ 208

    ถ้าจะเพิ่มสินค้าล่ะ?

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

    สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 1 ง่ายสุดๆ 209

    จะทำอะไรต่อดี?

    ตอนนี้ได้ไฟล์บริหาร Stock แบบง่าย (มากๆ) มาอันนึงแล้วล่ะ แต่ยังขาดความสามารถอีกหลายอย่างเลย เช่น

    • ข้อมูลการซื้อ-ขายสินค้า อาจมีได้หลายที (จะให้เขียนสูตรว่า =30+10+10 ไรงี้ก็ลำบาก) ควรจะทำตารางการซื้อ การขายแยกออกไปต่างหากเลยดีกว่า
    • ถ้าจะมีข้อมูลการซื้อขายสินค้าก็ควรมีพวกนี้ตามมาอีก
      • Drop-down List เลือกสินค้าให้มันง่ายหน่อยจริงมะ?
      • ต้องมีการคำนวณสรุปว่า ตกลงสินค้าที่สนใจซื้อมารวมกี่ชิ้น ขายไปรวมกี่ชิ้น
    • สินค้าซื้อมาจาก Vendor เจ้าไหน?
    • ลูกค้าที่ซื้อเป็นใคร?
    • ราคาต่อหน่วยเท่าไหร่ ทั้งตอนซื้อ และตอนขาย? แล้วราคาเปลี่ยนไปแต่ละช่วงเวลาไม่เท่ากันอีก
    • ส่วนลดพิเศษมีอีกมั้ย?
    • สุดท้ายกำไรเป็นกี่บาท?
    • กำไรนับแบบ FIFO LIFO อะไรคิดยังไง?
    • จะ scope ดูเฉพาะช่วงเวลาที่สนใจยังไง?

    เรื่องอะไรทำนองนี้ เดี๋ยวจะมาทำในบทความถัดๆ ไปนะครับ ซึ่งจะเห็นว่ามีเรื่องต้องทำอีกเยอะมาก ใครอยากให้มันทำอะไรได้นอกเหนือจากที่ List ไว้อีก ก็ Comment ไว้ได้เลย เดี๋ยวจะค่อยๆ อัปเกรดเจ้าไฟล์นี้ไปเรื่อยๆ และสอนไปด้วยนะ

    อ่านตอนต่อไป คลิ๊กที่นี่

  • สอนวิธีทำ Drop Down List แบบ Search ได้ใน Excel (ไม่ต้องใช้ VBA)

    สอนวิธีทำ Drop Down List แบบ Search ได้ใน Excel (ไม่ต้องใช้ VBA)

    คุณเคยมีปัญหามีรายการที่จะต้องแสดงใน Drop Down List จำนวนมากจนแสดงไม่ไหวหรือไม่?

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

    หลายคนคิดว่าเรื่องแบบนี้ต้องใช้ VBA ทำเท่านั้น แต่ในความเป็นจริง เราก็สามารถเขียนสูตรเพื่อสร้าง “Drop down List แบบค้นหาได้” โดยจะใช้ Excel Version ไหนก็สามารถทำได้ครับ สุดยอดไปเลยมั้ยล่ะ!!

    คลิปวีดีโอ

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

    ไฟล์ประกอบการทำตาม

    ไฟล์เริ่มต้น :

    https://drive.google.com/open?id=1qiWOJjoB9dGyPDt9HjByaCLUwky8_jqX

    ไฟล์จบ :

    https://drive.google.com/open?id=17QXXR5xVtHqxPgU1ay5biyg4Vcd1ypod

    หลักการทำงานของ Drop Down List แบบค้นหาได้

    • ใช้ ISNUMBER + SEARCH เพื่อเช็คว่ารายการไหน มีคำค้นหาอยู่บ้าง
    • พยายามเอารายการที่เจอ มากองรวมกันข้างบนด้วย INDEX
      • ในนี้ผมมีใช้ฟังก์ชัน ROW กับ RANK เพื่อช่วยจัดอันดับตัวที่เจออันดับ 1,2,3 ด้วยครับ
    • จากนั้นใช้ OFFSET เพื่อเลือก Range ของรายการที่เจอทั้งหมด
    • เอาสูตร OFFSET ที่ได้ไปตั้งชื่อ
    • เอาชื่อที่ตั้งไปใส่ใน Data Validation List
    • เลือก Option ว่าไม่ต้องแสดง Error Alert
    • ใช้ IF ดักว่าถ้าหาไม่เจอ ให้แสดงคำว่า “ไม่เจอข้อมูล”
    Drop Down List แบบ Search ได้ใน Excel (ไม่ต้องใช้ VBA)

    สรุปสูตร

    IsFound =ISNUMBER(SEARCH($A$2,[Province]))
    GetRowNum =IF([@IsFound],ROW([@Province]),"")
    Rank =RANK.EQ([@GetRowNum],[GetRowNum],1)
    Rearrange =INDEX([Province],MATCH(ROW([@Province])-1,[Rank],0))
    count=--NOT(ISERROR([@Rearrange]))
    
    =IF(SUM(Table1[count])=0,$K$4,OFFSET(Table1[[#Headers],[Rearrange]],1,0,SUM(Table1[count]),1))
    
    ใน A2 คือช่องที่จะทำ Dropdown
    ใน K4 มีคำว่า ไม่เจอข้อมูล
    

    อยากใช้ Drop Down หลายที่ทำไง?

    ถ้าอยากให้ Dropdown List ที่ทำมาสามารถ Copy ไปใช้ได้หลายๆ ที่ ต้องเปลี่ยนสูตรตรง IsFound เล็กน้อยนะครับ

    แก้จาก
    IsFound =ISNUMBER(SEARCH($A$2,[Province]))
    เป็น
    IsFound =ISNUMBER(SEARCH(CELL("contents"),[Province]))

    หลักการคือ ฟังก์ชัน CELL หากไม่ระบุ Cell Reference จะอ้างอิงถึงช่องล่าสุดที่มีการแก้ไขได้ ดังนั้น CELL(“contents”) จะดึงข้อมูลจากช่องที่มีการแก้ไขล่าสุดไปใช้ใน SEARCH ได้ครับ

    แหล่งอ้างอิง

  • แจก Template กราฟเทียบ Skill Chart ปัจจุบัน vs Target (มีเน้นจุดพัฒนาหลัก)

    แจก Template กราฟเทียบ Skill Chart ปัจจุบัน vs Target (มีเน้นจุดพัฒนาหลัก)

    แจก Template กราฟเทียบ Skill Chart ปัจจุบัน vs Target (มีเน้นจุดพัฒนาหลัก) 210

    เพื่อนๆ เคยเล่นเกมที่ตัวละครมีความสามารถหลากหลาย อาจมีเก่งบ้าง ห่วยบ้าง แล้วมันแสดงออกมาเป็นกราฟแบบ Skill Chart มั้ยครับ? กราฟนั้นใน Excel เรียกว่า Radar Chart ซึ่งไม่ค่อยมีใครใช้กันเท่าไหร่

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

    สามารถเอาไปประยุกต์กับเรื่องอื่นๆ เช่น งาน HR หรือ Spec สินค้าได้ ลองดูได้นะ ^^

    Download Template Skill Chart

    ถ้าใครอยากลองเล่นบ้าง ผมทำ Template ให้แล้วครับ

    Excel 2013 ขึ้นไป

    โหลดได้ที่นี่ (รองรับการเพิ่ม Skill ได้เลย ต้องใช้ Excel 2013 ขึ้นไปเพื่อใช้ Feature ของ Data Label ที่ชื่อว่า Value from Cell)

    Excel เก่ากว่า 2013

    ใครมี Excel ต่ำกว่า 2013 ให้ โหลดตัวนี้ แต่ถ้าเพิ่ม Skill ก็ต้องไป Manual Text Box เองนะ

    ลองทำของตัวคุณเองดูสิ

    คนไหนลองโหลดไปทำของตัวเองแล้ว Comment รูปกราฟให้ผมดูหน่อยนะ มันไม่มีผิดไม่มีถูกอยู่แล้ว มีแต่ความตั้งใจล้วนๆ ^^

  • วิธีคำนวณระยะเวลาทำงาน แบบมีช่วงเวลาหยุดพัก

    วิธีคำนวณระยะเวลาทำงาน แบบมีช่วงเวลาหยุดพัก

    ปัญหาหนึ่งที่มีคนถามมาบ่อยๆ เกี่ยวกับเรื่องของการคำนวณเวลา นั่นก็คือ การคำนวณระยะเวลาทำงาน เมื่อเรารู้เวลาเริ่มงาน เวลาเลิกงาน และมีการกำหนดช่วงเวลาพักไว้ เช่น Break อาจมีหลายช่วงด้วย เช่น พัก1 ตอน 12:00-13:00 และ พัก2 ตอน 17:00-18:00 เป็นต้น

    ในบทความนี้ผมจะขอเขียนอธิบายแนวทางในการคิด ซึ่งหากเข้าใจแล้วจะมีช่วงพักกี่ช่วงเราก็ไม่กลัวครับ

    ในบทความนี้ผมเตรียมข้อมูลอยู่ในรูปแบบ Table เพื่อให้เห็นชื่อ Field ชัดๆ ตอนเขียนสูตรดังนี้ (โหลดไฟล์ได้ที่นี่)

    วิธีคำนวณระยะเวลาทำงาน แบบมีช่วงเวลาหยุดพัก 211

    แนวคิด

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

    วิธีคำนวณระยะเวลาทำงาน แบบมีช่วงเวลาหยุดพัก 212

    การคำนวณระยะเวลาใน Part 1

    วิธีคำนวณระยะเวลาทำงาน แบบมีช่วงเวลาหยุดพัก 213

    เวลาจบ : MIN([@เริ่มพัก1],[@เลิกงาน])

    เวลาเริ่ม : MAX([@เริ่มงาน],0)

    ที่เทียบกับเลข 0 เพราะว่าเวลา 0:00 คือการเริ่มต้นวัน ซึ่งมีค่าที่แท้จริงคือเลข 0 นั่นเอง

    Part 1 ทำให้ไม่ติดลบด้วย Max กับ 0 :
    =MAX(MIN([@เริ่มพัก1],[@เลิกงาน])-MAX([@เริ่มงาน],0),0)

    การคำนวณระยะเวลาใน Part 2

    วิธีคำนวณระยะเวลาทำงาน แบบมีช่วงเวลาหยุดพัก 214

    เวลาจบ : MIN([@เริ่มพัก2],[@เลิกงาน])

    เวลาเริ่ม : MAX([@เริ่มงาน],[@จบพัก1])

    Part 2 ทำให้ไม่ติดลบด้วย Max กับ 0 :
    =MAX(MIN([@เริ่มพัก2],[@เลิกงาน])-MAX([@เริ่มงาน],[@จบพัก1]),0)

    การคำนวณระยะเวลาใน Part 3

    วิธีคำนวณระยะเวลาทำงาน แบบมีช่วงเวลาหยุดพัก 215

    เวลาจบ : MIN(1,[@เลิกงาน])

    ที่เทียบกับเลข 1 เพราะว่าเวลา 24:00 ก็คือจบวันพอดี ซึ่ง 1 วันใน Excel มีค่าคือ 1 ครับ

    เวลาเริ่ม : MAX([@เริ่มงาน],[@จบพัก2])

    Part 3 ทำให้ไม่ติดลบด้วย Max กับ 0 :
    =MAX(MIN(1,[@เลิกงาน])-MAX([@เริ่มงาน],[@จบพัก2]),0)

    รวมระยะเวลา

    รวมระยะเวลา =[@part1]+[@part2]+[@part3]

    สรุปสูตรทั้งหมด

    part1 =MAX(MIN([@เริ่มพัก1],[@เลิกงาน])-MAX([@เริ่มงาน],0),0)
    part2 =MAX(MIN([@เริ่มพัก2],[@เลิกงาน])-MAX([@เริ่มงาน],[@จบพัก1]),0)
    part3 =MAX(MIN(1,[@เลิกงาน])-MAX([@เริ่มงาน],[@จบพัก2]),0)
    รวม =[@part1]+[@part2]+[@part3]

    วิธีคำนวณระยะเวลาทำงาน แบบมีช่วงเวลาหยุดพัก 216

    ถ้ามีพักแค่ทีเดียว เราอาจทำให้ เวลาพัก 1 กับ 2 เหมือนกันไปก็ได้นะครับ เช่น

    วิธีคำนวณระยะเวลาทำงาน แบบมีช่วงเวลาหยุดพัก 217

    หรือถ้ามีพัก 3 อีกเราก็ใช้หลักการนี้ในการวิเคราะห์ได้ครับ ว่า Part4 ควรจะเริ่มต้นที่ไหน ยังไงลองดูนะครับ ถ้าติดก็ Comment ได้เลย

    คำนวณค่าแรง

    สมมติว่าการทำงานแต่ละชั่วโมง มีค่าจ้างด้วย ชั่วโมงละ 100 บาท เราจะคิดค่าจ้างอย่างไร?

    หากคิดว่าเราจะเอามาคูณกันตรงๆแบบนี้ ผลลัพธ์จะผิด เพราะว่าจริงๆ มันคนละหน่วยกัน
    เช่น =[@รวมเวลาทำงานในวัน]*[@ค่าจ้างต่อชม]

    วิธีคำนวณระยะเวลาทำงาน แบบมีช่วงเวลาหยุดพัก 218

    หากเราปรับ format ของช่องรวมเวลาเป็น general ให้เห็นค่าที่แท้จริงจะชัดเจนขึ้น

    วิธีคำนวณระยะเวลาทำงาน แบบมีช่วงเวลาหยุดพัก 219

    ค่าที่ออกมาจริงๆ แล้วหน่วยเป็นวัน ไม่ใช่ชั่วโมง (10:10 คือ 0.42 วัน) ดังนั้นการคำนวณเราต้องแปลงหน่วยเป็นชั่วโมงโดยการคูณ 24 ด้วย จึงจะถูกต้อง

    สรุป สูตร คือ : =[@รวมเวลาทำงานในวัน][@ค่าจ้างต่อชม]*24

    วิธีคำนวณระยะเวลาทำงาน แบบมีช่วงเวลาหยุดพัก 220

    ดังนั้น จำไว้เลยว่า เมื่อไหร่ที่มีการคำนวณเรื่องวันที่/เวลา… อย่าลืมคิดถึงเรื่องของค่าที่แท้จริงของมันนะครับ จะได้ไม่พลาด ^^

  • วิธีกำหนดให้ Pivot Table แสดงเฉพาะแถว/คอลัมน์ที่ต้องการ

    วิธีกำหนดให้ Pivot Table แสดงเฉพาะแถว/คอลัมน์ที่ต้องการ

    คงปฏิเสธไม่ได้ว่า Pivot Table คือเครื่องมือสรุปผลตัวเลขที่ใช้งานง่ายและมีประโยชน์ที่สุดเครื่องมือนึงใน Excel และคงปฏิเสธไม่ได้เช่นกันว่ามันก็มีข้อจำกัดหลายอย่างที่ทำให้หลายคนรำคาญใจ

    ข้อจำกัดหนึ่งที่หลายคนรำคาญมากคือ ในบางครั้งเราอยากจะเอาบางแถวหรือบางคอลัมน์ออกไปจาก Pivot Table ซะ ซึ่งหนึ่งในวิธีที่ทำได้คือทำการซ่อนแถวหรือคอลัมน์นั้นๆ ไปทั้งอันเลย ซึ่งอาจจะดูลูกทุ่งไปหน่อย วันนี้ผมเลยจะขอนำเสนออีกวิธีหนึ่งซึ่งดูโปรกว่า แต่จะทำได้เฉพาะ Excel 2010 ขึ้นไปเท่านั้นครับ เพราะมันต้องใช้ Power Pivot นะ!!

    มาเริ่มใช้ Pivot Table Named Set กัน

    วิธีนี้จะใช้เครื่องมือที่ชื่อว่า Named Set ซึ่งเป็น Feature ของ Power Pivot ที่ใช้ Data Model ดังนั้นการจะใช้คำสั่งนี้ได้ เราต้องมี Excel 2010 ที่มี Power Pivot Add-in หรือมี Excel 2013 ขึ้นไปถึงจะทำได้ครับ

    วิธีการใช้งานคือต้องสร้าง Pivot Table แบบ Add เข้า Data Model ซะก่อน

    วิธีกำหนดให้ Pivot Table แสดงเฉพาะแถว/คอลัมน์ที่ต้องการ 221

    จากนั้นหมุน Pivot Table ว่าต้องการ Field อะไรไว้ตรงไหนตามใจชอบ (ในรูปผมปรับ Pivot Layout เป็น Outline Form เพื่อให้เห็น Field แยกออกมาชัดๆ)

    วิธีกำหนดให้ Pivot Table แสดงเฉพาะแถว/คอลัมน์ที่ต้องการ 222

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

    วิธีกำหนดให้ Pivot Table แสดงเฉพาะแถว/คอลัมน์ที่ต้องการ 223

    ให้ไปที่ Field, Item & Set แล้ว Create Set Based on Row/Column แล้วแต่ว่าจะเอา Row ออก หรือเอา Column ออก (ในรูปผมจะเอาบางแถวออก ดังนั้นผมต้องเลือก Based on Row Items…)

    วิธีกำหนดให้ Pivot Table แสดงเฉพาะแถว/คอลัมน์ที่ต้องการ 224

    จากนั้นเลือกคอลัมน์ที่ไม่ต้องการ แล้ว Delete ออกได้เลย

    วิธีกำหนดให้ Pivot Table แสดงเฉพาะแถว/คอลัมน์ที่ต้องการ 225

    สังเกตว่าผลที่ออกมาในตัว Total รวมยังคงมีค่าเท่าเดิมก่อนจะเอา Row/Column ออกด้วยนะ

    วิธีกำหนดให้ Pivot Table แสดงเฉพาะแถว/คอลัมน์ที่ต้องการ 226

    นอกจากนี้ยังมี Set ที่เราตั้งชื่อไว้ ไปโผล่แทนที่ Row/Column เดิม ด้วย

    วิธีกำหนดให้ Pivot Table แสดงเฉพาะแถว/คอลัมน์ที่ต้องการ 227

    อย่างไรก็ตาม วิธีนี้ไม่สามารถเอา Field ที่เกี่ยวกับการทำ Set นั้นๆ ไปใส่ที่อื่นได้อีก เช่น ผมไม่สามารถลากสินค้าไปที่ Filter อีก เพื่อกรองสินค้าให้เหลือแค่ Dvd หนัง กับ ของเล่น เป็นต้น

    วิธีกำหนดให้ Pivot Table แสดงเฉพาะแถว/คอลัมน์ที่ต้องการ 228

    แต่ถ้าผมเอา Field ที่ไม่เกี่ยวข้องกับ Set ไปใส่ มันก็ยังยอมให้เล่นอยู่ครับ เช่น ผมเอาลูกค้าไปใส่ที่ Filter ก็ยังได้ครับ

    วิธีกำหนดให้ Pivot Table แสดงเฉพาะแถว/คอลัมน์ที่ต้องการ 229

    ยังแก้อะไรได้อีกมั้ย?

    สำหรับคนที่อยากแก้ไขให้มัน Advance กว่านี้ ในส่วนของ Set เราสามารถเข้าไป Edit MDX เพื่อแก้ไขอะไรที่มัน Advance กว่านี้ได้ครับ

    วิธีกำหนดให้ Pivot Table แสดงเฉพาะแถว/คอลัมน์ที่ต้องการ 230
    วิธีกำหนดให้ Pivot Table แสดงเฉพาะแถว/คอลัมน์ที่ต้องการ 231

    แต่บอกตามตรงว่าผมเองก็ยังไม่ได้ศึกษาเจ้า MDX นี่ให้ลึกลงไป ดังนั้นจะยังไม่กล้าสอนมากกว่านี้ครับ 555 ไว้ไปแอบศึกษามาก่อนแล้วจะเล่าให้ฟังนะ

    เบื้องต้นถ้าใครสนใจลองไปอ่านได้ที่นี่ครับ https://support.office.com/en-us/article/create-a-named-set-in-an-olap-pivottable-8148265e-f843-4300-98f5-37c74f96d770

    รู้แล้วจะเอาไปทำอะไรดี?

    เป็นยังไงบ้างครับกับเทคนิคการใช้ Named Set อันนี้ เคยรู้กันบ้างมั้ยครับ? แล้วถ้าตอนนี้รู้แล้วจะเอาไปใช้ทำอะไรกัน มาบอกกันบ้างนะครับ ^^

    สารบัญซีรีส์ Power Pivot

    • สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง

      หลายวันก่อนผมมีการ Post คำถามนี้ ไปใน เพจเทพเอ็กเซล ว่า จะดึงข้อความหลังเครื่องหมาย – ตัวที่สองได้อย่างไร?

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 232

      ปรากฏว่ามีคนสนใจมาตอบเป็นจำนวนมากกกกก กว่าที่ผมคิดไว้เยอะเลย และมีหลายท่านได้นำเสนอวิธีที่น่าสนใจและควรค่าต่อการนำมาอธิบายต่อมาก

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

      ขอเริ่มจากวิธีที่ผมคิดว่าง่ายที่สุดก่อนละกันนะครับ

      วิธีที่ 1 : ใช้ Flash Fill

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

      ข้อจำกัด : ใช้ได้ตั้งแต่ Excel 2013 ขึ้นไป

      แนะนำมาโดย : Bob Pytnst, Noppadol Rattanawisadrat, Taekuza Meathayavat

      วิธีทำ : พิมพ์ตัวอย่างสิ่งที่อยากได้ เช่น UITR ลงไปในช่อง B2 กด Enter

      พอเราอยู่ที่ช่อง B3 แล้ว จากนั้นกด Flash Fill
      ที่ Data –> (Data Tool) Flash Fill ที่เป็นรูปสายฟ้า
      หรือกด Ctrl+E ก็ได้ครับ (ผมชอบกดแบบนี้ ง่ายกว่าเยอะ)

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 233

      วิธีที่ 2 : ใช้ Text to Column แบบ Delimited

      หลักการ : แบ่งข้อมูลจากคอลัมน์เดียว กลายเป็นหลายๆ คอลัมน์ โดยมีตัวคั่นที่ชัดเจน คือ เครื่องหมาย – นั่นเอง ( แต่ไม่ใช่สูตร หากข้อมูลต้นทางเปลี่ยนต้องกดคำสั่ง Text to Column ใหม่)

      แนะนำมาโดย : Chatchai Sanguanwong, Tee Jamjam, Gus Pholsap, Natdanai Choksakulsub, Bob S. Wibulseth

      วิธีทำ Copy ข้อมูลออกมาเป็นอีกคอลัมน์นึงก่อน จากนั้นไปที่

      Data –> (Data Tools) Text To Column

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 234

      จากนั้นเลือก Delimiter (ตัวแบ่ง) เป็น Other แล้วพิมพ์ – ลงไปในช่องว่าง แล้ว Finish ได้เลย

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 235

      จากนั้น ให้ลบ Cell ที่ไม่เกี่ยวข้องออก ถ้าต้องการ

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 236

      วิธีที่ 3 : ใช้ Power Query Extract Data

      หลักการ : ใช้ Power Query ดึงเอาข้อมูลจากตัวคั่น – ตัวขวาสุุด (หากข้อมูลต้นทางเปลี่ยนแปลงสามารถกด Refresh ได้)

      ข้อจำกัด : ต้องมี Power Query รุ่นใหม่ (Excel 365) หรือ Power BI Desktop

      แนะนำมาโดย : เทพเอ็กเซล

      วิธีทำ โหลดข้อมูลที่ต้องการเข้า Power Query ก่อน (เช่น Get Data from Table/Range)

      จากนั้น Add Column –> Extract –> Text After Delimiter ตามรูปได้เลย

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 237

      กด ok แล้วจบเลย

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 238

      สรุป M-Code

      let
           Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
           #"Inserted Text After Delimiter" = Table.AddColumn(Source, "Text After Delimiter", each Text.AfterDelimiter([code], "-", {0, RelativePosition.FromEnd}), type text)
       in
           #"Inserted Text After Delimiter"

      วิธีที่ 4 : ใช้ Power Query Split

      หลักการ : สำหรับคนที่มี Power Query version เก่า จะไม่มีเครื่องมือ Extract After Delimiter แบบตัวอย่างที่แล้ว

      ดังนั้นเราจะมาใช้ Power Query Split แทน ซึ่งสามารถ Split ข้อมูลจากตัวคั่น – ตัวขวาสุุดได้ครับ

      แนะนำมาโดย : เทพเอ็กเซล

      ข้อจำกัด : ต้องมี Power Query (Excel 2010 ขึ้นไป) หรือ Power BI Desktop

      วิธีทำ : โหลดข้อมูลที่ต้องการเข้า Power Query ก่อน (เช่น Get Data from Table/Range)

      จากนั้น Duplicate Column เอาไว้ก่อน

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 239

      ต่อไปเราก็จะทำการ Split Column ออกมา โดยใช้ Delimiter แล้วเอาจากด้านขวาสุด

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 240

      จะได้ส่วนที่ต้องการออกมาเลย

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 241

      กด Remove Column ที่ไม่ต้องการเป็นอันจบ

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 242

      สรุป M-Code

      let
           Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
           #"Duplicated Column" = Table.DuplicateColumn(Source, "code", "code - Copy"),
           #"Split Column by Delimiter" = Table.SplitColumn(#"Duplicated Column", "code - Copy", Splitter.SplitTextByEachDelimiter({"-"}, QuoteStyle.Csv, true), {"code - Copy.1", "code - Copy.2"}),
           #"Removed Columns" = Table.RemoveColumns(#"Split Column by Delimiter",{"code - Copy.1"})
       in
           #"Removed Columns"

      วิธีที่ 4 : ใช้สูตร FIND เพื่อหาตำแหน่ง – ตัวที่สอง

      หลักการ : FIND สามารถหาตำแหน่งของคำที่ต้องการได้ และระบุได้ว่าจะให้เริ่มหาตั้งแต่ตัวไหน

      ดังนั้นถ้าเราเริ่มหาตั้งแต่หลังจากที่เจอตัวแรกไป (ด้วยการเอาตำแหน่งที่เจอตัวแรกไป +1) ก็จะได้ตำแหน่งของ – ตัวที่สองครับ

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 243

      แนะนำมาโดย : Apichot Hongkham, Aussanee Sripirom, Jason Beer, Vorrachai Rojanaporntip, Nop Noppon, Guy SN, Parakorn Tantapon, Wittaya Chainim, Worachai Pathumapa

      วิธีทำ : ในช่อง B3 เขียนสูตรว่า

      =RIGHT(A3,LEN(A3)-FIND("-",A3,FIND("-",A3)+1))

      มาดูทีละ Part แบบทีละ Step จากซ้ายไปขวาครับ

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 244

      วิธีที่ 5 : ใช้สูตร SUBSTITUTE ช่วยหาพิกัดของ – ตัวที่สอง

      หลักการ : หาตำแหน่ง – ตัวที่สองให้ได้ แล้วใช้ RIGHT ดึงข้อความออกมา
      ซึ่งสูตรนี้จะใช้ SUBSTITUTE เปลี่ยน – ตัวที่สองให้กลายเป็นเครื่องหมายแปลกๆ ก่อน เช่น | แล้วค่อยใช้ FIND หาตำแหน่งของ | อีกที ที่เหลือก็ไม่ใช่เรื่องยากแล้ว

      ทั้งนี้เพราะ =SUBSTITUTE(text,old_text,new_text,instance_num) ยอมให้เราระบุได้ว่าจะแทนข้อความเดิมคำที่เท่าไหร่ในส่วนของ instance_num นั่นเองครับ

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 245

      ซึ่งวิธีนี้จะสะดวกในกรณีที่เครื่องหมาย – มีเยอะๆ เช่น อยากจะได้ – ตัวที่ 5 เราก็สามารถระบุได้เลยด้วย =SUBSTITUTE(text,”-“,”|”,5) โดยไม่ต้องเขียน FIND 5 รอบครับ

      แนะนำมาโดย : เทพเอ็กเซล

      วิธีทำ : ในช่อง B3 เขียนสูตรว่า

      =RIGHT(A3,LEN(A3)-FIND("|",SUBSTITUTE(A3,"-","|",2)))

      มาดูทีละ Part แบบทีละ Step จากซ้ายไปขวาครับ

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 246

      วิธีที่ 6 : ใช้ REPLACE ในการตัดข้อความส่วนหน้าออกไปซะ เหลือแต่ข้างหลัง

      หลักการ : หาตำแหน่ง – ตัวที่สองให้ได้ก่อน จากนั้นใช้ REPLACE ตัดข้อความที่ไม่ต้องการออก โดยเอาออกตั้งแต่ตำแหน่งแรก เป็นจำนวนตัวอักษรเท่ากับตำแหน่งของ – ตัวที่สอง แล้วแทนด้วย “”

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 247

      แนะนำมาโดย : Pichai Tee

      วิธีทำ : ในช่อง B3 เขียนสูตรว่า

      =REPLACE(A3,1,FIND("-",A3,FIND("-",A3)+1),"")

      มาดูทีละ Part แบบทีละ Step จากซ้ายไปขวาครับ

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 248

      วิธีที่ 7 : ใช้ MID เพื่อเลือกข้อความส่วนที่ต้องการ

      หลักการ : หาตำแหน่ง – ตัวที่สองออกมาแล้วใช้ MID ดึงข้อความหลังจากนั้นมาซะ ซึ่งหากเราใส่จำนวนตัวอักษรที่ต้องการจะดึงด้วย MID ยาวมากจนเกินตัวอักษรที่มีก็ไม่เป็นไร ดังนั้นในที่นี้เลยดึงออกมาด้วย LEN ซะเลย (แม้จะเริ่มต้นที่ตำแหน่งหลัง – ตัวที่สองแล้วก็ตาม)

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 249

      แนะนำมาโดย : Manop Udom

      วิธีทำ : ในช่อง B3 เขียนสูตรว่า

      =MID(A3,FIND("-",A3,FIND("-",A3)+1)+1,LEN(A3))

      มาดูทีละ Part แบบทีละ Step จากซ้ายไปขวาครับ

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 250

      วิธีที่ 8 : ใช้ TRIM + MID ตัดเอาส่วนที่ต้องการ

      หลักการ : วิธีนี้ค่อนข้างแปลกมากๆ ครับ คือพยายามใช้ช่องว่างจำนวนมหาศาลมาใส่แทน – แต่ละตัว แล้วใช้ MID เลือกส่วนที่ต้องการมา (คัดให้เริ่มและจบที่ช่องว่างระหว่างคำ) จากนั้นใช้ TRIM เพื่อตัดช่องว่างส่วนเกินออก

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 251

      แนะนำมาโดย : Bo Rydobon

      วิธีทำ : ในช่อง B3 เขียนสูตรว่า

      =TRIM(MID(SUBSTITUTE(A3,"-",REPT(" ",40)),80,40))

      มาดูทีละ Part แบบทีละ Step จากซ้ายไปขวาครับ

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 252

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

      =TRIM(MID(SUBSTITUTE(A3,"-",REPT(" ",200)),400,200))

      ทั้งนี้เพื่อให้ MID สามารถเลือกคำระหว่างช่องว่างออกมาให้ได้นั่นเองครับ

      วิธีที่ 9 : ใช้ VBA สร้างฟังก์ชัน Split ขึ้นมาเอง

      หลักการ : Excel ในปัจจุบันยังไม่มีฟังก์ชัน SPLIT แบบเดียวกับ Google Sheets แต่ว่าเราก็พอหาทางแก้ไขได้โดยการเขียนฟังก์ชันใน VBA มาใช้เองครับ

      แนะนำมาโดย : Bo Rydobon

      วิธีทำ : กด Alt+F11 เพื่อเปิด VBA Editor ขึ้นมาครับ

      จากนั้น คลิ๊กขวาเพื่อ Insert Module ใหม่ดังรูป

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 253

      จากนั้นใส่ code ดังนี้

      Function GetSplit(text As String, dlm As String, pos As Integer)
       GetSplit = split(text, dlm)(pos - 1)
       End Function

      **ผมขอดัดแปลง Code เล็กน้อย จากที่เดิม comment มาจริงๆ ว่า

      Function split2(t)
      split2 = Split(t, "-")(2)
      End Function

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

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 254

      จากนั้นสามารถเรียกใช้ฟังก์ชันได้เลย เช่น =GetSplit(A2,”-“,3) จะแบ่งข้อมูลด้วย – จากนั้นดึงเอาส่วนที่ 3 มาครับ

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 255

      ถ้าใช้วิธีนี้แล้วจะ Save ไฟล์ไว้ อย่าลืม Save เป็น .xlsm หรือไม่ก็ .xls นะครับ (ไม่งั้น VBA จะหายหมดนะ)

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 256

      สรุปวิธีดึงข้อความ

      บทความนี้ยาวมาก มีใครอ่านมาจนจบบ้างมั้ย 555

      ใครที่อ่านมาถึงตรงนี้น่าจะเห็นแล้วว่า ปัญหาหนึ่งๆใน Excel มันมีทางแก้เยอะมากๆ นี่ขนาดแค่เรื่องดึงข้อความจากส่วนที่ต้องการยังมีวิธีหลากหลายขนาดนี้เลย

      อย่างไรก็ตามหลักการแก้ปัญหานี้มีอยู่ 2 ส่วนหลักๆ คือ

      1. หาตำแหน่งที่เป็นจุดแบ่งที่เหมาะสม (เช่น FIND ซ้อน FIND, SUBSTITUTE ตัวที่กำหนด แล้ว FIND)
      2. ดึงส่วนของข้อความที่ต้องการ (จะใช่ RIGHT, MID หรืออะไรก็แล้วแต่)
        ซึ่งจริงๆ แล้วฟังก์ชัน MID ก็สามารถใช้แทน LEFT และ RIGHT ได้อยู่แล้วอ่ะนะ เพราะมันเป็นตัวที่มีความ Flexible มากกว่า เนื่องจากกำหนดได้ทั้งจุดเริ่มต้น และจำนวนตัวอักษรที่ต้องการ

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

      นอกเหนือจากวิธีดังกล่าว ยังมีอีกหลายท่านที่มาแนะนำการใช้เครื่องมืออื่นๆ ซึ่งต่างก็เจ๋งๆ กันทั้งนั้น เราเองก็น่าจะลองเปิดใจ ศึกษาเครื่องมือเหล่านี้ด้วยเช่นกันครับ

      เช่น Google Sheets (Qiuxuan Ank, Jonathan Ablanida)

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 257
      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 258

      R, Python (Kasidis Satangmongkol)

      สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง 259

      สุดท้ายนี้ขอขอบคุณทุกคนที่เข้ามา Comment ใน Post ที่ผมถามคำถามไปด้วยนะครับ ถือว่าเป็นการได้แลกเปลี่ยนความรู้กันได้ดีมากๆ และคนอ่านก็น่าจะเกิดประโยชน์มากด้วยเช่นกัน ^^

      เดี๋ยวบทความถัดไป จะเป็นการอธิบายเรื่องที่ยากกว่านี้ นั่นคือ การดึงตัวเลขออกมาจากข้อความนั่นเอง จะเป็นยังไง รอติดตามได้เลยครับ!!

    • วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel

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

      ประเด็นที่ 1 : การกรอกวันที่ปัจจุบัน

      วิธีกรอกวันที่ปัจจุบันลงไปใน Excel มีง่ายๆ 2 วิธีด้วยกัน

      1. ใช้ฟังก์ชัน =TODAY()
      2. กดคีย์ลัด Ctrl+; (ปุ่ม ว)

      ซึ่งมันออกมาเป็นวันที่ปัจจุบันทั้งคู่… แล้วทั้ง 2 วิธีต่างกันตรงไหน? หากใช้ผิด ผลที่ได้อาจไม่ใช่อย่างที่คิดนะครับ…

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

      แต่ถ้าหากใช้คีย์ลัด Ctrl+; (ปุ่ม ว) มันจะเป็นการ Stamp ค่าวันที่ลงไปใน Cell เลย เหมือนกับการที่เราพิมพ์ลงไปเอง แค่สะดวกขึ้น ดังนั้นวิธีนี้ถึงจะเอาไฟล์ไปเปิดในวันถัดไป ค่าก็จะไม่เปลี่ยนครับ

      ประเด็นที่ 2 : วิธีกรอกวันที่ใน Excel

      สมมติว่าวันที่เราต้องการกรอกลงไปใน Excel คือวันอังคาร ที่ 25 มิถุนายน พ.ศ. 2562 นะ

      คุณจะกรอกวันที่ดังกล่าวลงไปใน Excel ยังไงครับ? (เราใส่วันที่เป็น / หรือ – ได้ทั้งคู่นะ)

      ก) 25/6/2562 หรือ 25-6-2562

      ข) 25/6/2019 หรือ 25-6-2019

      หากใครตอบ ก. ก็ผิดทันทีครับ เพราะวิธีกรอกที่ถูกต้องต้องกรอกเป็น ค.ศ. เสมอ (ถ้าเราไปกรอกเป็น 25/6/2562 Excel จะเข้าใจว่าเป็น ค.ศ. 2562 ซึ่งเป็นวันในอนาคตอีก 543 ปีข้างหน้า ซึ่งวันจันทร์-อาทิตย์ก็ไม่ตรงกับปัจจุบัน แถมบางปีอาจมี 29 กพ. ไม่ตรงกันด้วย (ปี ค.ศ. ที่หาร 4 ลงตัวจะมี 29 กพ. เกือบ 100%)

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 260

      ส่วนใครตอบว่า ข ก็ยังต้องลุ้นต่อว่าจะถูกหรือผิดอยู่ดี…

      วิธีกรอกวันที่แบบถูกต้องให้ง่ายที่สุด คือ ให้กรอกเป็น ปี/เดือน/วัน (ไม่ว่าคอมพ์จะตั้งค่าแบบไหนก็จะรู้จักวันที่รูปแบบนี้)
      หรือไม่ก็กรอกตามตัวอย่างรูปแบบวันที่ปัจจุบันที่แสดงขึ้นมาจาก =TODAY() หรือ Ctrl+; นั่นแหละครับ ว่าเป็น วัน/เดือน/ปี หรือ เดือน/วัน/ปี

      สิ่งที่ผมจะบอกก็คือ การกรอก 25/6/2019 เครื่องคอมพ์ของคนไทยส่วนใหญ่จะวันที่ออกมาชิดขวาของ Cell … แต่บางเครื่องกลับชิดซ้าย…

      ถ้ากรอกแล้ววันที่ออกมาชิดซ้าย Cell แสดงว่าผิดชัวร์ เพราะแสดงว่า Excel ไม่ได้มองว่าข้อมูลนั้นเป็นวันที่แต่มองเป็นข้อความ (หากข้อมูลเป็นวันที่จริง Excel จะตีความเป็นตัวเลข ซึ่งจะชิดขวา)

      แล้วทำไมพิมพ์แบบเดียวกันแท้ๆ บางเครื่องได้ บางเครื่องไม่ได้??

      ก็เพราะเรื่องวันที่ มันขึ้นอยู่กับการตั้งค่าใน Control Panel ในส่วนของ Regional Setting (รูปลูกโลก) ว่าตั้งค่าเป็น Format ของประเทศอะไร ?

      ถ้าตั้งค่าผิดจากที่คิด เช่น ตั้งเป็น English (United States) มันจะเป็น เดือน/วัน/ปี
      ซึ่งถ้าเราใส่ 25/6/2019 มันจะนึกว่าเป็นเดือนที่ 25 วันที่ 6 ซึ่งไม่มี… (มันเลยไม่รู้จักไง)

      ซึ่งผมขอแนะนำให้ตั้งเป็น Thai (Thailand) ไม่ก็ English (United Kingdom) ซึ่งจะทำให้วันที่ออกมาเป็น วัน/เดือน/ปี ซึ่งเป็นแบบที่คนไทยถนัดครับผม

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 261

      ประเด็นที่ 3 : กรอกวันที่เป็น ค.ศ. แต่อยากแสดงปีเป็น พ.ศ. ทำไง?

      ถ้ากรอกวันที่เป็น ค.ศ. ไปแล้ว เช่น 25/06/2019 แต่อยากให้แสดงออกมาเป็น พ.ศ. มันก็ง่ายมากๆ เลยครับ นั่นคือ ให้ไปปรับที่ Number Format นั่นเอง

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 262

      พอปรับ Number Format แล้ว รูปแบบที่เรามองเห็นจะเปลี่ยนไป แต่ค่าจริงๆ ยังเหมือนเดิมครับ

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 263

      ประเด็นที่ 4 : ค่าที่แท้จริงของวันที่ใน Excel

      สมมติเรากรอกวันที่ 25/6/2019 ลงไปใน Cell ถูกต้องแล้ว…

      สมมติว่าผมอยากได้เลขวัน ว่าเป็นวันที่เท่าไหร่ (ในที่นี้ต้องการเลข 25) หรือ อยากได้ปีว่าเป็นปีอะไร (ต้องการเลข 2019)

      คนที่ไม่เข้าใจเรื่องวันที่อาจลองใช้ฟังก์ชัน LEFT(วันที่,2) เพื่อเอาข้อมูล 2 ตัวแรก หรืออาจจะใช้ RIGHT(วันที่,4) เพื่อเอาข้อมูล 4 ตัวท้าย ซึ่งมันผิดนะครับ

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 264

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

      • ซึ่งจะเริ่มตั้งแต่วันแรกที่ Excel รู้จัก คือ วันที่ 1/1/1900 แทนด้วยเลข 1
      • วันถัดมา คือ คือ วันที่ 2/1/1900 แทนด้วยเลข 2
      • โดยเลขจะเพิ่มขึ้นเรื่อยๆ วันที่ในยุคปัจจุบัน จะถึงเลข 40000 กว่าๆ แล้ว
      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 265

      ถ้าไม่เชื่อลองปรับ Format ของข้อมูลวันที่เป็น General ดู จะเห็นว่าวันที่ 25/06/2019 เป็นเลข 43641 ซึ่งก็คือ ค่าที่แท้จริงครับ

      แต่ถ้าคุณกรอกวันที่เป็น ปี พ.ศ. เช่น 25/06/2562 แล้วปรับเป็น General จะได้เลขออกมา 2 แสนกว่าๆ ซึ่งไม่ใช่ 4 หมื่นกว่าๆ แสดงว่าผิดชัวร์ (2 แสนกว่าคือวันที่ในอนาคต ในอีก 543 ปีข้างหน้า)

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 266

      และนี่ก็คือสาเหตุว่าทำไม LEFT(วันที่,2) กลับได้ 43 จาก 43641 แทนจะได้ 25 และ RIGHT(วันที่,4) กลับได้ 3641 จาก 43641 แทน 2019

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

      ประเด็นที่ 5 : การคำนวณเกี่ยวกับวันที่และเวลา

      • วันที่ คือ จำนวนเต็ม
      • เวลา คือ ทศนิยม (ที่เป็นสัดส่วนของวัน เช่น 12:00 คือ 0.5 วัน เนื่องจาก 24:00 คือ 1 วัน)

      หากต้องการเลื่อนวันที่ไป 7 วัน ก็สามารถเอาค่าวันที่ไป +7 ได้เลย

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 267

      และหากมีข้อมูลแยกกันคนละช่อง เราสามารถเอามารวมกันง่ายๆ ได้ด้วยการบวก (ไม่ใช่เอามา & เชื่อมกันนะ)

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 268

      ถ้าเรามีข้อมูลรวมวันที่และเวลาอยู่ในช่องเดียวกัน เราก็แยกวันที่ออกมาด้วยวิธีการหาจำนวนเต็ม เช่น ใช้ INT มาช่วย และ สามารถใช้ฟังก์ชันต่างๆ เพื่อดึงจากข้อมูลที่เป็นวันที่และ/หรือเวลาได้เลยดังนี้

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 269

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

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 270

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

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 271

      เช่นในรูปข้างบนนี้ เราเห็นผลหน้าตาออกมาเป็น 3 ชั่วโมง แต่หากลองปรับ Format เป็น general จะเห็นว่าค่าที่แท้จริงคือ 0.125 ซึ่งหน่วยเป็นวันต่างหาก

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 272

      ดังนั้นจะเอาไปคำนวณอะไรต่อก็ระวังเรื่องหน่วยด้วยนะครับ เช่น จะเอาไปคูณค่าใช้จ่ายต่อชั่วโมง ก็ต้องแปลงหน่วยให้ตรงกันซะก่อน

      นอกจากนี้แล้ว ก็มีฟังก์ชันเกี่ยวกับวันที่ที่ควรรู้อีกมากมาย ลองดูฟังก์ชันพื้นฐานได้ที่นี่

      ประเด็นที่ 6 : วิธีการคำนวณวันของสัปดาห์(วันจันทร์-อาทิตย์)

      ปกติแล้วถ้าเรามีข้อมูลวันที่อยู่ แล้วอยากรู้ว่าเป็นวันอะไร (จ-อา) ใน Excel ก็จะมีฟังก์ชันที่ทำหนี้ที่นี้อยู่ นั่นก็คือ WEEKDAY

      แต่เจ้า WEEKDAY ออกแบบมาเอาใจคนทั่วโลกที่มีความหลากหลายมากๆ ก็เลยดันมี Option ใน Input ที่ชื่อว่า return_type โดยให้เลือกว่าจะให้วันจันทร์-อาทิตย์ออกมาเป็นตัวเลขรหัสแบบไหน เช่น

      • โหมด 1 : ให้วันอาทิตย์เป็น 1 และ เสาร์เป็น 7
      • โหมด 2 : ให้วันจันทร์เป็น 1 และ อาทิตย์เป็น 7
      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 273

      ซึ่งมันอาจทำให้เกิดปัญหาเรื่องความชอบหรือความเข้าใจแต่ละคนไม่ตรงกันก็ได้ เพราะมันดันออกมาเป็นตัวเลข ไม่ใช่วันที่เป็นข้อความเช่น Monday หรือ จันทร์ เป็นต้น

      วิธีแก้ที่สามารถทำได้แบบหนึ่งคือ ทำตารางอ้างอิงว่า Code ตัวเลข 1-7 ของเราคือวันอะไร จากนั้นก็ใช้พวก VLOOKUP ดึงข้อมูลชื่อวันมาแสดงก็ได้

      แต่ผมจะขอแนะนำอีกวิธีหนึ่งง่ายๆ นั่นก็คือการเปลี่ยน Custom Number Format เป็น dddd ครับ

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 274

      พอเราปรับ Number Format เป็น dddd ก็จะแสดงข้อความออกมาเป็นชื่อวันเลย แต่ว่ามันก็เป็นแค่ Format หรือการแสดงผลนะครับ ค่าที่แท้จริงยังคงเป็นตัวเลขธรรมดาๆ อยู่ (สังเกตว่าคำว่าอังคารดันชิดขวา บ่งบอกว่าจริงๆ คือ ตัวเลขนะ)

      Tips: เราสามารถเอาค่าดังกล่าวไปบวก 1 แล้วจะได้เป็นคำว่า พุธ ด้วยซ้ำ

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 275

      ถ้าเราลองใช้ LEFT ดูจะเห็นว่าได้ออกมาเป็นเลข 4 เพราะค่าที่แท้จริง คือ 4 หมื่นกว่าๆ ซึ่งทำให้เกิดปัญหาว่าเราไม่สามารถเช็คข้อมูลได้สะดวกนักว่า Cell นั้นมีค่าตามที่เราต้องการรึเปล่า?

      วิธีแก้ไข ถ้าอยากให้ชื่อวันเป็นข้อความจริงๆ ให้ใช้ฟังก์ชัน TEXT แล้วใส่ format เป็น dddd มาช่วยแทนครับ เช่น

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 276

      แบบนี้จะเห็นว่าคำว่าอังคารจะกลายเป็น Text จริงๆ ไปแล้ว และอยู่ชิดซ้ายด้วย (ถ้า LEFT 1 ตัวอักษร ก็จะได้ อ แล้วครับ)

      นอกจาก dddd แล้ว ก็ยังสามารถใส่ได้อีกหลายแบบเช่น

      • ddd = ชื่อย่อของวัน
      • dddd = ชื่อเต็มของวัน
      • mmm = ชื่อย่อขอเดือน
      • mmmm = ชื่อเต็มของเดือน

      ประเด็นที่ 7 : การกำหนดภาษาของวันที่

      ทีนี้ยังมีประเด็นจุกจิกอีกเล็กน้อย นั่นคือ บางเครื่องใส่ dddd แล้วออกมาเป็น “อังคาร” แต่บางเครื่องก็ออกมาเป็น “Tuesday”

      ที่เป็นแบบนี้เพราะมันจะยึดตามภาษาที่ตั้งไว้ใน Control Panel ที่ผมบอกตอนแรกนั่นแหละครับ เครื่องผมตั้งค่าเป็น Thai (Thailand) ก็เลยออกมาเป็น “อังคาร” ซึ่งถ้าเอาไฟล์ไปเปิดในเครื่องคนอื่นก็อาจขึ้นเป็นภาษาอื่น ทำให้ไม่มีมาตรฐาน ซึ่งอาจยากต่อการเขียนสูตรอีกแล้ว

      ทางแก้ไขคือ จะต้องมีการระบุภาษาให้เจาะจงลงไปใน code ของ Custom Number Format เลย เช่น จะเอาภาษาอังกฤษนะ ไม่ว่าจะเปิดในเครื่องไหน ก็จะเป็นภาษาอังกฤษเหมือนกันหมดครับ

      วิธีในการดู Code คือ ให้ไปเลือก Format วันที่มาซักอันนึงทีมีข้อความ เช่นอันนี้ผมเลือกจาก Locale ภาษาอังกฤษ (English UK)

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 277

      จากนั้นค่อยไปกดที่ Custom คราวนี้เราจะเห็น Code รหัสภาษาออกมาด้วย

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 278

      คราวนี้ถ้าผมแก้เป็น [$-en-GB] นำหน้า ก็จะได้เป็น Tuesday แล้วครับ

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 279

      ลองไปทำภาษาไทยดูก็จะเป็นแบบนี้ [$-th-TH,107] นำหน้า

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 280

      ประเด็นที่ 8 : ถ้าข้อมูลไม่ใช่วันที่แบบถูกต้อง จะแก้ยังไง?

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

      ผมแนะนำว่าโดยทั่วไปคือ ให้แยกข้อมูลออกมาทีละส่วนเป็น ปี เดือน วัน ด้วย LEFT MID RIGHT ตามความเหมาะสม (คราวนี้ทำได้เพราะข้อมูลเป็นเลขหรือข้อความธรรรมดา) จากนั้นค่อยเอามารวมร่างกันด้วยฟังก์ชัน DATE ครับ

      นอกจากนี้ อาจใช้เทคนิคเปลี่ยน Custom Number Format ให้ใส่ขีดคั่น แล้วบังคับแปลงเป็นตัวเลขด้วยการคูณ 1 แล้วค่อยเปลี่ยน Format เป็นวันที่ แบบนี้ก็ได้ครับ

      วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 281

      สรุป

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

      ถ้าเจอปัญหาที่วันที่ปนกันหลายรูปแบบลองทำแบบนี้ดูครับ

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

    • รวมคีย์ลัด Excel ที่ใช้บ่อย พร้อมเทคนิคการจำ

      รวมคีย์ลัด Excel ที่ใช้บ่อย พร้อมเทคนิคการจำ

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

      ก่อนอื่นต้องบอกว่าบทความนี้ยาวนะครับ แต่รับรองว่าคุณจะได้อะไรดีๆ ไปเยอะมากๆ แน่นอน

      ทำไมต้องใช้คีย์ลัด Excel?

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

      แน่นอนว่าการใช้ Mouse คลิ๊กก็สามารถทำงานให้สำเร็จได้เช่นกัน แต่ว่าการลาก Cursor ไปมา ก็มีต้นทุนของเรื่องเวลามากกว่าการใช้ Keyboard ไม่ว่าจะเป็นแค่ครั้งละ 1-2 วินาทีก็ตาม ซึ่งถ้าทำอย่างนี้วันละหลายๆ รอบ รวมกันก็หลายนาทีอยู่นะ

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

      หมายเหตุ : ในบทความนี้สอนใช้คีย์ลัดของ Windows PC นะครับ ถ้าใช้ Mac แนะนำให้ไปดูที่เว็บ ExcelJet แทน

      คลิปสอนคีย์ลัดเบื้องต้น

      ทำไมต้องมีเทคนิคการจำ?

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

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

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

      Arctic vs Antarctic ?

      ตัวอย่างวิธีจำอันนึงที่ผมอ่านเจอแล้วชอบมาก คือ ชื่อทวีป Arctic กับ Antarctic ซึ่งผมมักจะงงเสมอว่าอันไหนมันขั้วโลกเหนือ อันไหนมันขั้วโลกใต้? … อยู่มาวันหนึ่งผมไปอ่านเจอว่า

      • Antarctic = Ant มันคือมดที่เดินบนพื้นดิน เราต้องก้มมองต่ำ = ใต้
      • Arctic = Arc คือส่วนโค้งของเพดาน/ประตู ที่เราต้องแหงนหน้ามอง = เหนือ
      รวมคีย์ลัด Excel ที่ใช้บ่อย พร้อมเทคนิคการจำ 282
      Ant มันคือมดที่เดินบนพื้นดิน เราต้องก้มมองต่ำ
      = ขั้วโลกใต้ Antarctic

      ตั้งแต่ผมรู้หลักการจำนี้ ที่อาศัยการเชื่อมโยงกับคำว่า Ant และ Arc ผมก็ไม่เคยสับสนกับคำว่า Antarctic กับ Arctic อีกเลยครับ

      นอกจากนี้ก็มีหลายเทคนิคที่ผมคิดค้นวิธีจำของผมเองด้วย เช่น

      เครื่องหมาย > กับ <

      • > มากกว่า เพราะฝั่งซ้ายมีสองกิ่ง ฝั่งขวามีจุดเดียว แปลว่า ซ้ายมากกว่าขวา
      • < น้อยกว่า เพราะ ฝั่งซ้ายมีจุดเดียว ฝั่งขวามีสองกิ่ง แปลว่า ซ้ายน้อยกว่าขวา

      วิธีการนำไปใช้

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

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

      คีย์ลัดในเว็บของผมจะเป็นของ PC เท่านั้น ถ้าใครใช้ Mac ลองไปดูจากเว็บ ExcelJet แทนนะครับ

      เอาล่ะ เพื่อไม่ให้เสียเวลา เราไปเข้าเรื่อง Excel กันได้แล้วล่ะ

      คีย์ลัด ใน Excel (Keyboard Shortcut)

      สิ่งสำคัญมากๆ คือ ก่อนจะเข้าโปรแกรม Excel ครั้งแรก ต้องปรับคีย์บอร์ดให้เป็นภาษาอังกฤษก่อนนะครับ ไม่งั้นจะกดคีย์ลัดบางตัวไม่ติด และคีย์ลัดที่ต้องกดปุ่ม Fต่างๆ เช่น F4 บางเครื่องต้องกดเป็น Fn+F4 แทนนะครับ

      คีย์ลัดที่สำคัญที่สุด ก็คือ Action อะไรก็ได้ที่เราทำบ่อยที่สุด ซึ่งมันก็แล้วแต่งานของแต่ละคนว่ามันคืออะไร ดังนั้นผมจะแบ่งคีย์ลัดตามกลุ่มการใช้งานที่คล้ายๆ กันอยู่ด้วยกันนะครับ

      ซึ่งคีย์ลัดตัวไหนที่ผมใช้บ่อยมาก จะทำตัวหนาสีแดงไว้ให้ครับ

      การทำงานของไฟล์ (มักใช้ได้กับหลายๆ โปรแกรม)

      คีย์ลัดความหมายวิธีจำ
      Ctrl+NNew WorkbookN=New
      Alt+F4ปิดโปรแกรม
      (ใช้ได้กับทุกโปรแกรม)
      F4 (Four) = Forever คงอยู่ตลอด
      Alt =สลับ เปลี่ยนเป็นอีกแบบ
      รวมกัน=เปลี่ยนจาก Forever =เป็นการปิดการทำงาน
      Ctrl+F4ปิด Workbook ปัจจุบันคล้ายๆ ข้างบน แต่แค่ Ctrl
      เลยให้ผลแค่ Workbook
      Ctrl+OOpen ไฟล์O=Open
      Ctrl+PPrintP=Print
      Ctrl+S Save ไฟล์
      (ถ้าไม่เคย Save จะเป็น Save As)
      S=Save
      F12 Save As

      คำสั่งทั่วไป (ใช้ได้กับหลายๆ โปรแกรม)

      คีย์ลัดความหมายวิธีจำ
      Ctrl+CCopy ข้อมูลC=Copy
      Ctrl+V

      Enter
      Paste ข้อมูล

      ถ้าเรา copy ข้อมูลมาแล้ว
      เราสามารถกด Enter เพื่อ Paste ได้นะ
      V=วาง
      (ติดกับ c กดง่าย)
      Ctrl+Alt+V

      หรือคลิ๊กขวาหลัง Copy
      Paste SpecialV=วาง
      Alt = ทางเลือก
      Paste แบบมีทางเลือก
      Ctrl+XCut ข้อมูลX = รูปกรรไกร
      (ติดกับ c กดง่าย)
      Ctrl+Z undo
      F1Help

      เรียกใช้เครื่องมือ

      คีย์ลัดความหมายวิธีจำ
      F4Redo (กรณีเคย Undo มาก่อน)
      Repeat action สุดท้ายซ้ำ
      (กรณี Undo จนสุดแล้ว/ไม่เคย undo)
      F4 (Four) = Forever
      ทำซ้ำไปเรื่อยๆ
      Altเลือกเมนูบน Ribbon
      ด้วยคีย์บอร์ด
      Alt=ทางเลือก สลับ เปลี่ยน
      เปลี่ยนจากปกติใช้ Mouse
      มาใช้ Keyboard แทน
      Alt, ตามด้วย
      ตัวเลข
      เป็นการใช้เมนูใน Quick Access Toolbar
      ปุ่มอะไรไม่มีคีย์ลัด หรือเลือกยาก กดยาก
      ก็มายัดไว้ในนี้นะ
      Alt+F1สร้างกราฟอย่างรวดเร็ว ใน Sheet เดิม
      Alt+F11เปิด VBA Editor

      ตัวอย่าง Quick Access Toolbar

      รวมคีย์ลัด Excel ที่ใช้บ่อย พร้อมเทคนิคการจำ 283
      เอาเครื่องมือที่ใช้บ่อย แต่กดปุ่มยากมาใส่
      รวมคีย์ลัด Excel ที่ใช้บ่อย พร้อมเทคนิคการจำ 284
      ใส่เครื่องมือเพิ่มจาก Ribbon โดยคลิ๊กขวา -> Add to Quick Access Toolbar
      รวมคีย์ลัด Excel ที่ใช้บ่อย พร้อมเทคนิคการจำ 285
      พอกด Alt ก็จะมีเลขขึ้น ให้กดใช้ได้เลย
      รวมคีย์ลัด Excel ที่ใช้บ่อย พร้อมเทคนิคการจำ 286
      Customize การเรียง/เพิ่ม/ลบ เครื่องมือได้
      สามารถใส่เครื่องมือที่ไม่อยู่ใน Ribbon ได้

      ช่วยกรอกข้อมูลเร็วๆ

      คีย์ลัดความหมายวิธีจำ
      Ctrl+;Stamp วันที่ปัจจุบันลง CellCtrl+ว = วันที่
      (อยู่ปุ่มเดียวกับเวลา)
      Ctrl+:
      Ctrl+Shift+;
      Stamp เวลาปัจจุบันลง Cell
      (ละเอียดแค่ระดับนาที)
      : เป็นสัญลักษณ์ของเวลา
      (อยู่ปุ่มเดียวกับวันที่ Ctrl+ว)
      Alt+ลูกศรลงเลือก Drop down List
      (ถ้าไม่เคยสร้าง
      มันจะเดาจากข้อมูลด้านบน)
      ALT = ทางเลือก
      ลง = Drop Down
      Ctrl+DFill Down
      Copy จากช่องบนสุดลงมา
      D=Down
      Ctrl+RFill Right
      Copy จากช่องซ้ายสุดไปขวา
      R=Right
      Ctrl+EFlash Fill เลียนแบบผลลัพธ์ตัวอย่างที่เราใส่ลงไป
      ใครไม่เคยใช้ลองอ่านอันนี้ได้
      E=Excellent
      Flash Fill กรอกข้อมูลแบบ Excellent

      คีย์ลัด ผสม Mouse ลาก

      กรณีใช้กับ Range

      รวมคีย์ลัด Excel ที่ใช้บ่อย พร้อมเทคนิคการจำ 287
      เอา Cursor มาที่ขอบ Range
      จะเป็นลูกศร 4 แฉก ถึงจะลากได้
      คีย์ลัดความหมายวิธีจำ
      ลากขอบ Range
      Move Range
      ลาก=ลากตัวไป
      =จับย้าย
      Ctrl+ลากขอบ Range
      Copy RangeCtrl=Copy
      Shift+ ลากขอบ Range Insert Range Shift แปลว่า เลื่อน
      =แทรกจนคนอื่นเลื่อน
      Shift+Ctrl+ลากขอบ Range Insert Copy RangeShift แปลว่า เลื่อน
      Ctrl=Copy
      Alt+ ลาก ถ้ากด Alt ไว้ จะ
      ลาก Range เพื่อข้าม
      Sheet/Workbook ได้
      Alt=เปลี่ยน
      Sheet/Workbook

      กรณีใช้กับ Object อื่น

      รวมคีย์ลัด Excel ที่ใช้บ่อย พร้อมเทคนิคการจำ 288
      Ctrl+ลาก Sheet
      สามารถ Copy Sheet ได้แบบง่ายๆ
      ไม่ต้องคลิ๊กขวา Move or Copy ให้ยุ่งเลย!
      คีย์ลัดความหมายวิธีจำ
      ลาก
      Sheet/ Object / Shape
      Move Sheet/ Object / Shapeลาก=ลากตัวไป
      =จับย้าย
      Ctrl+ลาก
      Sheet/ Object / Shape
      Copy Sheet/ Object / ShapeCtrl=Copy
      Shift+ ลากขอบ Shapeเลื่อนแบบให้ตรงแนวตั้งแนวนอนShift=เลื่อนได้ดี

      การเลือกข้อมูล

      ใช้ Mouse ผสม Keyboard

      คีย์ลัดความหมายวิธีจำ
      Shift + Clickเลือกข้อมูลที่ต่อเนื่องกันShift=Selection เลือกทีเดียวเยอะๆ
      Ctrl + Click เลือกข้อมูลที่ไม่ต่อเนื่องกันCtrl = ควบคุม = ค่อยๆ เลือกทีละกัน

      ใช้ Keyboard ปุ่มหลัก

      คีย์ลัดความหมายวิธีจำ
      ปุ่มลูกศร
      (ขึ้นลงซ้ายขวา)
      เลื่อน Active Cell ทีละ Cellลูกศร=ทิศทาง
      Shift+ ปุ่มลูกศรเลือกข้อมูลเพิ่ม/ลด
      ทีและแถว ทีละคอลัมน์
      Shift= Selection
      =เลือก
      ลูกศร=ทิศทาง
      Ctrl+ ปุ่มลูกศร กระโดดไปสุดทาง Ctrl=กระโดด
      ลูกศร=ทิศทาง
      Shift+Ctrl+ ปุ่มลูกศร

      (กด Shift ก่อน Ctrl
      จะเลือกในขณะเขียนสูตร
      แล้วไม่หลุด)
      เลือกข้อมูลและกระโดด
      ไปสุดทาง
      Shift=เลือก
      Ctrl=กระโดด
      ลูกศร=ทิศทาง
      Ctrl+A เลือกข้อมูลทั้งหมด
      (ที่ต่อเนื่องกัน)
      A=All
      Ctrl+.เปลี่ยนจุดมุม
      Active Cell
      (cell ที่ highlight)
      ในพื้นที่ที่เลือก
      ในทิศตามเข็มนาฬิกา

      มักใช้คู่กับ Shift+ลูกศร
      . = จุดมุม

      ใช้ Keyboard ปุ่มเสริม

      คีย์ลัดความหมายวิธีจำ
      Ctrl+Homeกระโดดไปช่องแรกสุดCtrl=กระโดด
      Home=บ้าน
      จุดเริ่มต้น
      Shift+Ctrl+Homeเลือก+กระโดดไปช่องแรกสุดShift=เลือก
      Ctrl=กระโดด
      Home=บ้าน
      จุดเริ่มต้น
      Ctrl+Endกระโดดไปช่องสุดท้าย
      ที่เคยใช้งาน

      Ctrl=กระโดด
      End=จุดสิ้นสุด
      Shift+Ctrl+Endเลือก+ กระโดดไปช่องสุดท้าย
      ที่เคยใช้งาน
      Shift=เลือก
      Ctrl=กระโดด
      End=จุดสิ้นสุด
      PgUpขึ้นทีละหน้าPage Up
      ขึ้นบน = ย้อนกลับ
      PgDnลงทีละหน้าPage Down
      ลงล่าง = ไปต่อ
      Alt+PgUpไปซ้ายทีละหน้าAlt ช่วยเปลี่ยนทิศ
      ซ้าย = ย้อนกลับ
      Alt+PgDnไปขวาทีละหน้าAlt ช่วยเปลี่ยนทิศ
      ขวา = ไปต่อ
      Ctrl+Space barเลือกทั้งคอลัมน์
      (ถ้าใช้ใน Table
      จะเลือกแค่ใน Table นั้น)
      Space bar = Range ยาวๆ
      Ctrl = Column
      Shift+Space barเลือกทั้งแถว
      (ถ้าใช้ใน Table
      จะเลือกแค่ใน Table นั้น)
      Space bar = Range ยาวๆ
      Shift = ปุ่มยาวๆ แนวนอน= แถว

      การแทรก ลบ แถว/คอลัมน์/cell

      คีย์ลัด Excel
      คีย์ลัดความหมายวิธีจำ
      Ctrl+ บวก
      Ctrl+Shift+=
      Insert Row/Col/Cell
      แล้วแต่ว่าเลือกอะไรอยู่
      เครื่องหมาย + คือ เพิ่ม/แทรก
      Ctrl+ ลบDelete Row/Col/Cell
      แล้วแต่ว่าเลือกอะไรอยู่
      เครื่องหมาย – คือ ลบ
      Ctrl+0Hide Column0 ศูนย์ คือ สูญ ทำให้หายไป
      0 ดูเป็นแนวตั้งมากกว่า (สูงๆ)
      จึงเป็นการซ่อนคอลัมน์
      Ctrl+9Hide Row9 เป็นตัวคู่กับ 0
      (ต้องจำ Ctrl+0 ให้ได้ก่อน)
      Ctrl+Shift+0
      Ctrl+)
      Unhide Column เพราะ Ctrl+0 คือ Hide Column
      Ctrl+Shift+9
      Ctrl+(
      Unhide Rowเพราะ Ctrl+9 คือ Hide Row

      การค้นหาข้อมูล

      คีย์ลัดความหมายวิธีจำ
      Ctrl+Fเครื่องมือ Find/Replace F=Find
      Ctrl+G
      F5
      เครื่องมือ Go toG=Go to
      F5=5 (ห้า) =ไปหา
      Ctrl+{
      Ctrl+Shift+[
      ไปช่องทั้งหมด
      ที่เกี่ยวข้องกับที่มาของสูตร
      คล้าย Trace Precedent
      ไปจนสุด
      { } = สัญลักษณ์
      ของสูตร Array
      เห็นข้อมูลเป็นก้อน

      { มาก่อน=ไปก่อนหน้า
      Ctrl+}
      Ctrl+Shift+]
      ไปช่องที่เกี่ยวข้องทั้งหมด
      ที่เอาข้อมูลไปใช้
      คล้าย Trace Dependent
      ไปจนสุด
      { } = สัญลักษณ์
      ของสูตร Array
      เห็๋นข้อมูลเป็นก้อน

      } มาหลัง=ไปถัดไป
      Ctrl+[ไปช่องที่มาของสูตร
      Trace Precedent ทีเดียว
      ปุ่มเดียวกับข้างบน
      แต่ไม่กด Shift
      Ctrl+]ไปช่องต่อไปที่เอาข้อมูลไปใช้
      Trace Dependent ทีเดียว
      ปุ่มเดียวกับข้างบน
      แต่ไม่กด Shift

      การปรับ Format ข้อมูล

      รวมคีย์ลัด Excel ที่ใช้บ่อย พร้อมเทคนิคการจำ 289
      คีย์ลัดความหมายวิธีจำ
      Ctrl+1Format CellFormat ทุกอย่างแบบ All in One (1)
      เป็น Combo เข้าชุด Ctrl+ 1,2,3,4,5
      Ctrl+2
      Ctrl+B
      ตัวหนาลำดับเรียงตาม Ribbon= ฺB, I, U
      b=bold
      Ctrl+3
      Ctrl+I
      ตัวเอียงลำดับเรียงตาม Ribbon= ฺB, I, U
      i=italic
      Ctrl+4
      Ctrl+U
      ขีดเส้นใต้ลำดับเรียงตาม Ribbon= ฺB, I, U
      u=underline
      Ctrl+5ขีดฆ่า (strike through)5=โดน(ขีด)ฆ่าตายห่า
      เป็น Combo เข้าชุด Ctrl+ 1,2,3,4,5

      การตีกรอบ

      ต้องเข้า Menu Format Border ก่อน โดย กด Ctrl+1 แล้วไป Tab Border

      คีย์ลัดความหมายวิธีจำ
      Alt+OตีกรอบรอบนอกO=Outside
      Alt+I ตีกรอบในI=Inside / Interior
      Alt+RตีกรอบขวาR=Right
      Alt+Lตีกรอบซ้ายL=Left
      Alt+TตีกรอบบนT=Top
      Alt+Bตีกรอบล่างB=Bottom
      Alt+HตีกรอบแนวนอนH=Horizontal
      (H มีเส้นนอนราบตรงกลาง)
      Alt+Vตีกรอบแนวตั้งV=Vertical
      (V ชี้ลงแนวตั้ง)
      Alt+DตีกรอบแนวเฉียงD=Diagonal
      Alt+N ไม่ตีกรอบเลยN=None

      การปรับ Format ตัวเลข

      รวมคีย์ลัด Excel ที่ใช้บ่อย พร้อมเทคนิคการจำ 290
      คีย์ลัดความหมายวิธีจำ
      Ctrl+~
      (ถ้าเราเปลี่ยนภาษา
      ด้วยปุ่มนี้จะใช้ไม่ได้)
      ใส่ General FormatCombo เรียงลำดับปุ่มคีย์บอร์ด
      ตามเมนู Number Format
      Ctrl+!
      (Ctrl+Shift+1)
      ใส่ Number Format
      มี, หลักพัน ทศนิยม 2 ตำแหน่ง
      ตัวเลขเป็น Format
      ทีนิยมที่สุด! (ตกใจ)
      เป็นอันดับ1 (เลข1)
      Ctrl+@
      (Ctrl+Shift+2)
      ใส่ Format เวลา@ at= เจาะจง
      เหมือนการเจาะจงเวลา
      เช่น เจอกัน @8:30 นะ
      Ctrl+#
      (Ctrl+Shift+3)
      ใส่ Format วันที่# คือ รูปแบบข้อมูลวันที่
      ในโปรแกรม Database
      Ctrl+$
      (Ctrl+Shift+4)
      ใส่ Format สกุลเงิน$ คือ สกุลเงิน
      Ctrl+%
      (Ctrl+Shift+5)
      ใส่ Format %%…ก็คือ %
      Ctrl+^
      (Ctrl+Shift+6)
      ใส่ Format Scientific E คือ 10 ยกกำลัง
      ^ คือ เครื่องหมายยกกำลัง

      มุมมอง

      คีย์ลัดความหมายวิธีจำ
      Ctrl+Alt+ บวก
      Ctrl+Alt+ =
      Zoom in Alt คือเปลี่ยน(ขนาด)
      + คือเพิ่มขนาด
      Ctrl+Alt+ ลบZoom outAlt คือเปลี่ยน(ขนาด)
      – คือ ลดขนาด
      Ctrl+Pgupไป Sheet ก่อนหน้ามองให้เหมือนกระดาษสมุด
      PgUp คือหน้าบน ที่มาก่อน
      Ctrl+PgDnไป Sheet ถัดไปมองให้เหมือนกระดาษสมุด
      PgDnคือหน้าต่อไป
      Ctrl+Tabไป Workbook ถัดไป
      Ctrl+Shift+Tabไป Workbook ที่แล้ว

      การเขียนสูตร

      คีย์ลัดความหมายวิธีจำ
      Tabเลือกใช้ Function หรือ Name
      ตอนที่มี Auto Complete มาให้เลือก
      F2เข้าสู่ Edit Mode
      F3เลือก Name เพื่อ Paste ลงสูตรF3 เป็นเรื่อง Name
      F4[ใน Edit Mode]
      ใส่เครื่องหมาย $ เพื่อตรึง
      Cell Reference
      วนกัน 4 แบบ $A$1, A$1, $A1, A1
      F4 = 4ever วัน 4 แบบ
      F9[ใน Edit Mode]
      คำนวณแปลงสูตรที่ Highlight
      ให้เป็น Value

      [นอก Edit Mode]
      สั่ง Calculate ทั้ง Workbook
      F9 เป็นการคำนวณ
      Shift+F9สั่ง Calculate แค่ Sheet ที่ทำงาน Shift=Sheet เดียว
      F9 เป็นการคำนวณ
      Ctrl+Alt+F9บังคับคำนวณทุกอย่างใหม่หมด
      แม้ว่าข้อมูลจะไม่เปลี่ยน
      Escใช้ยกเลิกการกด F9 /
      ยกเลิกการเขียนสูตร
      Esc = หนี
      Ctrl+Enterใส่สูตรพร้อมกันหลายช่องCtrl=ควบคุม
      ควบคุมหลายช่อง
      พร้อมกัน
      Ctrl+Shift+Enterใส่สูตรแบบ Array Formula
      Alt+=ใส่ Autosumอยากรู้ผลรวมว่า
      เท่ากับเท่าไหร่

      เรื่องเกี่ยวกับ Name

      คีย์ลัดความหมายวิธีจำ
      F3เลือก Name เพื่อ Paste ลงสูตรF3= Name
      Ctrl+F3เปิด Name ManagerCtrl=ควบคุม
      F3= Name
      ควบคุม Name
      Ctrl+Shift+F3สร้าง Name จาก SelectionCtrl=ควบคุม
      Shift = Selection
      F3= Name

      Table / Filter

      คีย์ลัดความหมายวิธีจำ
      Ctrl+T แปลงให้เป็น Table T=Table
      Ctrl+Shift+L เปิดปิด Filter แต่ก่อน Filter เคยถูกเรียกว่า List เลยใช้ตัว L
      Ctrl+Shift+T เปิด/ปิด Table Total Row T=Total Row
      Shift เพื่อให้ไม่ซ้ำ
      กับ Ctrl+T
      Alt+ลูกศรลง เลือก Drop down List
      (ถ้าไม่เคยสร้าง
      มันจะเดาจากข้อมูลด้านบน)
      ALT = ทางเลือก
      ลง = Drop Down
      Shift+Alt+ลูกศรลง เปิดเมนูบน Filter Drop down
      จาก Cell ที่เลือก
      (กรณี Active Cell อยู่ที่ Data)
      Shift เพิ่ม =เลื่อนไป
      เลือก Dropdown ได้
      แม้ไม่อยู่ที่หัวตาราง

      หลังเข้า Filter Dropdown แล้วกดปุ่มที่ขีดเส้นใต้ได้

      รวมคีย์ลัด Excel ที่ใช้บ่อย พร้อมเทคนิคการจำ 291
      ถ้าจะ Search กดปุ่ม E ได้

      PivotTable

      คีย์ลัดความหมายวิธีจำ
      Alt, N, VInsert–> Pivot Table Alt=เรียก Ribbon
      N=iNsert
      V=piVot
      Ctrl+เครื่องหมายลบFilter ข้อมูลนั้นทิ้งลบ = เอาออก
      Shift+Alt+ลูกศรขวาGroup

      (ใช้กับ Range
      ปกติได้ด้วย)
      Shift=Selection
      Alt=เปลี่ยน
      รวม=เปลี่นกลุ่มข้อมูลที่เลือก
      ยิ่ง group จะยิ่งซ้อนไปทางขวา
      Shift+Alt+ลูกศรซ้ายUngroup

      (ใช้กับ Range
      ปกติได้ด้วย)
      Shift=Selection
      Alt=เปลี่ยน
      รวม=เปลี่นกลุ่มข้อมูลที่เลือก
      Ungroup จะปลดออกไปทางซ้าย
      Alt+F5RefreshF5 เป็นปุ่ม Refresh
      ในโปรแกรมทั่วไป
      Ctrl+Alt+F5Refresh AllCtrl ควบคุมทั้งหมด
      F5 เป็นปุ่ม Refresh
      ในโปรแกรมทั่วไป

      สรุป แล้วยังไงต่อไป?

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

      อ่อ!! ถ้าคุณคิดว่ามีวิธีจำคีย์ลัดที่ดีกว่าที่ผมบอก ก็ช่วย Comment บอกผมด้วยนะครับ จะได้เอามาปรับใช้บ้าง เพราะบางตัวผมก็คิดวิธีจำดีๆ ยังไม่ออกเหมือนกันครับ 555

      ในอนาคต ผมจะพยายามอัปเดทหน้านี้เรื่อยๆ นะครับ มันอาจจมีเทคนิคที่ดีขึ้น รูปประกอบที่ดีขึ้น เพื่อให้บทความนี่สมบูรณ์มากขึ้นเรื่อยๆ ครับ

    • ใช้ Excel คำนวณมูลค่าเงินในอนาคตจากการลงทุน

      ใช้ Excel คำนวณมูลค่าเงินในอนาคตจากการลงทุน

      “ถ้าเราลงทุน x บาท ด้วยผลตอบแทน z% เป็นเวลา y ปี สุดท้ายจะมีเงินเท่าไหร่ครับ?”

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

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

      ดังนั้นผมจะสอนวิธีใช้ Excel คำนวณมูลค่าเงินในอนาคตแบบง่ายๆ ได้ด้วยฟังก์ชัน FV ใน Excel เองครับ

      ใช้ Excel คำนวณการลงทุน FV

      เราสามารถคำนวณมูลค่าเงินในอนาคตได้ด้วยฟังก์ชัน FV (Future Value) ได้ครับ สูตรเดียวจบ แถมรองรับการใส่เงินเพิ่มในแต่ละเดือนได้ด้วยนะ ซึ่งมีสูตรดังนี้

      =FV(rate,nper,pmt,[pv],[type])

      จะเห็นว่าสูตรขึ้นอยู่กับ Input หลายๆ ตัว คือ

      • rate=อัตราผลตอบแทนต่องวด (ถ้าเราคิดจะมีการลงทุนเพิ่มในแต่ละเดือน แปลว่าระยะวลาของแต่ละงวดคือเดือนครับ)
      • nper = จำนวนงวด
      • pmt = เงินที่จะใส่เพิ่มแต่ละงวด
      • pv = เงินตั้งต้น
      • type = เป็นการเลือกว่ากระแสเงินสดเกินขึ้นที่ต้นงวดหรือปลายงวด ถ้าไม่กรอกแปลว่าเกิดที่ปลายงวดแต่ละงวด ซึ่งเราจจะไม่กรอก

      หลักการเหมือนเดิม คือ เงินเข้ากับเงินออกต้องใส่เครื่องหมายคนละทิศกัน

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

      จะได้สูตรดังนี้

      =FV(ผลตอบแทนต่องวด,จำนวนงวด,-เงินลงทุนเพิ่มในแต่ละงวด,-เงินลงทุนตั้งต้น)

      ใช้ Excel คำนวณมูลค่าเงินในอนาคตจากการลงทุน 292

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

      วิเคราะห์การลงทุนด้วย Sensitivity Analysis

      การถามว่า “ถ้าเปลี่ยนปัจจัยต่างๆ ไป ผลลัพธ์จะเป็นยังไง?” อันนี้เค้ามีชื่อเรียกอย่างเป็นทางการว่า Sensitivity Analysis ครับ

      ซึ่งผมจะใช้เครื่องมือ Data Table ช่วยทำ เพราะง่ายดี (จะใช้การใส่ $ lock cell ก็ทำได้นะ) ซึ่งแสดงวิธีทำไว้บทความอื่นๆ แล้ว จึงไม่ขอบอกวิธีละเอียดในบทความนี้แล้วนะ

      เปลี่ยนระยะเวลาการลงทุน เปลี่ยนอัตราผลตอบแทน

      ให้ Row input cell เป็น อัตราผลตอบแทน , Column input cell เป็นระยะเวลาการลงทุน

      ใช้ Excel คำนวณมูลค่าเงินในอนาคตจากการลงทุน 293

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

      ใช้ Excel คำนวณมูลค่าเงินในอนาคตจากการลงทุน 294

      เราจะเห็นได้ว่าด้วยอัตราผลตอบแทน 6% (เช่น ลงทุนในกองทุนรวมหุ้น ควรจะต้องได้ 6-10% นะ) เป็นเวลา 15-20 ปี นี่ได้ผลตอบแทน มากกว่าการไม่ลงทุนอะไรเลยเกือบ 2 เท่าเลยนะครับ!!

      ดังนั้นถ้าเรายิ่งเริ่มลงทุนเร็ว เราจะมีระยะเวลาในการลงทุนได้นานขึ้น เช่น ถ้าคุณลงทุนตั้งแต่อายุ 30 กว่าจะเกษียรก็ 60 แปลงว่ามีระยะเวลาการลงทุนได้ 20-30 ปีเลยนะครับ แต่ถ้าคุณมาเริ่มตอนอายุ 40-50 นี่่อาจจะไม่เหลือเวลามากแล้ว

      ถ้าไม่มีเวลาลงทุนนานขนาดนั้นล่ะ?

      สมมติว่าคุณมีเวลาลงทุน Fix ไว้แค่ 10 ปี (ช่อง B3 แก้เป็น 10 ไปเลย โดยเราจะไม่ได้เปลี่ยนในตารางเล่น)

      ดังนั้นอาจต้องลงทุนแต่ละเดือนเพิ่มขึ้นแทน เราลองมาดูกันว่าเป็นยังไง?

      ให้ Row input cell เป็น อัตราผลตอบแทน , Column input cell เป็นจำนวนเงินที่ลงเพิ่มในแต่ละเดือนครับ

      ใช้ Excel คำนวณมูลค่าเงินในอนาคตจากการลงทุน 295

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

      ใช้ Excel คำนวณมูลค่าเงินในอนาคตจากการลงทุน 296

      ไฟล์ประกอบบทความ

      โหลดไฟล์ประกอบบทความได้ที่นี่

      สรุป

      ถ้าคุณไม่ค่อยมีเงินลงทุนมาก คุณต้องพึ่งพาเวลาให้มาก… ดังนั้นลงทุนเร็ว ได้เปรียบโคตรๆ (มีเวลาให้เรียนรู้เยอะด้วย ล้มได้ ลุกใหม่ไหว)

      ถ้าคุณไม่ค่อยมีเวลา คุณต้องลงทุนเพิ่มให้มากขึ้น… (แต่ก็สู้ใช้เวลามากๆ ไม่ได้อยู่ดี)

      อย่างไรก็ตาม ทั้งคู่ ต้องลงทุนในที่ที่ผลตอบแทนดีในระยะยาว (ซึ่งจะทำได้ดีกว่า 6% ต้องใช้ความรู้ให้มากขึ้น คือการลงทุนในตัวเอง) ไม่ใช่ปล่อยเอาไว้ใน บัญชีออมทรัพย์ หรือ ฝากประจำ ที่ดอกเบี้ยเตี้ยต่ำติดดินจนเหมือนเอาเงินไว้ในตุ่ม 555

    • สอนใช้ Excel คำนวณยอดผ่อนเงินกู้แบบง่ายๆ

      สอนใช้ Excel คำนวณยอดผ่อนเงินกู้แบบง่ายๆ

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

      การผ่อนเงินกู้โดยทั่วไปสำหรับคนทั่วไป จะแบ่งเป็น 2 ลักษณะ คือ

      1. แบบเงินต้นคงที่ (ดอกเบี้ย Flat Rate เช่น การผ่อนรถยนต์)
      2. แบบลดต้นลดดอก (ดอกเบี้ย Effective Rate แบบผ่อนบ้าน หรือ สินเชื่อธุรกิจ)

      ซึ่งผมจะสอนวิธีคิดทั้งคู่เลยครับ

      เอาล่ะ สมมติเราจะกู้เงิน 1 ล้านบาท ดอกเบี้ย 6% ต่อปี แล้วอยากรู้ว่าจะต้องผ่อนเดือนละกี่บาท (เดือนละเท่าๆ กัน) จึงจะผ่อนหมดพอดี ในระยะเวลา 5 ปี เราก็กรอกข้อมูลดังรูปเลย

      สอนใช้ Excel คำนวณยอดผ่อนเงินกู้แบบง่ายๆ 297

      คำนวณยอดผ่อนเงินกู้แบบเงินต้นคงที่ (ดอกเบี้ย Flat Rate)

      ทีนี้จะเริ่มจากตัวที่เข้าใจง่ายก่อน ก็คือการผ่อนรถ ซึ่งโดยทั่วไปจะคิดดอกเบี้ยแบบ Flat Rate คือ แบบไม่ลดต้นลดดอก ซึ่งแปลว่า ไม่ว่าเราจะผ่อนเงินต้นไปเท่าไหร่ ดอกเบี้ยที่จ่ายก็จะไม่ลดลงเลย (ช่วงแรกหรือช่วงหลัง ก็ต้องจ่ายดอกเบี้ยเท่ากันหมด)

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

      = (เงินต้น+ดอกเบี้ยทุกปี) / (จำนวนงวดทั้งหมด)

      =(B1+ B1*B2*B3) / (B3*12)

      สอนใช้ Excel คำนวณยอดผ่อนเงินกู้แบบง่ายๆ 298

      คำนวณยอดผ่อนเงินกู้แบบลดต้นลดดอก (ดอกเบี้ย Effective Rate)

      การคิดยอดผ่อน แบบลดต้นลดดอก ถ้าใช้วิชาคณิตศาสตร์ทั่วไปจะยากมากๆ แต่เราโชคดีที่ Excel มีฟังก์ชัน PMT ที่จะตอบโจทย์เรื่องนี้ได้ครับ

      =PMT(rate,nper,pv,[fv],[type])

      สูตรพวกการเงินใน Excel เช่น PV, FV, PMT, RATE มีหลักการเหมือนกัน คือ ต้องดูทิศทางของ Cash Flow ด้วย เช่น ถ้าเงินเข้าให้ใส่เลขเป็นบวก ถ้าเงินออกให้ใส่เลขเป็นลบ (หรือจะกลับกันก็ได้ ขึ้นอยู่กับมองในมุมมองคนกู้ หรือ มุมมองธนาคาร)

      ดังนั้นในสูตรนี้ผมจึงใส่เลขเงินต้นให้ติดลบ (ธนาคารเสียเงิน) เพราะทิศทางมันคนละอันกับยอดผ่อนแต่ละเดือน (ธนาคารได้เงิน)

      สอนใช้ Excel คำนวณยอดผ่อนเงินกู้แบบง่ายๆ 299

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

      ซึ่งเรื่องพวกนี้เราสามารถนำมาต่อยอดทำเป็น Sensitivity Analysis ได้สบายๆ ครับ เช่น ผมสามารถหายอดผ่อนต่อเดือนที่จะต้องผ่อน ถ้าจำนวนปีเปลี่ยน หรือ อัตราดอกเบี้ยเปลี่ยนไปได้

      สอนใช้ Excel คำนวณยอดผ่อนเงินกู้แบบง่ายๆ 300

      วิธีทำคือเตรียมอัตราดอกเบี้ย ปีที่กู้ เอาไว้ก่อนดังนี้

      สอนใช้ Excel คำนวณยอดผ่อนเงินกู้แบบง่ายๆ 301

      จากนั้นไปช่อง B11 ที่เป็นจุดตัดหัวตาราง แล้วเขียนสูตร Link กับช่องยอดผ่อนที่เราคิดไว้แล้ว คือ =B5

      แล้วลากครอบพื้นที่ แล้วกด Data -> What if Analysis -> Data Table

      สอนใช้ Excel คำนวณยอดผ่อนเงินกู้แบบง่ายๆ 302
      • แล้วเลือก Row Input Cell ไปที่ช่องอัตราดอกเบี้ย คือ B2
      • แล้วเลือก Column Input Cell ไปที่ช่องจำนวนปี คือ B3

      แล้วกด ok ก็จะได้ดังรูปครับ

      สอนใช้ Excel คำนวณยอดผ่อนเงินกู้แบบง่ายๆ 303

      ที่นี้ถ้าไม่อยากให้ผ่อนเป็นเศษ ก็ใช้พวก ROUND, ROUNDUP, ROUNDDOWN มาช่วยในช่องที่เราคำนวณยอดผ่อนได้ครับ (ในที่นี้ผมใช้ ROUNDUP เพราะถ้าผ่อนน้อยไปเดี๋ยวผ่อนไม่หมด)

      โดยเทคนิคคือ การใส่ Digit ให้ติดลบ จะช่วยให้เป็นเลขกลมๆ ได้ เช่น -2 คือ ทำให้เลขหาร 100 ลงตัว (มี 0 อยู่ 2 ตัว), -3 คือ ทำให้เลขหาร 1000 ลงตัว (มี 0 อยู่ 3 ตัว)

      คำนวณยอดผ่อนเงินกู้

      จากนั้นค่าในตารางของ Data Table ก็จะเปลี่ยนไปเองโดยอัตโนมัติเลย

      สอนใช้ Excel คำนวณยอดผ่อนเงินกู้แบบง่ายๆ 304

      ถ้าเพื่อนๆ อยากรู้เรื่องอะไรอีกก็ Comment ทิ้งไว้ได้เลยครับ จะได้เอามาทำเป็นบทความให้ครับ

      ถ้าอยากรู้ว่าจะกู้ผ่านรึเปล่าล่ะ?

      มีคนถามผมอีกว่า จะคำนวณความสามารถในการชำระหนี้ยังไง?

      จริงๆ แล้ววิธีคำนวณมันง่ายมากเลยครับ มันจะมีคำศัพท์อยู่ 2 แบบ คือ

      1. Debt Burden นั่นคือ เอาภาระผ่อนหนี้ / รายได้ (กรณีเงินเดือน) หรือกำไรธุรกิจ(กรณีทำธุรกิจ) แล้วคำนวณว่าเป็นกี่%
      2. DSCR นั่นคือ รายได้หรือ กำไรธุรกิจ / ภาระผ่อนหนี้

      ปัญหาที่คนทั่วไปไม่รู้คือ ภาระผ่อนหนี้ ธนาคารจะคิดหนี้ทั้งหมด ทั้งหนี้ที่มีอยู่แล้ว และหนี้ในครั้งนี้ รวมถึงอาจคิดสินเชื่อที่เป็นเงินหมุนเวียนที่ไม่ได้มีการผ่อนจริงๆ ด้วย (เช่น O/D หรือ บัตรเครดิต) ซึ่งสูตรแต่ละธนาคารไม่เหมือนกัน และผมคงบอกไม่ได้ว่าธนาคารคิดยังไง เพราะเป็นความลับของธนาคารครับ

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

      ในรูปข้างล่าง ผมสมมติว่ามีหนี้เดิมทั้งหมดที่ต้องจ่ายอยู่ 40,000 บาท (ในช่อง G4)

      ตัวอย่างการคำนวณทำดังนี้

      สอนใช้ Excel คำนวณยอดผ่อนเงินกู้แบบง่ายๆ 305

      จากรูปจะเห็นว่า Debt Burden ได้ 74.3% แปลว่า
      ต้องผ่อนหนี้ด้วยจำนวน 74.3% ของเงินที่สามารถมาผ่อนหนี้ได้

      ส่วน DSCR 1.35 เท่า ก็คือ มี เงินที่สามารถมาผ่อนหนี้ได้ เป็น 1.35 เท่าของหนี้ที่ต้องผ่อน

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

      คิดว่าน่าจะพอเห็นภาพบ้างนะครับ ว่าธนาคารมีวิธีเรื่องคำนวณยอดผ่อนเงินกู้ยังไง เอาเป็นว่าถ้าสงสัยอะไรก็ comment ถามมาได้เลยครับ

    • วิธีจัดการข้อมูลซ้ำใน Excel (แบบลึกซึ้ง)

      วิธีจัดการข้อมูลซ้ำใน Excel (แบบลึกซึ้ง)

      หากเราไม่แน่ใจว่ามีข้อมูลซ้ำอยู่ในรายการข้อมูล Excel หรือไม่? แล้วเราอยากจะรู้หรืออยากจะทำให้ข้อมูลมันไม่ซ้ำกัน เราจะทำยังไงดี? มาดูกันครับ

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

      ข้อมูลซ้ำ Duplicates Data

      แนวทาง #1 : ลบข้อมูลซ้ำด้วย Remove Duplicates

      เครื่องมือ Remove Duplicates มันจะเก็บข้อมูลไว้เฉพาะบรรทัดบนสุดเท่านั้น ดังนั้นก่อนจะใช้เครื่องมือนี้ ผมแนะนำให้เรียงข้อมูลให้อยู่ในลักษณะที่ หากข้อมูลซ้ำกัน ให้เอาแถวที่เราอยากได้ไว้บนสุดซะก่อนครับ โดยใช้ Data –> Sort ก่อน

      ในที่นี้เราจะเรียงตาม CustomerID ก่อน แล้วเรียงตามวันที่ โดยเอาวันที่ใหม่สุดไว้บน

      ข้อมูลซ้ำ Duplicates Data

      จากนั้นเราจะได้ข้อมูลที่เรียงกันในแบบที่อยากได้แล้ว

      ข้อมูลซ้ำ Duplicates Data

      ให้เราเลือกข้อมูลช่องใดช่องหนึ่ง แล้วไปที่ Data -> Remove Duplicates

      แล้วให้ติ๊กเฉพาะ CustomerID เท่านั้น (ติ๊กเอา Date ออกซะ) เพราะถ้าติ๊กทั้งคู่มันจะมองทั้งสองคอลัมน์ ซึ่งจะทำให้มันไม่เอา Cust 004 วันที่ 15/3/2019 ออกไป

      ข้อมูลซ้ำ Duplicates Data

      พอกด ok จะเห็นว่า ในคอลัมน์ CustomerID ที่ซ้ำๆ กัน ผลลัพธ์จะเหลือเฉพาะบรรทัดบนสุดของแต่ละตัวเท่านั้น (นี่แหละการเรียงถึงสำคัญ)

      และสังเกตว่า Remove Duplicates มัยไม่สนใจเรื่องตัวพิมพ์เล็กพิมพ์ใหญ่ด้วย (มองว่าเหมือนกัน ลองดูที่ CUST-007 สิ)

      ข้อมูลซ้ำ Duplicates Data

      แนวทาง #2 : Sort แล้วเขียนสูตรเทียบกับตัวบน

      วิธีนี้ผมจะ Sort เช่นเดียวกับตอนทำ Remove Duplicates เพื่อให้ตัวที่อยากได้อยู่บน

      จากนั้นจะเขียนสูตรเช็ค Duplicates ง่ายๆ ดังนี้ ว่า CustomerID บรรทัดตัวเอง ซ้ำกับ CustomerID บรรทัดเหนือมัน 1 อันรึเปล่า? ถ้าซ้ำก็เรียกว่า Dup ตัวบนนี่แหละ

      ซึ่งถ้าเป็น TRUE ก็จะเป็นตัวที่เราไม่ต้องการนั่นเอง

      ข้อมูลซ้ำ Duplicates Data

      เขียนสูตรนี้เสร็จแล้ว ถ้าจะลบข้อมูลซ้ำทิ้งเลย จะ Filter TRUE แล้วลบ Row ทิ้งตรงๆ ก็ได้

      ข้อมูลซ้ำ Duplicates Data

      มันจะเหลือเฉพาะแถวที่ต้องการแล้ว
      ส่วน Column C ที่เอาไว้ Check Duplicates ไม่ใช้แล้วก็ลบทิ้งได้ครับ

      ข้อมูลซ้ำ Duplicates Data

      Tips : ถ้ายังไม่ลบทิ้ง แล้วจะเอาไปใช้อะไรต่อ อย่าลืม Paste Value ตัว TRUE / FALSE ด้วย ไม่งั้นพอ Sort ใหม่แล้วเดี๋ยวสูตรผิดนะครับ

      แนวทาง #3 : ดึงเอาเฉพาะข้อมูลที่ไม่ซ้ำด้วย PivotTable

      วิธีนี้เราจะใช้ PivotTable สรุปข้อมูล ซึ่งทำไม่ยากเลย ดังนี้

      เลือกข้อมูลช่องใดช่องหนึ่ง แล้ว Insert -> PivotTable -> ok

      ข้อมูลซ้ำ Duplicates Data

      ลาก CustomerID ไว้ที่ Row และ Date ไว้ที่ Value (สังเกตว่า PivotTable ก็ไม่สนตัวพิมพ์เล็กพิมพ์ใหญ่เหมือนกัน)

      ข้อมูลซ้ำ Duplicates Data

      จากนั้นคลิ๊กขวาตรง Count of Date แล้วเปลี่ยน Summarized Value by เป็น Max

      ข้อมูลซ้ำ Duplicates Data

      ที่เห็นเป็นเลข 4 หมื่นกว่าๆ จริงๆ ก็คือวันที่นี่แหละ ถูกแล้ว แต่ว่าแค่ยังไม่ได้เปลี่ยน Format เป็นวันที่เท่านั้นเอง ดังนั้นเราจะคลิ๊กขวา เลือกเมนู Number Format… (อย่าเลือก เมนู Format Cell นะ) แล้วเปลี่ยนให้เป็นวันที่ซะ

      ข้อมูลซ้ำ Duplicates Data
      ข้อมูลซ้ำ Duplicates Data

      แนวทาง #4 : ใช้ Power Query

      (เดิมเขียนผิด อันนี้แก้แล้ว)

      Power Query นี่ทำงานพวกนี้ได้สบายมากๆ ครับ เรายังไม่จำเป็นต้องเรียงข้อมูลตอนแรกด้วยซ้ำ (เพราะไปเรียงใน Power Query ได้)

      ให้เลือกข้อมูลช่องใดช่องหนึ่งแล้วเอาเข้า Power Query ตรง import from Table/Range แล้วกด Ok

      ข้อมูลซ้ำ Duplicates Data

      เรื่องจาก Power Query จะให้ความสำคัญกับตัวพิมพ์ใหญ่ พิมพ์เล็กด้วยเสมอ ดังนั้นเราจะทำการแปลงข้อมูลให้มีลักษณะเหมือนกันก่อน เช่น ใช้ Transform Capitalize Each Word เพื่อแก้ปัญหาให้ CUST-007 ก่อน

      ข้อมูลซ้ำ Duplicates Data

      จากนั้น ผม Sort ตาม customer A to Z และ กด Sort ตามวันที่ ใหม่ไปเก่า จะได้ดังรูป

      ข้อมูลซ้ำ Duplicates Data

      จากนั้นเลือก คอลัมน์แรก แล้ว เลือก Remove Rows -> Remove Duplicates

      ข้อมูลซ้ำ Duplicates Data

      มันจะเหลือเฉพาะตัวที่ไม่ซ้ำแล้ว แต่ปรากฏว่า Cust-004 ดันเหลือ 15/3/2562 ซะงั้น!! ทั้งๆ ที่ควรจะเหลือวันที่ 8/4/2562 ซึ่งเราอุตส่าห์เอามาไว้ข้างบนแล้วแท้ๆ

      วิธีจัดการข้อมูลซ้ำใน Excel (แบบลึกซึ้ง) 306

      ซึ่งปรากฏการณ์ที่เกิดขึ้นนี้ ผมมองว่าเป็น Bug ของ Power Query ครับ ซึ่งมีวิธีแก้ไขคือ ให้กด Add Index Number แทรกเอาไว้หลังจาก sort (ก่อนจะสั่ง Remove Duplicates ) ครับ

      โดยกดย้อนกลับไปที่ Step การ Sort

      วิธีจัดการข้อมูลซ้ำใน Excel (แบบลึกซึ้ง) 307

      แล้วกด Add Index Column -> From 1
      แล้วมันจะเตือนว่าเป็นการ Insert step ก็ ok ไปครับ

      วิธีจัดการข้อมูลซ้ำใน Excel (แบบลึกซึ้ง) 308

      กดไปที่ Step สุดท้าย

      วิธีจัดการข้อมูลซ้ำใน Excel (แบบลึกซึ้ง) 309

      จะเห็นว่าผลลัพธ์ถูกต้องแล้วครับ

      วิธีจัดการข้อมูลซ้ำใน Excel (แบบลึกซึ้ง) 310

      จากนั้น ลบ คอลัมน์ index ออกไป เพราะไม่ใช้แล้ว จากนั้นกด Close & Load เป็นอันจบ

      วิธีจัดการข้อมูลซ้ำใน Excel (แบบลึกซึ้ง) 311

      แถม 1 # : ระบุข้อมูลซ้ำด้วย Conditional Formatting

      ถ้าเราอยากจะแค่รู้ว่ามีข้อมูลซ้ำรึเปล่า? ก็ใช้ Conditional Format -> Highlights Duplicates มาช่วยได้

      ผมเลือกแค่คอลัมน์แรกก่อน ค่อยกด Highlight ดังนี้ แล้ว ok

      ข้อมูลซ้ำ Duplicates Data

      จะเห็นว่ามัน Highlight ส่วนที่ซ้ำกันให้

      ข้อมูลซ้ำ Duplicates Data

      เราสามาถ Filter เฉพาะตัวที่ Highlights ได้ถ้าต้องการ โดยคลิ๊กขวา Filter by Selected Cell’s Color

      ข้อมูลซ้ำ Duplicates Data

      มันก็จะเหลือเฉพาะบรรทัดที่มีประเด็น แต่ว่าเราจะจัดการยังไงต่อ ก็เรื่องของเราแล้วล่ะ ซึ่งแนวทางใช้ Conditional Format นี้ ไม่สามารถกำจัดตัวซ้ำได้ด้วยตัวมันเองนะครับ

      ข้อมูลซ้ำ Duplicates Data

      แถม #2 : ใช้สูตรคำนวณหา Max Date ของลูกค้าแต่ละคน

      ใครมี Excel 2016 ขึ้นไป จะมี MAXIFS ให้ใช้ ก็ง่ายหน่อย
      =MAXIFS(max_range,criteria_range,criteria,…)
      =MAXIFS([Date],[CustomerID],[@CustomerID]) หรือ
      =MAXIFS($B$3:$B$15,$A$3:$A$15,A3)

      ถ้าไม่มี MAXIFS ก็ต้องใช้ Array Formula
      =MAX(([CustomerID]=[@CustomerID])*[Date]) แล้วกด Ctrl+Shift+Enter หรือ
      =MAX(($A$3:$A$15=A3)*$B$3:$B$15) แล้วกด Ctrl+Shift+Enter

      จะเห็นว่าถ้าทำเป็น Table ก่อน สูตรจะอ่านง่ายกว่านะผมว่า

      ข้อมูลซ้ำ Duplicates Data

      แบบ Range ต้องมาเล็งว่า A3 คืออะไรอีก…

      ข้อมูลซ้ำ Duplicates Data

      หมายเหตุ : ภาพ Cover เป็นตัวละครจากการ์ตูนเรื่อง Naruto ใช้คาถาแยกเงาพันร่าง

    • วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง

      ไฟล์ Excel ขนาดใหญ่นั้นมีได้หลายสาเหตุ และมีวิธีแก้ได้หลายวิธีเช่นกัน ในบทความนี้ผมจะขอนำเสนอหลายๆ วิธีที่จะช่วยลดขนาดไฟล์ Excel ใหญ่ๆ เหล่านั้นได้ครับ

      แนวทางลดขนาดไฟล์ Excel#1 :
      ลบสิ่งที่ไม่จำเป็นออกซะ โดยเฉพาะ Used Range ที่ไม่ใช้แล้ว

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

      • ข้อมูลใน Hidden Sheet มีรึเปล่า? ถ้ามี แล้วไม่ใช้ก็ลบซะ
      • การใส่ Format ต่างๆ รวมถึง Conditional Format ที่ไม่จำเป็น พวกนี้ก็เปลี่องเนื้อที่นะ ถ้าอยากให้ไฟล์เล็กลงก็ลบออกเถอะ
      • การใส่สูตรที่ไม่จำเป็น พวกนี้ถ้าแปลงเป็น Value ก็จะทำให้ไฟล์เล็กลงได้นะ

      เทคนิคข้างบนนี่ก็เป็นเรื่องพื้นๆ แต่ตัวที่หลายคนไม่รู้ ก็คือเรื่องของ Used Range ต่างหาก! ซึ่งเกิดขึ้นจากใน Sheet เราอาจเคยมีการใช้งาน Cell นั้นมาก่อน แต่ตอนนี้ไม่ใช้แล้ว ซึ่งเจ้า Used Range นี้อาจทำให้ขนาดของไฟล์ใหญ่โดยไม่จำเป็นได้นะ

      ตัวอย่างเรื่อง Used Range

      ไฟล์ดั้งเดิมผมมีข้อมูลอยู่เยอะเลย 68615 แถว ดังนี้

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 312

      ต่อมาผมลองลบข้อมูลทิ้ง ให้มันเหลืออยู่แค่ 10 แถว โดยการกด del บน Keyboard เพื่อลบเอา content เหล่านั้นทิ้งไปซะ

      ปรากฎว่าไฟล์ขนาดลดลง แต่ว่ามันก็ยังดูเยอะแปลกๆ

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 313

      พอกลับไปดูในไฟล์ แล้วกด Ctrl+End (หรือบางเครื่องกด Ctrl+Fn+End) เพื่อให้มันเด้งไป Cell สุดท้ายที่มีการใช้งาน ปรากฎว่า มันดันกลายเป็น Cell K68615 ทั้งๆ ที่มันไม่มีข้อมูลแล้ว (มันควรจะไปประมาณแถวที่สิบไม่ใช่เรอะ!!)

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 314

      ไอนี่แหละ ที่ทำให้ไฟล์มีขนาดใหญ่ครับ

      ถ้าเกิดเราเปลี่ยนวิธี เป็นลบ Cell นั้นทิ้งไปเลย เช่น เลือกแล้ว คลิ๊กขวา Delete Row แล้วลองกด Save ไฟล์ดู แล้วเปิดไฟล์ลงไป จะเห็นว่าขนาดไฟล์เหลือน้อยลงมากๆ

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 315

      เรื่องนี้จึงเป็นเรื่องสำคัญที่เราจะต้องตระหนักไว้นะครับ เพราะมองด้วยตาเปล่าไม่เห็นซะด้วย

      แนวทางลดขนาดไฟล์ Excel#2 :
      Save ไฟล์เป็น .xlsb (Excel Binary Workbook)

      วิธีนี้เหมาะอย่างยิ่งกับคนที่อยากจะลดขนาดไฟล์แบบรวดเร็ว และไม่อยากจะคิดอะไรมากนัก เพราะวิธีนี้ทำได้ง่ายแสนง่าย นั่นก็คือ ให้ ไปที่ File => Save As แล้วเลือก Save as Type เป็นนามสกุล Excel Binary Workbook (*.xlsb) นั่นเอง

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 316

      พอลองเปรียบเทียบขนาดไฟล์แล้ว พบว่า ไฟล์เล็กลงเกินครึ่งนึงเลยด้วยซ้ำ!!

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 317

      แล้ว xlsb มีข้อเสียอะไรมั้ย?

      หลายคนคงเริ่มคิดในใจว่า เอ๊ะ! ถ้าไฟล์ xlsb มันขนาดเล็กดีแบบนี้ แล้วค่า default มันจะให้เรา save เป็น .xlsx ไปทำไม? สู้ save เป็น .xlsb ไปให้เลยไม่ดีกว่าเหรอ?

      ข้อเสียของ .xlsb คือ

      1. ไฟล์ xlsx เก็บข้อมูลแบบ xml เป็นวิธีการเก็บแบบมาตรฐานสากล ทำให้ใช้งานร่วมกับเครื่องมืออื่นๆ ได้ดีกว่า xlsb ที่เก็บไฟล์เป็น bin (binary)
        • ต้องลอง test ดูว่า xlsb ของเราใช้กับพวก 3rd-party software ได้รึเปล่า
        • เคยอ่านเจอในเว็บฝรั่งว่า Power Query ดึงไฟล์ .xlsb ไม่ได้ แต่ไม่จริงนะครับ ผมลองแล้วมันดึงได้นะ
      2. ดูจากภายนอกจะไม่รู้ว่ามี Macro แฝงอยู่หรือไม่

      ถ้าอ่านแล้วรู้สึกว่า เรารับกับข้อเสียเหล่านี้ได้ ก็ save เป็น .xlsb โลดเลยครับ!

      Tips : อย่า Save ไฟล์เป็นนามสกุล .xls (2003)

      ถ้า save ไฟล์เป็นนามสกุลแบบ xlsx (2007 ขึ้นไป) ไฟล์จะเล็กกว่าแบบ xls (2003) เพราะไฟล์แบบ 2007 จะเหมือนมีการ Zip ไฟล์มาแล้วในตัวครับ

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 318

      Tips : รู้หรือไม่ว่า ไฟล์ CSV กินที่กว่า ไฟล์ Excel นะ

      อันนี้ไม่เกี่ยวกับไฟล์ Excel โดยตรง แต่บางทีเราก็อาจมี Save ไฟล์โดยที่นามสกุลเป็นไฟล์ CSV ซึ่งจะทำให้ขนาดไฟล์ใหญ่กว่าไฟล์ Excel ปกตินะครับ

      ไฟล์ csv มันดีกว่าตรงที่ข้อมูลมันเกิน 1 ล้านแถวได้นี่แหละ แต่ข้อเสียคือ ไฟล์ใหญ่ และไม่สามารถมีสูตรหรือ format อะไรได้เลย

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 319

      แนวทางลดขนาดไฟล์ Excel #3 :
      Compress Pictures บีบอัดรูปซะ

      บางทีเรามีการเอารูปเข้ามาไว้ใน File Excel ซึ่งรูปนั้นเดิมทีอาจจะเป็นรูปที่มีความละเอียดสูง ทำให้ไฟล์มีขนาดใหญ่

      แต่หากว่าเราไม่ได้ต้องการรูปที่มีความละเอียดสูงขนาดนั้น หรือ เรามีการ Crop รูปให้เห็นแค่บางส่วนของรูปก็เพียงพอแล้ว เราก็สามารถใช้วิธี Compress รูปได้ครับ

      โดยให้ Double Click ที่รูป หรือเลือกรูปแล้วไปที่ Picture Tool => Compress Picture แล้วอย่าลืมติ๊ก Apply only to this picture ออกด้วย เพื่อที่จะลดขนาดทุกรูปในไฟล์เลย

      จากนั้นเลือกความละเอียดที่ต้องการ ถ้าเลือก Email (96 ppi) ก็จะขนาดเล็กสุด แต่ภาพก็จะห่วยสุดด้วย ซึ่งถ้าคิดว่าภาพหยาบเกินไป ก็เลือกซัก 150 ppi ก็ ok ครับ

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 320

      บางทีเราก็มีการ Crop รูป เอาเฉพาะส่วนที่ต้องการด้วย ซึ่งถ้า Crop แล้ว Compress ขนาดไฟล์จะเล็กลงมาก

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 321

      ผลลัพธ์ที่ได้ พบว่า ระหว่างภาพปกติดั้งเดิม กับภาพที่ Crop แล้ว แต่ยังไม่ได้มีการ Compress Picture เลย จะมีขนาดไฟล์ใหญ่เท่ากัน ที่ 947 KB

      แต่ถ้ามีการ Compress แล้ว ขนาดไฟล์จะลดลงจนเหลือ 99 KB และ 23 KB ตามลำดับ

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 322

      ข้อเสียของการ Compress Pictures

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

      แนวทางลดขนาดไฟล์ Excel #4 :
      แก้ปัญหาไฟล์ใหญ่เพราะ Pivot Table

      ก่อนอื่น ต้องอธิบายก่อนว่า ปกติเวลาเราสร้าง PivotTable ขึ้นมาจาก Source Data ใดๆ ก็ตาม Excel จะมีการสร้างสิ่งที่เรียกว่า Pivot Cache ขึ้นมาด้วยโดยอัตโนมัติ

      และเวลาที่ PivotTable เอาข้อมูลไปประมวลผล มันจะไม่ได้เอา Source Data ไปใช้ตรงๆ แต่จะใช้สิ่งที่มีใน Pivot Cache ไปคำนวณต่างหาก และนี่คือสาเหตุที่ว่าทำไม Source data เปลี่ยนไปแล้วเราจะต้อง Refresh PivotTable ด้วยเสมอ

      ผมพิสูจน์ให้ดูด้วยการสร้าง PivotTable เปล่าๆ ขึ้นมาแล้ว Save as ทันที โดยที่ยังไม่ได้มีการลากข้อมูลอะไรมา Pivot ทั้งสิ้น

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 323

      ปรากฎว่าขนาดไฟล์ใหญ่ขึ้นมาเกือบ 2 เท่าเลยทีเดียว

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 324

      วิธีแก้ไขที่ผมจะแนะนำคือ เราจะสั่งให้ Excel ไม่ต้อง Save Pivot Cache เอาไว้ในไฟล์ แต่ให้มัน Refresh ดึงข้อมูลมาใหม่ ตอนเปิดไฟล์ Excel แทน ซึ่งมีวิธีทำดังนี้ครับ

      • ให้เราคลิ๊กขวาที่ Pivot Table แล้ว เลือก Pivot Table Options แล้วกดตามรูปเลย
      • ที่สำคัญคือให้ติ๊ก Save Source data with file ออกไปซะ (อันนี้แหละ คือ PivotCache)
      • แต่ทีนี้ผมขอแนะนำให้ติ๊ก Refresh data when opening the file ด้วย เผื่อเราลืม Refresh นี่ซวยเลยครับ
      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 325

      พอ Save ไฟล์อีกทีก็จะเห็นว่าขนาดลดลงไปเยอะเลยครับ (ทำไมมันเล็กกว่า Original อีกเนี่ย งงจริงๆ 555)

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 326

      แนวทางลดขนาดไฟล์ Excel # 5 :
      ไม่ต้องเอาข้อมูลมาไว้ใน Excel โดยสิ้นเชิง

      เวลาเราจะวิเคราะห์ข้อมูล ใน PivotTable จริงๆ แล้วเราสามารถ Pivot ข้อมูลจาก Source Data อื่นที่ไม่อยู่ใน Excel ได้ด้วยนะครับ (จะดึงผ่าน PivotTable เอง หรือจะผ่าน Power Query ก็ได้)

      อันนี้เป็นตัวอย่างการใช้ Pivot Table เชื่อมเอง

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 327
      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 328

      และไฟล์นั้นสามารถใหญ่กว่า 1 ล้านแถวของ Excel ได้ด้วย (เช่น เชื่อมกับไฟล์ Access) แถมข้อดีอีกอย่างคือ ไฟล์ Excel จะมีขนาดเล็ก เพราะไม่ต้องเก็บ Data จริงๆ ไว้ด้วย
      (ถ้า Pivot แล้วอย่าลืมเอา Pivot Cache ออกล่ะ ไม่งั้นก็ใหญ่อีกนะ)

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 329

      แนวทางลดขนาดไฟล์ Excel # 6 :
      ถ้าจะเก็บข้อมูลไว้ใน Excel ลองเอาเข้า Data Model ดูสิ

      ถ้าแนวทางที่ 5 ดู Hard core เกินไป ลองพิจารณาลองเอาข้อมูลไว้ใน Data Model ของ Excel ดูสิ เพราะใน Data Model จะมีวิธีเก็บข้อมูลพิเศษ ที่จะเก็บเฉพาะข้อมูลที่ไม่ซ้ำๆ กันเท่านั้น ทำให้ไฟล์มีขนาดเล็กมากครับ

      เราสามารถดึงข้อมูลเข้า Power Query ก่อน จากนั้นค่อยเลือก Load to…
      แล้วเลือก Pivot Table Report หรือ จะ Only Create Connection ก็ได้ จากนั้นก็ให้ติ๊ก Add to Data Model ด้วย (ถ้าอยากเก็บไฟล์ไว้ใน Excel นะ)

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 330

      จะเห็นว่าเราสามารถ Pivot Data ได้ และมีการ Load ไฟล์เข้า Data Model ไปแล้ว

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 331

      จะเห็นว่าไฟล์มีขนาดเล็กลงพอสมควร แต่ไม่ได้เล็กเท่าเอา Data ไว้ข้างนอกแน่นอนอ่ะนะ…

      วิธีลดขนาดไฟล์ Excel ใหญ่ๆ ให้เล็กลง 332

      แนวทางอื่นๆ ในการลดขนาดไฟล์ Excel

      ใครมีวิธีอื่นๆ ที่น่าสนใจในการลดขนาดไฟล์อีก ก็สามารถ Comment บอกมาได้ครับ คนอื่นๆ จะได้นำเทคนิคเหล่านั้นไปใช้ได้ด้วย สำหรับบทความนี้ผมขอจบเท่านี้ครับ ขอบคุณที่อ่านจนจบนะ ^^

    • วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน?

      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน?

      “ไม่ทราบว่ามีวิธีเปรียบเทียบข้อมูลใน Excel จากข้อมูล 2 รายการหรือไม่ ว่ามี item ไหนต่างกันบ้างครับ?”

      คำถามนี้มีคนถามบ่อยพอสมควร เลยเขียนเป็นบทความให้อ่านกัน คนอื่นๆ จะได้รับประโยชน์ไปด้วยเนอะ

      เอาล่ะ! สมมติผมมีข้อมูลอยู่ 2 List ซึ่งอยู่คนละ Sheet ดังนี้

      จะเห็นว่ามีทั้งรายการที่มีใน A แต่ไม่มีใน B รวมถึง มีใน B แต่ไม่มีใน A ด้วย

      ผมจะเสนอวิธี Compare List นี้ 2 วิธีด้วยกัน คือ
      1. วิธีใช้ VLOOKUP
      2. วิธีใช้ Power Query

      ซึ่งความพิเศษของบทความนี้ คือ ผมจะแสดง Step การแก้ปัญหาเหมือนกันเป๊ะๆ เลย แต่ใช้แค่เครื่องมือต่างกันเท่านั้นเอง

      เพื่อนๆ จะได้เข้าใจว่า Power Query สามารถทำงานในลักษณะเดียวกับที่เราใช้ Excel ปกติได้ยังไง? ซึ่งเพื่อนๆ ก็จะรู้จักทั้งการ Apppend/ Remove Duplicates / Merge/ เขียนสูตร/Filter ใน Power Query ด้วยครับ

      วิธีที่ 1 : ใช้ VLOOKUP เปรียบเทียบข้อมูล

      Step 1 : เอาข้อมูลมารวมกันใน Sheet เดียว

      ก่อนที่เราจะใช้สูตร VLOOKUP ค้นหาข้อมูล ผมขอนำ List จากทั้งสอง Sheet มารวมกัันก่อนใน Sheet ใหม่ ( ตั้งชื่อว่า Sheet All ) ด้วยการ Copy Paste ปกติ

      จะเห็นว่ามันมีข้อมูลซ้ำๆ กันอยู่ ดังนั้นเราจะกด Remove Duplicates ก่อนจะทำงานต่อด้วยครับ โดยไปที่ [Data] => Data Tools => Remove Duplicates

      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 335

      Step 2 : หาข้อมูลว่าเจอใน List ที่สนใจหรือไม่

      จากนั้นเราจะใช้ VLOOKUP หาว่ามีข้อมูลที่เราสนใจใน Sheet A หรือไม่?

      ดังนั้นเราจะเขียนสูตรประมาณนี้ก่อนครับ
      หาใน Sheet A =VLOOKUP(A2,SheetA!A:A,1,FALSE)

      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 336

      เราจะสามารถตีความผลลัพธ์ได้ว่า

      • ถ้าขึ้น #N/A แปลว่า ไม่เจอข้อมูลใน Sheet A
      • ถ้าไม่ใช่ #N/A แปลว่า เจอ ข้อมูลใน Sheet A

      ในทำนองเดียวกัน ในอีก Sheet เราก็ทำเหมือนกัน ได้ว่า

      หาใน Sheet B =VLOOKUP(A2,SheetB!A:A,1,FALSE)

      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 337

      Step 3 : ทำ Column สรุปผล เพื่อเลือกเฉพาะสิ่งที่เราสนใจ

      ถ้าเราสนใจอยากจะ List ทุก item ที่ไม่เจอครบทั้ง 2 List ก็ใช้วิธีการสร้างคอลัมน์ใหม่ แล้วใส่เงื่อนไขแบบ OR ลงไปก็ได้ครับ

      หลักการคือ เราจะตรวจสอบว่ามีตัวใดตัวหนึ่ง Error หรือไม่ แปลว่า อย่างน้อยหา PartNum ที่กำลังสนใจไม่พบใน Sheet ใด Sheet หนึ่ง

      ดังนี้ =OR(ISNA(B2),ISNA(C2))

      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 338

      จากนั้นเราก็ Filter เฉพาะตัวที่เป็น TRUE ได้เลยครับ (แปลว่า อย่างน้อยหาไม่พบใน Sheet ใด Sheet หนึ่ง)

      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 339

      วิธีที่ 2 : ใช้ Power Query เปรียบเทียบข้อมูล

      คราวนี้วิธีที่ 2 จะใช้ Power Query แทน ซึ่งมีข้อดีตรงที่สามารถกด Refresh เมื่อข้อมูลเปลี่ยนไปได้เลย (ไม่ต้องนั่ง copy paste /remove duplicates ใหม่อีกที) แต่หลักการคิดจะเหมือนกับวิธี VLOOKUP เลยครับ

      Step 1 : เอาข้อมูลมารวมกันใน Sheet เดียว

      ก่อนอื่นให้เอาทั้ง 2 List เข้าเป็น Query ก่อน (ทั้ง 2 อันเลย)

      โดยตั้งชื่อ Query แต่ละอันเป็น TableA กับ TableB ด้วย (ทำทีละอัน) และให้ทำเป็น Load to…Only create Connection อย่างเดียว เราจะได้ไม่ต้องมีตารางออกมาเยอะแยะ เดี๋ยวงง

      Tips : หลักการ คือ เราจะให้ผลลัพธ์สุดท้ายเท่านั้น ที่ออกมาเป็น Table จริงๆ นอกนั้นให้ create Connection อย่างเดียวนะครับ

      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 340
      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 341
      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 342

      พอได้ครบทั้ง 2 Query แล้ว ให้สร้าง Query ใหม่ แบบ Append ก่อน จะได้เห็นภาพครบทุก Item (การ Append คือ เอาข้อมูลมาต่อตูดกัน จำนวนแถวจะเพิ่มขึ้น เหมือนกัยการที่เรา Copy ข้อมูลทั้ง 2 Sheet มาต่อตูดกันแบบวิธีแรกนั่นแหละครับ)

      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 343

      เลือก Append Table A และ B เข้าด้วยกัน

      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 344

      ตอนแรกข้อมูลอาจจะออกมาซ้ำกัน (เพราะมันเอาสองตารางมาต่อตูดกันจริงๆ) ดังนั้นเราจะ Remove Duplicates ออกก่อน

      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 345

      Step 2 : หาข้อมูลว่าเจอใน List ที่สนใจหรือไม่

      พอเราได้ List ที่สมบูรณ์และไม่ซ้ำกันแล้ว จากนั้นเราจะเอาไป Merge กับ Table A (เหมือน VLOOKUP หาข้อมูลใน Table A นั่นแหละ )

      โดยที่ Step ในการ Merge เค้าจะให้เลือกว่า column ไหนใน 2 ตาราง ที่มีความสัมพันธ์กัน เราก็เลือกไปเลยว่าเป็น PartNum ทั้งคู่นั่นแหละ

      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 346

      พอกด Ok ตอนแรกมันจะออกมาเป็น Table ก่อน

      ให้กด Expand เพื่อแตกเอาผลลัพธ์ออกมา (ตรงนี้จริงๆ เลือกได้ว่าจะเอาคอลัมน์ไหนกลับมาบ้าง แต่ในที่นี้เรามีคอลัมน์เดียว 555)

      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 347

      จะได้ผลลัพธ์ว่ามีการ Map เจอกับ Table A ตัวไหนบ้าง เหมือนกับตอนที่เรา VLOOKUP เลยมะ?

      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 348

      ทำอย่างนี้อีกทีกับ Table B เพื่อดูว่า Map เจอตัวไหนบ้าง

      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 349
      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 350

      Step 3 : ทำ Column สรุปผล เพื่อเลือกเฉพาะสิ่งที่เราสนใจ

      ถ้าเราอยากได้ตัวที่ตัวใดตัวหนึ่งเป็น Null ดังนั้นเราจะสร้างคอลัมน์ใหม่ โดย Add Column => Custom Column โดยเขียนสูตรแบบ or ดังนี้ (ตรงชื่อคอลัมน์ สามารถ double click จาก List ด้านขวาได้นะ ไม่ต้องพิมพ์เอง)

      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 351

      พอเรา Filter เลือกเฉพาะที่เป็น TRUE ก็จะได้ตัวที่เราสนใจครับ

      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 352

      จากนั้นถ้าจะโหลดออกมาเป็น Table ก็ Close & Load ได้เลยจบ เช่นเดียวกับตอนที่ใช้ VLOOKUP

      แต่มีข้อดีกว่าคือ ถ้าเกิดมีข้อมูลเพิ่มขึ้นอีก เรากด Refresh ทีเดียวจบเลย!!

      วิธีเปรียบเทียบข้อมูล 2 List ว่ามี item ไหนที่ต่างกัน? 353

    • 3 วิธีใช้ Excel ลบแถวว่าง (Remove Empty Row)

      3 วิธีใช้ Excel ลบแถวว่าง (Remove Empty Row)

      เราจะใช้ Excel ลบแถวว่าง ได้ยังไงกันนะ? วันนี้ผมขอนำเสนอ 3 วิธีเลยละกัน ซึ่งมีดังนี้

      1. กด Sort ไปเลย แล้วแถวว่างจะไปกองด้านล่าง
        • ก่อน Sort ต้องคลุมพื้นที่ก่อนแล้วค่อยเลือก Filter นะครับ
        • เจ้าแถวว่างจะไปกองอยู่ด้านล่างของตารางเอง
        • วิธีนี้ต้องระวังว่าข้อมูลจะเรียงไม่เหมือนเดิม ยกเว้นทำเลข running เอาไว้ก่อนครับ
      2. Filter Blank แล้วลบแถวว่างนั้นออก
        • วิธีนี้มีข้อเสียคือถ้าข้อมูลเยอะมากๆ เครื่องอาจจะ Hang ได้ครับ
      3. ใช้ Power Query ในการ Remove Blank Row เพื่อลบแถวว่าง
        • วิธีนี้สบายใจสุดๆ ข้อมูลเปลี่ยนไปเราก็แค่กด Refresh เอง ข้อเสียคือต้องมี Power Query ถึงจะทำได้ครับ
    • รู้หรือไม่ว่า Slicer ก็ใช้กับ Table ได้นะ

      รู้หรือไม่ว่า Slicer ก็ใช้กับ Table ได้นะ

      หลายๆ คนยังไม่รู้จัก Slicer …

      หลายๆ คนรู้จัก Slicer แต่นึกว่ามันใช้ได้กับ PivotTable อย่างเดียว….

      จริงๆ แล้วมันใช้กับ Table ได้ด้วยนะครับ ลองดูคลิปนี้แล้วจะรู้ว่าทำยังไงครับ

      Tips : ถ้าอยากจะแสดงบรรทัดสรุป ก็แค่ติ๊กคำว่า Total Row ใน Ribbon ของ Table เพิ่มแค่นั้นเองครับ

      รู้หรือไม่ว่า Slicer ก็ใช้กับ Table ได้นะ 354

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

      รู้หรือไม่ว่า Slicer ก็ใช้กับ Table ได้นะ 355
    • สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว

      จะทำยังไงถึงจะทำ VLOOKUP ผลลัพธ์หลายค่า จาก Lookup_Value เดียวได้นะ?? นี่คือคำถามที่เกิดขึ้นบ่อย เพราะปกติแล้ว เวลาเราใช้ VLOOKUP หรือจะ INDEX MATCH ก็แล้วแต่ หาก Lookup_Value ในตารางอ้างอิงมันซ้ำกันหลายตัว กรณีแบบ Exact Match มันจะได้ผลลัพธ์เป็นตัวบนสุดตัวเดียวเสมอ…

      บทความนี้ผมจะมาบอกวิธีเพื่อแสดงผลลัพธ์หลายบรรทัดจากคำค้นหาเดียวให้เอง และจะทำให้ดูหลายแบบด้วยครับ!! ซึ่งมี VLOOKUP อยู่แค่แบบเดียวเท่านั้น นอกนั้นผมใช้วิธีอื่นหมดเลย 555 (ก็จริงๆ แล้ว VLOOKUP มันไม่ได้เหมาะกับเคสแบบนี้นี่นา)

      โจทย์คือแบบนี้ครับ เราต้องการเลือกสินค้า แล้วให้แสดง Order ID ทั้งหมดของสินค้านั้นออกมา (ถ้าเราเอา Order ID ออกมาได้แล้ว อย่างอื่นก็คงไม่ยากแล้วจริงมั้ยครับ?)

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 356

      บอกไว้ก่อนว่า วิธีกลุ่มที่ 1 ซึ่งคือการเขียนสูตรนั้นยากกว่ากลุ่มที่ 2 ที่ใช้เครื่องมือพอสมควรนะครับ ใครเน้นง่ายก็ไปดูวิธีกลุ่มการใช้เครื่องมือได้เลย แต่ถ้าใครอยากรู้วิธีเขียนสูตรก็อ่านต่อไปได้เลย

      กลุ่ม 1 : ใช้การเขียนสูตรเพื่อให้เกิดผลลัพธ์หลายค่า

      1.1 ใช้ FILTER (ต้องมี Excel 365 หรือ Excel for web )

      ถ้าเรามี Excel365 วิธีที่ง่ายสุดๆ สำหรับการเขียนสูตรคือใช้ฟังก์ชัน FILTER นั่นเองครับ ไม่ต้องไปใช้ VLOOKUP นะ (ก็ VLOOKUP มันได้ทีละค่าไง…)

      =FILTER(array,include,[if_empty])
      =FILTER(พื้นที่ผลลัพธ์,เงื่อนไขที่ต้องการ,[ถ้าไม่มีผลลัพธ์เลยให้แสดงอะไร])

      ตรงเงื่อนไขที่ต้องการ เราใส่เป็น TRUE/FALSE หรือ 1,0 ก็ได้ นะครับ และไม่จำเป็นต้องอยู่ใน array ผลลัพธ์ก็ได้นะครับ

      เช่น ผมต้องการ order_id ที่สินค้าเป็นแอปเปิ้ล ผมก็เขียนแบบนี้ได้เลย ใน H6

      =FILTER(B3:B14,C3:C14=G3)

      จะเห็นว่าเงื่อนไข C3:C14 ไม่ได้อยู่ใน B3:B14 นะครับ แค่ต้องจับคู่กันให้ได้เท่านั้นเอง

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 357

      สังเกตว่าผลลัพธ์จะงอกออกมาหลายตัวเองเลยอัตโนมัติ ซึ่งเรียกว่า Spill ซึ่งเป็นความสามารถของ Excel 365 ที่เรียกว่า Dynamic Array ครับ ใครสนใจลองอ่านบทความนี้เพิ่มเติมได้

      ถ้าอยากได้ผลลัพธ์หลายคอลัมน์แบบต่อเนื่องกัน ก็แค่ทำให้ array ผลลัพธ์มีหลายคอลัมน์แค่นั้นเอง

      =FILTER(B3:E14,C3:C14=G3)
      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 358

      แต่ถ้ากรณีอยากได้ผลลัพธ์หลายคอลัมน์ที่ไม่ต่อกัน ก็จะต้องพลิกแพลงมากขึ้น ดังนี้

      1.1.1 วิธีใช้ FILTER + FILTER

      เราสามารถใช้ FILTER 2 รอบ เพื่อเลือกเฉพาะบางคอลัมน์ที่ต้องการได้ด้วยครับ (ขอบคุณ Excel Wizard สำหรับเทคนิคนี้)

      =FILTER(FILTER(input สูตร Filter แถว),{เลือกว่าเอาคอลัมน์ไหนบ้าง เป็น 1,0 หรือ TRUE,FALSE})

      ตรง Array ผลลัพธ์ผมเปลี่นเป็น B3:E14 ให้คลุมพื้นที่ทั้งหมด ซึ่งมี 4 คอลัมน์
      แต่ผมจะเอาแค่ Order id วันที่ ผู้ขาย ซึ่งอยู่คอลัมนืที่ 1,3,4 หรือไม่เอาคอลัมน์ที่ 2 จึงเขียนว่า {1,0,1,1}

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 359

      ถ้าไม่อยากมานั่งเลือก 1,0 เอง ก็ใช้ MATCH มาช่วยหาว่ามีในเป้าหมายหรือไม่ แล้วใช้ ISNUMBER แปลงเป็น TRUE, FALSE ก็ได้ ดังนี้

      =FILTER(FILTER(B3:E14,C3:C14=G3),ISNUMBER(MATCH(B2:E2,H5:J5,0)))
      ซึ่งตรง ISNUMBER นั้นถ้าลองกด F9 ดูจะเห็นเป็น {TRUE,FALSE,TRUE,TRUE} ซึ่งก็คือ {1,0,1,1} นั่นเอง

      วิธีหลังจะดีกว่าตรงที่มัน Dynamic เปลี่ยนคอลัมน์ที่ต้องการได้ (แต่ลำดับยังเรียงเหมือนเดิมนะครับ)

      =FILTER(FILTER(B3:E14,C3:C14=G3),{1,0,1,1})
      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 360

      1.1.2 วิธี FILTER+CHOOSE

      สมมติผมอยากจะได้ Order id, ผู้ขาย, วันที่ (สลับเอาวันที่มาอยู่หลัง) ผมคิดว่าใช้ FILTER+CHOOSE น่าจะง่ายสุด ดังนี้

      หลักการคือใช้ CHOOSE สร้าตารางจำลองขึ้นมาก่อน แล้วค่อย FILTER ตารางนั้น ซึ่งการสร้างตารางจำลองด้วย CHOOSE สามารถใช้ Array Formula มาช่วยได้ โดยใส่ว่าจะเอากี่คอลัมน์ เช่น เอา 3 คอลัมน์ก็ใส่ {1,2,3} แล้วก็เลือกเลยว่าจะเอาคอลัมน์ไหนเป็นคอลัมน์ 1,2,3

      เช่น

      =CHOOSE({1,2,3},B3:B14,E3:E14,D3:D14)

      แบบนี้จะเป็นการสร้างตารางจำลองขึ้นมาใหม่ได้แล้ว

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 361

      จากนั้นก็เอา FILTER ไปครอบ ดังนี้

      =FILTER(CHOOSE({1,2,3},B3:B14,E3:E14,D3:D14),C3:C14=G3)
      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 362

      เท่านี้เราก็ได้ผลลัพธ์ตามต้องการแล้ว ซึ่งการใช้ FILTER น่าจะเหมาะกับคนที่มี Excel365 เท่านั้น หากใครมี Version เก่ากว่านี้ ก็ไปดูข้อถัดไปได้เลย

      1.2 ใช้ VLOOKUP + Helper Column

      ในเมื่อ ปัญหาคือมี lookup_value ซ้ำกันหลายตัว ใน table_array ดังนั้นหลักการในการแก้ไขก็คือ ทำให้ข้อมูลไม่ซ้ำกันซะก่อน เช่น แอปเปิ้ล มีซ้ำกัน 4 ตัว ดังนั้นเราจะทำให้มันไม่ซ้ำกัน เช่น ทำให้เป็น แอปเปิ้ล1 แอปเปิ้ล2 แอปเปิ้ล3 แอปเปิ้ล 4 ซะ

      ซึ่งมีวิธีทำได้หลายแบบ ซึ่งผมจะใช้เทคนิค COUNTIFS แบบให้จำนวนช่องที่นับมันขยายเพิ่มขึ้นเรื่อยๆ เพื่อให้นับว่า ตั้งแต่ C3 จนถึงบรรทัดของมันเอง มีผลไม้ที่ผมสนใจแล้วกี่อัน (มันก็จะนับสะสมไปเรื่อยๆ)

      สังเกตในสูตรช่อง A7 ในรูปข้างล่าง :

      =COUNTIFS($C$3:C7,$G$3)

      ส่วน criteria_range1 ผมใส่เป็น $C$3:C7 ซึ่งมีการ Fix ตำแหน่งของ C3 ไว้ แต่ไม่ Fix ที่ C7 ทำให้เวลา Copy ลงมาข้างล่าง Range จะขยายเพิ่มขึ้นเรื่อยๆ

      ปล. วิธีนี้จะเข้าใจง่ายกว่า 1.3 แต่ว่าจะเปลืองคอลัมน์มากกว่า ยังไงลองเลือกดูนะครับ

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 363

      ต่อไป เราเอาชื่อสินค้าในบรรทัดนั้นๆ ไปเชื่อมกับเลขลำดับ ด้วยการใช้ &
      สูตรในช่อง A3 :

      =C3&"-"&COUNTIFS($C$3:C3,$G$3)

      (ที่ใช้ – คั่นเพื่อความปลอดภัย เผื่อชื่อสินค้าเป็นตัวเลขแล้วจะงง)

      เราก็จะได้ผลลัพธ์แบบนี้

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 364

      ทีนี้เราก็ทำการ VLOOKUP ได้แล้ว เพราะค่าในคอลัมน์ A ไม่ซ้ำกันเลย (ในผลไม้ที่เราสนใจ) ดังนั้นสูตรใน H6 จะเป็นดังนี้ :

      =VLOOKUP($G$3&"-"&G6,A:B,2,FALSE)

      ซึ่งในส่วน lookup_value เราเขียนสูตรเอาสินค้าที่สนใจ ไปเชื่อมกับเลขลำดับ ว่า
      $G$3&”-“&G6 เพื่อให้ผลลัพธ์ออกมาเหมือนกับในคอลัมน์ A นั่นเอง

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 365

      ถ้าไม่อยากให้ Error ก็อาจใส่ IFERROR ดักไปก็ได้ เช่น

      =IFERROR(VLOOKUP($G$3&"-"&G6,A:B,2,FALSE),"-")
      VLOOKUP หลายบรรทัด

      1.3 ใช้ ROW กับ SMALL มาช่วย แบบ Array Formula

      ถ้าเราใช้วิธีนี้ ก็จะไม่ต้องสร้างคอลัมน์เพิ่มเลย แต่ก็ต้องมีความเข้าใจเกี่ยวกับ Array Formula พอสมควร

      หลักการคือ เราจะใช้ IF + ROW เพื่อ แสดงแถวของค่าที่ตรงกับ lookup value เท่านั้น และใช้ SMALL เพื่อเอาแถวที่น้อยสุดเป็นอันดับที่ 1,2,3 ขึ้นมาแสดง

      ก่อนแื่น เราใช้ IF + ROW เพื่อ แสดงแถวของค่าที่ตรงกับ lookup value ก่อน ดังนี้

      =IF(C3:C14=G3,ROW(C3:C14))

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

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 366

      ต่อไปเราจะใช้ SMALL มาช่วย เพื่อให้มันแสดงค่าที่น้อยสุดเป็นอันดับที่ 1,2,3 และอย่าลืม fix cell reference ด้วย เพราะเดี่ยวจะ copy ลงล่าง

      =SMALL(IF($C$3:$C$14=$G$3,ROW($C$3:$C$14)),G6)

      เท่านี้ผมก็ได้ลำดับแถวที่ตรงกับแอปเปิ้ลแล้ว คือ 3,4,11,14

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 367

      จากนั้นผมก็ใช้ INDEX ครอบเข้าไปเพื่อ ดึง Order id จากลำดับแถวที่รู้จาก SMALL+ROW ได้เลย

      =INDEX(B:B,SMALL(IF($C$3:$C$14=$G$3,ROW($C$3:$C$14)),G6))
      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 368

      กลุ่ม 2 : ใช้เครื่องมือเพื่อให้เกิดผลลัพธ์หลายค่า

      2.1 ใช้ Slicer (Excel 2013 ขึ้นไป)

      วิธีนี้จะเรียกว่าโกงก็ได้ มันคือการแปลง Data ให้เป็น Table แล้วใส่ Slicer จบเลย 555

      เลือกข้อมูล 1 ช่อง กด Insert –> Table หรือ Ctrl+T

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 369

      กด Insert Slicer แล้วเลือกสินค้า

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 370

      จากนั้นเลือกสินค้าที่สนใจได้อย่างง่ายดาย

      Silcer และ Table เพื่อเลียนแบบ VLOOKUP หลายบรรทัด

      เนื่องจากวิธีนี้ดูขี้โกงไปหน่อย งั้นแถมวิธีใช้ Power Query ให้ละกันครับ

      2.2 ใช้ Power Query (Excel 2013 ขึ้นไป)

      ก่อนอื่น เราต้องเอาข้อมูลสินค้าที่เราสนใจเข้า PowerQuery ด้วย ก่อน
      ด้วยการ Get Data from Table/Range ดังรูป

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 371

      ผมตั้งชื่อตารางแรกว่า OrderDatabase แล้ว กด Close & Load to… Only Create Connection เพื่อให้ยังไม่ต้องสร้างตารางผลลัพธ์ออกมา

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 372

      จากนั้น เอาข้อมูลสินค้าที่เราสนใจเข้า PowerQuery ด้วย Get Data From Table อีกที

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 373

      แล้วตั้งชื่อว่า SelectedProduct แล้ว Close&Load to… only create connection อีกที

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 374

      จากนั้นเราจะใช้ Merge Query ดึงข้อมูลมาเฉพาะสิ่งที่สนใจ

      ให้เราไปสร้าง Merge Query ขึ้นมาใหม่

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 375

      จากนั้นก็เลือกทั้งสองตาราง แล้วเลือกคอลัมน์ที่เป็นตัวเชื่อมซะ ซึ่งก็คือสินค้า แล้วเลือก Join Kind เป็น Inner (แปลว่าต้องเจอค่าในทั้ง 2 ตาราง) แล้ว กด ok

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 376

      กดปุ่มขวาบนตามรูป และติ๊กว่าไม่เอา prefix (เพราะมันอ่านยาก)

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 377

      ลบคอลัมน์ที่ไม่ต้องการซะ เช่น สินค้า แล้วถ้าต้องการเลข running ก็ Add Index Column From 1 ได้

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 378

      กด Close & Load to … Table แล้วเลือกให้วางยัง Existing Worksheet ตรงที่ต้องการ แล้วกด ok จบ

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 379

      จากนั้นเราก็จะได้ผลลัพธ์ออกมาครับ

      สารพัดเทคนิคสำหรับคนอยาก VLOOKUP ผลลัพธ์หลายค่า จากคำค้นหาเดียว 380

      แต่วิธีนี้มีข้อเสียคือ ถ้าเปลี่ยนสินค้าแล้ว อย่าลืมกดคลิ๊กขวาที่ตารางแล้ว Refresh นะ (ยกเว้นจะผูกกับ VBA ก็อาจจะช่วยได้)

      Power Query เพื่อเลียนแบบ VLOOKUP หลายบรรทัด

      เพียงเท่านี้ก็เสร็จแล้วครับ

      สรุปสารพัดวิธี VLOOKUP ผลลัพธ์หลายค่า

      เพื่อนๆ ชอบวิธีไหนในการได้ผลลัพธ์หลายค่ามากกว่ากันเอ่ย? หรือใครมีวิธีที่ดีกว่านี้ก็แชร์กันได้นะครับ ^^ ส่วนตัวแล้วผมจะต้องจัดการทุกอย่างใน Power Query ก่อนจะส่งไป Pivot อยู่แล้ว ดังนั้นผมจึงชอบวิธี Power Query มากที่สุดแล้วครับ เพราะทั้งง่ายและทรงพลัง