บทความทั้งหมด
-
จงแยก Report กับ Database ออกจากกัน (ถ้าอยากใช้ Excel ให้ง่าย)
ปัญหาอย่างหนึ่งที่ผมมักเจอคนมาถามบ่อยๆ คือ ปัญหาที่การสรุปข้อมูลนั้นทำได้ยาก ซึ่งสาเหตุก็เป็นเพราะ ข้อมูลเหล่านั้นไม่ได้ถูกบันทึกในเชิง Database แยกออกมาต่างหากจากรายงาน แต่กลับมีการกรอกข้อมูล Input ลงไปในรายงาน หรือผลลัพธ์ที่เค้าต้องการไปเลย ซึ่งจะทำให้การสรุปเปลี่ยนมุมมองจากเดิมทำได้ยาก การเพิ่มข้อมูลก็อาจจะไม่สะดวกด้วย ซึ่งปัญหาเหล่านี้จะแก้ได้อย่างตรงประเด็น “จะต้องแยก Report กับ Database ออกจากกัน” คือเราจะไม่กรอกข้อมูลลงไปในรายงานผลลัพธ์สุดท้าย แต่เราจะกรอกข้อมูลลง Database แล้วพยายามสร้าง Report ที่สรุปมาจากข้อมูล Database ต่างหากล่ะ ซึ่งการสรุป จะใช้สูตร หรือใช้ PivotTable ก็แล้วแต่ความถนัดของแต่ละคนแล้วครับ
-
สอนเทคนิคการ Random แบบไม่เอาตัวซ้ำ พร้อมประกาศรายชื่อผู้โชคดีจากการ Subscribe ช่อง YouTube เทพเอ็กเซล
สืบเนื่องจาก Post ในเพจ Facebook เทพเอ็กเซล ผมได้มีการถามว่ามีใครได้ Subscribe ช่อง YouTube เทพเอ็กเซล ไปบ้าง ซึ่งก็มีคนมา Comment เป็นร้อยคนเลย (ขอบคุณมาก) แต่ผมจะ Random สุ่มผู้โชคดีมา 3 คนจาก Comment ทั้งหมดเท่านั้นครับ ผมเชื่อว่าการ Random ค่าใน Excel นั้นหลายคนเจอปัญหากวนใจอย่างนึงนั่นก็คือ หากอยากจะ Random ค่าจากรายการที่กำหนดแบบไม่เอาตัวซ้ำจะทำยังไง? เช่นมีรายชื่อคน 10 คน ถ้าเราใช้ RANDBETWEEN ทำการ Random เลขระหว่าง 1-10 บางทีมันก็ได้ตัวซ้ำกันออกมาได้ กลายเป็นต้องมา Random ใหม่จนกว่าจะไม่ซ้ำอีก ซึ่งเสียเวลาเนอะ หลักการ Random แบบไม่เอาตัวซ้ำ ดังนั้นใน Post นี้ผมก็จะใช้เทคนิคที่จะทำการสุ่มข้อมูลออกมาแบบไม่ซ้ำกันให้ครับ…
-
วิธีใช้ Power Query ดึงข้อมูลจาก Web API : ตอนที่ 3
จากความรู้สองตอนก่อนหน้าที่เราเรียนรู้เรื่อง GET กับ POST ไปแล้ว ในตอนนี้เราจะมาเรียนรู้วิธีการดึงข้องมูลจาก Web API โดยที่ทางเว็บนั้นๆ ไม่ได้มี Document บอกตรงๆ ว่าจะต้องไปดึง API จากไหน ด้วย Syntax อะไรยังไง? แต่เราก็ยังสามารถรู้ URL ที่จะดึงได้จากการใช้ Inspector ของ Web Browser เช่น Google Chrome ก็มีครับ ซึ่งในบทความนี้ผมจะสอนเองว่าดูยังไง แล้วดึงข้อมูลยังไง ถ้าเจอปัญหาจะแก้ยังไงแบบละเอียดเลย ตัวอย่าง 1 : ดึงข้อมูลอัตราแลกเปลี่ยนจาก BBL สมมติว่าจะดึงข้อมูลอัตราแลกเปลี่ยนจากเว็บนี้ https://www.bangkokbank.com/th-TH/Personal/Other-Services/View-Rates/Foreign-Exchange-Rates แม้ว่ามันจะสามารถดึงได้ตรงๆ เลยจากการ Get Data From Web แต่ว่าวิธีนั้นมันไม่มีความยืดหยุ่น เพราะการ Get Data from…
-
วิธีใช้ Power Query ดึงข้อมูลจาก Web API : ตอนที่ 2
ในตอนที่แล้ว เราได้เรียนรู้การใช้ API แบบ GET Request ไปแล้ว ซึ่งจะเห็นว่าแค่ใส่ URL ให้ถูกต้องพร้อมกับ Query String ที่ต้องการ แค่นั้นก็จบได้ แต่สำหรับการใช้ API แบบ POST จะมีความยุ่งยากกว่าพอสมควร เพราะเราต้องส่งข้อมูลในส่วนของ Body กลับไปให้ Server ด้วย และในบทความนี้ก็จะสอนว่าต้องทำอย่างไร เว็บที่ผมจะนำมาทดสอบกับตัวอย่างนี้คืออันนี้ https://jsonplaceholder.typicode.com/ ซึ่งเป็นเว็บที่เปิดให้ทดสอบการใช้ API ได้ฟรีๆ จะได้ไม่ต้องมีปัญหาเรื่อง Limit การใช้งานอีก (อย่างไรก็ตาม การใช้ POST API กับเว็บนี้ไม่ได้มีการสร้าง Content ใน Server จริงๆ เค้าแค่จะให้ Response หลอกๆ มาว่ามัน Post สำเร็จเฉยๆ) หลักการคือ เราจะส่ง…
-
วิธีใช้ Power Query ดึงข้อมูลจาก Web API : ตอนที่ 1
ปกติแล้วเวลาเราใช้ Power Query ดึงข้อมูลจาก Website เราก็มักจะต้องดึงข้อมูลที่มีลักษณะเป็นตารางแบบ Static คือเป็น Html นิ่งๆ โง่ๆ ถึงจะดึงได้ แต่ปัญหาก็คือเว็บไซต์สมัยใหม่ๆ มันจะไม่ค่อยเก็บข้อมูลในลักษณะตารางนิ่งๆ แต่จะเป็นเว็บในลักษณะที่เป็น AJAX และดึงข้อมูลกลับมาเป็นไฟล์รูปแบบที่เรียกว่า JSON ผ่าน API (หรือ Application Programming Interface) ซึ่งเป็นวิธีที่โปรแกรมแต่ะตัวใช้สื่อสารแลกเปลี่ยนข้อมูลกันซะมากกว่า ซึ่งถ้าเราสามารถใช้ Power Query ดึงข้อมูลผ่าน API ได้ เราจะได้ข้อมูลที่ Clean และยืดหยุ่นว่าการดึงจาก Website ตรงๆ มากเลย นอกจากนั้น บางเว็บไซต์ก็จะมีการเปิด API ให้คนมาเชื่อมต่อได้เลย ซึ่งมักจะมีคู่มือบอกด้วยว่าจะติดต่อ API ของเว็บนั้นๆ ได้ยังไง ซึ่งดีมากๆ เลย **แต่ถ้าเว็บไหนไม่ได้บอกตรงๆ เราก็ต้องไปใช้ Inspector…
-
ดึงข้อมูลหน้างบการเงินย้อนหลังและวิเคราะห์หุ้นเบื้องต้น
ในคลิปนี้ผมจะสอนวิธีดึงข้อมูลและวิเคราะห์หุ้นใน SET50 จาก settrade (หน้างบการเงินย้อนหลัง 5 ปี) ไปยัง PowerBI ผ่านเครื่องมือ Power Query เพื่อที่จะสามารถให้เราสามารถนำไปใช้ทำ Data Model และเขียนสูตร DAX รวมถึงสร้าง Visualization ในการคัดเลือกหุ้นที่พื้นฐานดีมาวิเคราะห์ได้ต่อไปครับ ดึงข้อมูลหุ้น ซึ่งในการดึงข้อมูลหุ้นนี้คุณจะได้เรียนรู้วิธีการแปลง Query ให้เป็น Function เพื่อจะเรียกข้อมูลจาก Website ของหุ้นแต่ละตัวได้โดยไม่ต้องมานั่ง Get Data จาก Web เอง 50 ที ในคลิปนี้จะเจอปัญหาต่างๆ มากมาย และจะได้รู้ด้วยว่าเราจะมีแนวทางแก้ปัญหาอย่างไรครับ วิเคราะห์หุ้น ต่อจากนั้น ผมจะสอนการใช้ Power BI วิเคราะห์ข้อมูลงบการเงินย้อนหลัง 5 ปี ซึ่งเพื่อนๆ จะได้เห็นแนวทางว่ามีปัญหาอะไรที่ต้องระวัง ต้องจัดการบ้าง รวมถึงได้เห็นวิธีการปรับการแสดงผลข้อมูลใน…
-
หลากวิธีเอาข้อมูลในกลุ่มเดียวกันไปรวมเป็นข้อความเดียวกัน
สมมติว่าเรามีข้อมูลอยู่แบบซ้ายมือของรูป แต่อยากให้ผลลัพธ์รวมเป็นข้อความเดียวกันกลายเป็นแบบด้านขวามือ เราจะใช้วิธีไหนได้บ้าง? มาดูกันครับ คิดว่าบทความสั้นๆ อันนี้น่าจะช่วยเปิดหูเปิดตาให้เพื่อนๆ ได้รู้จักวิธีแก้ปัญหาที่หลากหลายมากขึ้นนะครับ ก่อนอื่นเราทำข้อมูลให้เป็น Table (Insert->Table หรือ Ctrl+T) ก่อน จะได้รองรับ Data mี่เพิ่มขึ้นได้ง่ายๆ ครับ และตั้งชื่อว่า MyData วิธีใช้สูตรของ Excel 365 รวมเป็นข้อความเดียวกัน วิธีที่เข้าใจง่ายที่สุดเลย ก็คือสูตรของ Excel 365 ซึ่งมีความสามารถแบบ Array Formula ที่ขี้โกงและใช้ง่ายกว่าสูตรใน Version เก่ามากๆ โดยเราจะเริ่มจากเอา Group ทั้งหมดออกมาก่อนด้วย UNIQUE (และถ้าอยากเรียงด้วยก็ซ้อน SORT เข้าไปก็ได้) หรือ จากนั้นเราจะทำการคำนวณ item แต่ละอันภายใต้แต่ละ Group ออกมาด้วยฟังก์ชัน FILTER ดังนี้ แต่เราอยากจะให้เอาข้อมูลที่ Filter…
-
มาสร้าง Simulation ชื่อว่า Conway’s Game of Life ใน Excel กัน
พอผมไปศึกษาเรื่อง Iterative Calculation ใน Excel ก็ได้ไปพบเรื่องเกี่ยวกับ Conway’s Game of Life ซึ่งเป็น Simulation ที่อยู่บนตาราง ที่ให้เราตั้งค่าจุดเริ่มต้นของเกมว่าเริ่มต้นจะให้ช่องไหนมีชีวิตบ้าง (เรียกว่า seed) จากนั้นเกมจะพัฒนาแต่ละ Stage ไปตาม set ของกติกาที่ชัดเจนด้วยตัวมันเอง (คล้ายๆ มันมีชีวิตของมันเอง) ดังนี้ กติกาการมีชีวิต/ตาย การตัดสินว่า Stage ถัดไป ช่องนั้นจะเกิดอะไรขึ้น จะดูจากช่องรอบตัวมันเอง ทั้ง 8 ช่อง (ทิศเฉียงด้วย) ดังนี้ ซึ่งถ้าอ่าน Logic จริงๆ มันก็เหลือแค่นี้แหละ เตรียมพื้นที่ใน Excel ก่อนอื่น ให้สร้าง Excel ไฟล์เปล่า ขึ้นมา 2 sheet คือ output…
-
อธิบายละเอียดยิบเรื่องการเงิน NPV, XNPV, IRR, XIRR ต่างกันยังไง ใช้อะไรดี?
ผมได้เคยสอนใช้ฟังก์ชันทางการเงินอย่าง NPV และ IRR กันไปคร่าวๆแล้ว ซึ่งมันเป็นฟังก์ชันทางการเงินที่มีประโยชน์ในการช่วยตัดสินใจได้ว่า Project ให้ผลตอบแทนคุ้มค่าแค่ไหน น่าลงทุนหรือไม่? แต่ถ้าเราสังเกตดูแล้วมันจะมีฟังก์ชันชื่อคล้ายๆ กันอย่าง XNPV และ XIRR อยู่ด้วย แถมใน DAX ของ Power BI, Power Pivot ก็มีแค่ XNPV กับ XIRR ให้ใช้อีก แบบนี้มันสามารถใช้แทนกันได้มั้ย หรือมีความแตกต่างกันอย่างไร? เดี๋ยวบทความนี้ผมจะอธิบายให้เข้าใจอย่างละเอียดกันทั้งหมดตั้งแต่ NPV IRR ปกติกันเลยครับ พื้นฐานของ NPV และ IRR ปกติแล้ว Concept ของ NPV ก็คือการเปลี่ยน Cashflow ตลอดทั้งโครงการให้ไปอยู่ที่จุดเดียวกันคือเริ่มต้น (ใช้ PV กับทุก Cashflow) แล้วทำการ Net…
-
สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft – Part2
เอาล่ะ ในที่สุดเราก็มาถึงตอนที่ 2 ของซีรีส์นี้กันแล้วครับ ซึ่งในตอนนี้เราจะมาลงมือแกะสูตรว่าคนทำ Template เค้าใช้สูตรยังไงในการแก้ปัญหา Sudoko ออกมาได้ ซึ่งก่อนจะเข้าใจสูตรได้ สิ่งหนึ่งที่ต้องทำความเข้าใจก่อนก็คือหลักการแก้ปัญหา ดังนั้นเรามาดูกันดีกว่าว่าหลักการแก้ปัญหาของเค้าคืออะไร ปกติแล้วการเล่น Sudoku มันคือ การต้องใส่เลข 1-9 ลงไปในช่องว่าง โดยที่แต่ละแถว แต่ละคอลัมน์ และแต่ละพื้นที่สี่เหลี่ยม 3×3 นั้น มีเลข 1-9 ไม่ซ้ำกันเลย (คนที่มาอ่านบทความนี้ถึงตอนที่ 2 ได้น่าจะพอรู้กติกาอยู่แล้วเนอะ) ในแต่ละช่องแรกเริ่มเดิมทีจะมีเลขที่เป็นไปได้ 9 ตัว… ดังนั้นแนวทางแก้ปัญหาคือ เราต้องดูว่ามีเลขอะไรที่โผล่มาแล้วในแถว ในคอลัมน์ และในพื้นที่บ้าง ถ้ามีเลขไหนไปแล้ว เราก็จะตัดเลขนั้นทิ้งจากเลขที่เป็นไปได้ ตัดไปเรื่อยๆ ถ้าเหลือเลขที่เป็นไปได้แค่ตัวเดียว เราก็มั่นใจได้เลยว่าเลขนั้นต้องเป็นคำตอบอย่างแน่นอน ถ้าเป็น Sudoku แบบง่ายหลักการง่ายๆ แค่นี้ ซึ่งเราจะมาดูแบบง่ายกันก่อนนะครับ อย่าลืม Unprotect Sheet ทีนี้พอเรารู้หลักการแล้ว…
-
สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft – Part1
ผมได้เคยแนะนำ Template ตัวนึงที่เจ๋งมากๆ จากทาง Microsoft นั่นก็คือ Sudoku puzzle solver ซึ่งนี้สามารถโหลดมาใช้ได้ฟรีๆ ที่นี่ https://templates.office.com/en-us/sudoku-puzzle-solver-tm10080972 ทุกครั้งที่เห็นไฟล์นี้ผมเองรู้สึกทึ่งมากๆ เพราะมันเป็น Template ที่สามารถแก้ปัญหา Sudoku ได้ด้วยสูตร Excel ล้วนๆ (โดยใช้เทคนิค Iterative Calculation) โดยไม่ได้พึ่งพาการเขียนโปรแกรมหรือการใช้ add in Solver อะไรทั้งสิ้น ซึ่งน่าอัศจรรย์มากๆ ! ใน Series นี้ผมจะสอนใช้งาน Template นี้ และจะพยายามแกะสูตรว่ามันใช้วิธีการยังไงในการทำงานจนได้คำตอบออกมาให้เราครับ ใครสนใจก็อ่านต่อยาวๆ ได้เลย ซึ่งบทความภาคแรกนี้จะเป็น Part การใช้งาน Template ก่อนนะครับ วิธีการใช้งานแบบง่าย ก่อนอื่นก็ไปหาคำถาม sudoku มาจากในเน็ต เดี๋ยวเราเอาโจทย์ระดับกลางๆ มาละกัน สมมติเป็นอันนี้…
-
สรุปทุกอย่างที่ควรรู้เกี่ยวกับการ Link ข้อมูลข้ามไฟล์ Excel
คำถามเกี่ยวกับการ Link ข้อมูลข้ามไฟล์ Excel เป็นคำถามยอดฮิตอีกอันนึงที่คนถามกันมาเยอะมาก แต่ผมก็ยังไม่เคยสรุปเนื้อหาเกี่ยวกับเรื่องนี้ซักที และผมก็คิดว่าถึงเวลาแล้วล่ะที่จะสรุปเนื้อหาเรื่องนี้ให้ทุกคน และมันก็ออกมาเป็นบทความนี้นั่นเองนะครับ โดยที่ผมจะมีไฟล์อยู่ 2 ไฟล์ คือ Book1 กับ Book2 โดยที่ผมต้องการ Link ข้อมูลจาก Book1 ไปยัง Book2 นะครับ version วีดีโอ การ Link ข้อมูลข้ามไฟล์ Excel ผมก็แบ่งออกเป็น 3 วิธีหลักๆ นั่นคือ ใช้สูตร ใช้ VBA และ ใช้ Power Query ครับ ใช้สูตร การใช้สูตรแบบที่ Simple ที่สุด ก็คือ การใช้เครื่องหมายเท่ากับ link ไปทีละช่องที่ต้องการเลย คือ ไปที่ช่องปลายทาง…
-
วิธีดับเบิ้ลคลิ๊กแสดงข้อมูลรายะเอียดใน Pivot แบบ Data Model ให้เกิน 1000 บรรทัด
บทความนี้เป็น Trick สั้นๆ ครับ ปกติแล้ว ถ้าเราใช้ Pivot Table แบบปกติ เราจะสามารถ Double Click ที่ผลลัพธ์แต่ละช่องเพื่อจะแสดงข้อมูลที่มาของเลขนั้นๆ ได้ครบเลย แต่ถ้าเป็น Pivot Table โหมด Data Model มันจะแสดงข้อมูลได้แค่ 1000 บรรทัดแรกของการ Filter นั้นๆ ซึ่งเป็นเรื่องที่น่าหงุดหงิดมาก ลองลงมือทำให้เกิดปัญหา Pivot ได้แค่ 1000 สมมติเรามีข้อมูลสมมติโดยสร้างเป็นเลข 1-200,000 ไว้ (ผมใช้ Home->Fill-> Series ช่วยสร้างจะได้เร็วๆ) แล้วสร้างคอลัมน์ Group อีกซักอันให้มีกลุ่มละ 90,000 ตัว ด้วยการเขียนสูตรว่า จากนั้นเรา convert เป็น Table ซะ แล้วเอาเข้า Pivot…
-
ลองทำ Machine Learning ใน Excel เทคนิค K-Means Clustering แบบไม่ง้อ VBA
การแบ่งกลุ่มข้อมูลนั้นจริงๆ สามารถทำได้หลายวิธี ซึ่งวันนี้ผมจะมานำเสนอวิธีที่เรียกว่า K-Means Clustering นั่นคือ ให้โปรแกรมพยายามจัดกลุ่มที่มีความใกล้เคียงกันเข้าอยู่เป็นกลุ่มเดียวกันได้ด้วยตัวมันเอง โดยที่เราไม่ต้องเป็นคนบอกมันว่าแบบไหนควรอยู่กลุ่มอะไร ซึ่งมันต้องมีการวน Loop คำนวณซ้ำๆ หลายรอบ หลายคนอาจคิดว่าการวน Loop จะต้องใช้ VBA เขียนโปรแกรมเอาแน่ๆ แต่ในบทความนี้ผมจะทำให้ดูว่า วิธีการเขียนสูตรธรรมดาๆ ในโหมดที่เรียกว่า Iterative Calculation ก็สามารถทำได้ครับ! รับรองว่าคุณจะได้เห็นแง่มุมใหม่ๆ ในการใช้สูตร Excel แบบที่ปกติไม่ค่อยได้เห็นแน่นอนครับ ^^ ลองลงมือทำดู เราจะใช้ข้อมูลลูกค้าในห้าง อันนี้ https://www.kaggle.com/shwetabh123/mall-customers โดยที่ผมจะลองแบ่งกลุ่มจากข้อมูลแค่ 2 แกน คือ Annual Income (k$) และ Spending Score (1-100) เท่านั้นครับ ซึ่งหากลองทำ Scatter Plot จะได้ดังนี้ ซึ่งถ้าดูจากกราฟที่ออกมา ผมคิดว่าน่าจะแบ่งลูกค้าเป็น…
-
แบ่ง Segment ลูกค้าด้วย RFM Analysis : ตอนที่ 2 Static DAX
จากเนื้อหาตอนที่แล้วผมได้แสดงวิธีทำ RFM Analysis กันด้วยสูตร Excel ปกติกันไปแล้ว คราวนี้ผมจะมาแสดงวิธีทำด้วยสูตร DAX กันบ้าง ซึ่งจะสามารถใช้ได้ทั้งใน Power BI และใน Power Pivot ของ Excel ด้วยนะครับ ซึ่งผมคิดไว้ว่าวิธีการจัด Segment ด้วย RFM Analysis ด้วย DAX ผมจะเขียนถึงใน 2 ลักษณะ คือ แบบ Static โดยมองลูกค้าทั้งหมดมาเทียบกันเสมอ นั่นคือลูกค้าคนนึงจะถูก Assign Segment ครั้งเดียวจบ ได้อะไรก็อันนั้นเลย (เหมือนที่ผมทำใน Excel) และแบบ Dynamic คือ จะเปรียบเทียบกันเฉพาะลูกค้าที่มองเห็นอยู่ภายใต้ Filter ที่เลือกเท่านั้น ดังนั้นลูกค้าคนนึงอาจเป็นสุดยอดลูกค้าในกลุ่มนึง แต่เป็นลูกค้าประจำในอีกกลุ่มนึงที่ใหญ่กว่าก็ได้ ซึ่งใน Post นี้ผมขอพูดถึงในแบบ…
-
แบ่ง Segment ลูกค้าด้วย RFM Analysis : ตอนที่ 1 ทำด้วย Excel
การแบ่งกลุ่มลูกค้าหรือ การทำ Customer Segmentation เพื่อบริหารจัดการลูกค้าแต่ละกลุ่มอย่างเหมาะสมเป็นเรื่องที่สำคัญต่อการทำธุรกิจมาก เพราะว่าเราไม่สามารถลงแรงเพื่อดูแลลูกค้าทุกคนเท่าๆ กันได้ขนาดนั้น (ลองคิดตามกฎ 80:20 สิ) แต่เราจะแบ่งลูกค้ายังไงดีล่ะ? แบ่งตามอะไร? แค่แบ่งตามยอดซื้อเท่านั้นเหรอ?Model หนึ่งที่สามารถใช้ Data มาช่วยในการแบ่งกลุ่มลูกค้าได้นั่นก็คือ RFM Model หรือ RFM Analysis นั่นเอง RFM Analysis คืออะไร? RFM Analysis คือเทคนิคที่ใช้ Data เกี่ยวกับพฤติกรรมการซื้อของของลูกค้าในการแบ่งกลุ่มลูกค้า โดยขึ้นกับปัจจัย 3 ตัว ซึ่งย่อเป็น RFM นั่นก็คือ Recency : ซื้อครั้งล่าสุดสดๆ ร้อนๆ แค่ไหน? (Recent ที่แปลว่าไม่นานมานี้) Frequency : ซื้อบ่อยแค่ไหน? Monetary : มูลค่าเงินที่ซื้อเยอะแค่ไหน? Edit…
-
Math Skill vs Stage of Life : Excel Version
คิดว่าเพื่อนๆ คงพอเคยเห็น Meme ตัวนี้มาแล้วว่า เรียน Math ยากๆ เช่น Calculus มาแทบตาย สุดท้ายมาถึงวัยทำงานก็เหลือแค่ Spreadsheet หรือ Excel ที่ใช้แค่การบวกลบคูณหารธรรมดาๆ… เพื่อให้ภาพมันครบขึ้น ก็เลยลองวาดเส้นต่อดูว่าในความคิดของผม เวลาใช้ Excel จริงๆ มันก็มีเรื่องที่ยากขึ้นเรื่อยๆ แล้วก็กลับมาง่ายแล้วก็ยากใหม่สลับไปมาเช่นกันตัวอย่างเช่น เราใช้ Excel จากพื้นฐานไปจนถึง ทำ Pivot ได้ (ซึ่งการทำ Pivot เป็นนี่ง่ายกว่าแก้สมการสมัยเด็กจริงๆ นะ 555) สามารถเขียนสูตร Array Formula ยากๆ ได้ ใช้ VBA เขียนโปรแกรมซับซ้อนได้… (อันนี้มีตั้งแต่ง่าย จนยากพอๆ กับ Calculus แหละ) ไปๆ มาๆ ในช่วงหลังผมใช้แค่ Power…
-
บันได 10 ขั้น แห่งการฝึกวิชา DAX
ภาษา DAX (Data Analysis eXpression) เป็นภาษาที่ใช้ในการเขียนสูตรของ Power BI และ Power Pivot ซึ่งเป็นภาษาที่มีหน้าตาภายนอกคล้ายคลึงสูตรของ Excel มากๆ แต่เบื้องลึกนั้นอาจมีความต่างพอสมควร… Concept การทำงานของ DAX นั้นจะผูกโยงกับ Data Model หรือโครงสร้างความสัมพันธ์ของข้อมูลในตาราง และขึ้นอยู่กับบริบทของการ Filter ข้อมูลเป็นอย่างมาก ดังนั้นคนที่ใช้ Excel มาก่อนจำชำนาญแล้ว ก็ยังจำเป็นต้องศึกษา DAX เพิ่มเติมอีกเยอะเลยกว่าจะใช้ได้ DAX ได้เก่ง จากที่ผมได้เคยอ่านบทความ 10 ขั้นวิทยายุทธ Excel ที่พี่บิว “วิศวกรรีพอร์ต” ได้เขียนไว้นานแล้ว ผมคิดว่ามันทำให้คนอ่านเห็นภาพรวมได้ง่ายขึ้นว่าทักษะ Excel โดยรวมมีอะไร และทักษะตัวเราเองอยู่ประมาณขั้นไหน ผมก็เลยอยากเขียนบทความที่คล้ายๆ กัน แต่เป็นเรื่องของ DAX บ้าง หวังว่าบทความนี้จะสามารถเป็นเหมือนแผนที่ให้เพื่อนๆ…
-
วิธีหาจำนวน และตำแหน่งที่เกิดค่าที่เราต้องการแบบต่อเนื่องกันมากที่สุด (Consecutive Value)
หลายๆ ครั้งเรามักมีความต้องการอยากจะหาว่าค่าที่เราสนใจนั้น เกิดขึ้นแบบต่อเนื่องกัน (Consecutive Value) มากที่สุดกี่ครั้ง? เกิดขึ้นตรงไหน? เช่น มีวันหยุดต่อเนื่องกันมากสุดกี่วัน หรือ เกิดยอดขายเกินกว่า xxx ต่อเนื่องกันกี่เดือน หรือทำงานสำเร็จต่อเนื่องกันสูงสุดกี่ครั้ง เป็นต้น ซึ่งการหาจำนวน และตำแหน่ง ที่มี “ค่าตามที่เราต้องการเกิดขึ้นต่อเนื่องมากสุด” นั้นไม่ใช่เรื่องง่ายๆ ที่จะคิดเองได้ ตัวผมเองก็เลยขอนำเสนอไอเดียที่ไปเรียนรู้มาจากเว็บต่างประเทศ แล้วนำมาคิดสูตรเพิ่มเติม เรียบเรียงใหม่ให้เข้าใจง่ายขึ้นเพื่อมาแชร์ให้กับเพื่อนๆ ได้นำไปใช้กันง่ายๆ ครับ สมมติเรามีข้อมูลอยู่แบบนี้ (ซึ่งจะเป็น Range ธรรมดา หรือจะเป็น Table ก็ได้) แล้วเราอยากจะหาว่า x เกิดขึ้นต่อเนื่องกันมากที่สุดกี่ครั้ง และเกิดขึ้นตรงไหน? เราจะหาคำตอบได้ยังไง มาดูกันครับ หาจำนวนที่เกิดต่อเนื่องมากที่สุด วิธีใช้สูตรปกติ เราก็สามารถสร้างข้อมูลในคอัมน์ข้างๆ ให้นับ x ไปเรื่อยๆ โดยเงื่อนไข IF ว่าถ้าค่าในช่องด้านซ้ายมือตรงกับเงื่อนไขที่เราต้องการ (เช่น ตรงกับค่า…
-
สอนทำ Simulation ใน Excel เพื่อประมาณค่า Pi
เพื่อนๆ รู้จักค่า Pi มาบ้างใช่มั้ยครับ? (ไอ้เลข 3.14159… นั่นแหละ) ในบทความนี้เราจะลองสมมติว่าเราไม่เคยรู้มาก่อนเลยว่าค่า Pi คือเลขอะไร แต่เราดันอยากจะลองประมาณค่า Pi ขึ้นมาด้วยความรู้ทางคณิตศาสตร์พื้นฐาน เช่น ระยะทางระหว่างจุด (ซึ่งก็คือเรื่องเดียวกับสามเหลี่ยมมุมฉากนั่นแหละ)หากถามว่าจะทำไปเพื่ออะไร! ในเมื่อแค่ใช้ฟังก์ชัน PI() ก็ได้ผลลัพธ์แล้ว ? ก็ต้องบอกว่าทำเพื่อความสนุกแบบ Nerd ล้วนๆ และเพื่อหัดทำ Simulation ใน Excel ครับ เพราะการทำ Simulation เป็นจะช่วยให้เราเข้าใจอะไรหลายๆ อย่างได้ดีขึ้น เช่น อาาจไปใช้ทดสอบการลงทุนหุ้นอะไรแบบนี้ก็ได้ครับ ทฤษฎีที่ควรรู้ ถ้าใครสังเกตจะพบว่าค่า Pi นั้นมีความเกี่ยวข้องกับรูปวงกลมอยู่อย่างมากเลย ตอนที่พวกเราเรียนวิชาคณิตศาสตร์สมัยเด็กๆ ก็ทำให้เรารู้ว่า พื้นที่ของวงกลมคำนวณได้ดังนี้ ความน่าสนใจคือ ถ้าเราลองสมมติให้รัศมีของวงกลมมีค่าเป็น 1 หน่วย แบบนี้วงกลมก็จะมีพื้นที่เท่ากับค่า Pi ตารางหน่วย พอดีเลยจริงมั้ยครับ? ทีนี้ถ้าเราเอาวงกลมรัศมี…
-
การออกแบบตารางบันทึกข้อมูลที่ดีใน Excel (ลักษณะของ Database ที่ถูกต้อง)
เรื่องที่น่าปวดหัวที่สุดเวลาที่เราต้องสรุปข้อมูล ไม่ว่าจะใช้ PivotTable หรือพวก SUMIFS สรุปก็ตาม ก็คือ การบันทึกตารางข้อมูลในรูปแบบที่ไม่ถูกต้อง (ไม่ว่าจะทำเอง หรือ ได้มาจากคนอื่น) ซึ่งมาจากการออกแบบตารางที่ผิด การบันทึกข้อมูล “ไม่ถูกรูปแบบ” จะทำให้หลายคนสรุปข้อมูลไม่ได้ดั่งใจ หรือทำได้ลำบากกว่าที่ควรจะเป็นมากๆ ใน Post นี้ผมจะแนะนำให้ว่า การบันทึกข้อมูลแบบไหนที่ไม่ควรทำ และแบบไหนที่ควรทำ รวมถึงแนวทางแก้ไขเบื้องต้นด้วยครับ คลิปวีดีโอ ปัญหาเกี่ยวกับหัวตาราง หัวตาราง 2 ชั้น ทำให้มีปัญหาในการใส่ Filter และ การนำเข้า PivotTable อย่างรุ่นแรง อันนี้น่าจะเป็นเรื่องที่ผิดพลาดแบบเด่นชัดมากที่สุดเลยครับ วิธีที่ถูกต้อง ทุกครั้งให้ทำหัวตารางแค่บรรทัดเดียวเท่านั้น และต้องมีครบทุกคอลัมน์ด้วย แต่ถ้าจำเป็นต้องทำ 2 ชั้นจริงๆ เพราะความสวยงาม ให้ทำแยกบรรทัดไปอีก section ด้านบนโดยไม่ต้องอยู่ติดกับตารางไปเลย แล้วค่อนซ่อนตัวบรรทัดเดียวไปซะเพื่อความสวยงาม แม้ว่าการแยกข้อมูลในเรื่องเดียวกันเป็นหลายคอลัมน์ จะสามารถเอาเข้าไปใช้ใน Pivot Table ได้…
-
สอนใช้ SUMIFS บวกแบบมีเงื่อนไข เข้าใจไม่มีวันลืม
ผมจะมาสอนใช้ฟังก์ชัน SUMIFS ซึ่งสามารถบวกข้อมูลตามเงื่อนไขที่ต้องการได้ บอกเลยว่ามันเป็นหนึ่งในฟังก์ชันสรุปข้อมูลที่ใช้บ่อยที่สุดใน Excel เลยล่ะ! วิธีใช้สูตร trick ในการจำคือ ถ้ามีคำว่า range ให้เลือกเป็นช่วง ( เช่น sum_range criteria_range)ส่วน criteria ไม่มีคำว่า range ให้เลือกค่าช่องเดียว วิธีใช้สูตรนี้แบบง่ายสุดคือ ใช้กับ Table ซึ่งจะทำให้เลือกช่วงข้อมูลได้ง่ายขึ้นมาก แค่เลือกที่ขอบบนของ Table มันก็จะเลือก Data ทั้งคอลัมน์ของตารางให้เอง SUMIFS เงื่อนไขเดียว SUMIFS หลายเงื่อนไข เราสามารถใส่เงื่อนไขได้หลายชุด โดยใส่เครื่องหมาย comma คั่นไปเรื่อยๆ โดยที่เราจะใส่ sum_range แค่ครั้งเดียวนะ ลูกเล่นตรง Criteria สามารถใส่เครื่องหมายเปรียบเทียบได้ เช่น <>หนังสือ แปลว่า เอาทุกอันที่ไม่ใช่หนังสือ >300 แปลว่า เอาที่ค่ามากกว่า…
-
รวม Link สอน Python / Programming / AI/ Machine Learning แบบฟรีๆ
ในฐานะที่ผมกำลังฝึกฝนการเขียนโปรแกรมด้วย Python อยู่ ก็เลยขอรวบรวมแหล่งเรียนรู้ที่ผมคิดว่าผมศึกษาแล้วเข้าใจง่ายมาไว้ด้วยกันครับ เผื่อเพื่อนๆ จะได้เรียนรู้ไปด้วย ภาษาไทย AI บ้านบ้าน (AI บ้านบ้าน) Facebook Page : AI บ้านบ้าน YouTube : https://www.youtube.com/channel/UCIlmY13nFIVFtd1S1ocnn3Q Playlist Python : https://youtube.com/playlist?list=PL53PeIihzVjag-b2UMDuy2rlLEz3iHOMD จากช่อง ภาษาศาสตร์คอมพิวเตอร์ Thai NLP Facebook Page : facebook.com/teattapol YouTube : https://www.youtube.com/channel/UCgNWcPsv0yC94HHVXLjyJ5Q Playlist Python ปี 2019 : https://youtube.com/playlist?list=PLyyEwPZh6aHonswACFytZDCeDxUNvreX- Playlist Python ปี 2020 : https://youtube.com/playlist?list=PLyyEwPZh6aHrcRn3Aa18bqlyqjAxuVYji ภาษาอังกฤษ https://www.w3schools.com/python/ https://realpython.com/ https://automatetheboringstuff.com/
-
หัด Python สำหรับคนเป็น Excel : ตอนที่ 8 – การสร้างกราฟด้วย Matplotlib
ในบทความนี้เราจะมาเรียนรู้เรื่องการสร้างกราฟใน Python ด้วย Library ที่ชื่อว่า Matplotlib กันครับ การสร้างกราฟใน Python ด้วย Matplotlib นั้นเป็นอะไรที่ต่างจากการสร้างกราฟที่เราเคยทำใน Excel หรือ Power BI แบบสุดๆ เพราะว่าใน Excel แล้วใช้ User Interface เป็นหลัก เพื่อกำหนดว่ากราฟจะเป็นแบบไหน สีอะไร แต่ใน Python จะต้องใช้การเขียน Code เพื่อสั่งมัน Matplotlib เป็น Module พื้นฐานในการสร้างกราฟใน Python โดยที่เราจะนำไปต่อยอดด้วย Module อื่นที่ทำกราฟได้สวยขึ้นเช่น Seaborn ด้วย (จะพูดถึงในตอนถัดไป) ซึ่งความรู้ทั้งหมดนี้นี่จะช่วยให้พวกเราสามารถสร้างกราฟหน้าตาแปลกๆ ขึ้นมาใช้เองด้วยการเรียกใช้ Python Script ใน Power BI ได้ด้วยนะครับ ดังนั้นเรียนรู้ไว้ไม่เสียหายแน่นอน…
-
2 วิธี คำนวณภาษีแบบขั้นบันได ด้วย Excel (Step Tax Calculation)
ในคลิปนี้เราจะมาเรียนรู้วิธีคำนวณภาษีแบบขั้นบันได (Step Tax Calculation) กันครับ ซึ่งมีอยู่ 2 วิธีด้วยกัน คือคำนวณในตาราง กับคำนวณใน 1 บรรทัด ซึ่งผมจะสอนทั้งสองวิธีเลย แหล่งเรียนรู้เพิ่มเติม เพื่อให้เข้าใจเรื่องการ Lookup เพื่อ คำนวณ Step Tax ถ้าใครอยากศึกษาเรื่อง Approximate Match เพิ่ม สามารถดูได้ที่นี่ https://www.youtube.com/watch?v=FOxMujdiWmM ถ้าอยากศึกษาเรื่อง INDEX+MATCH เพิ่มดูได้ที่นี่ https://www.youtube.com/watch?v=64L3k03nACg
-
แนวทางการใช้ Python ใน Power BI
จากที่เราได้เรียนรู้การใช้ Python เบื้องต้นกันมาบ้างแล้วในหลายๆ ตอน คราวนี้เราจะมาใช้ Python กันในโปรแกรม Power BI กันบ้าง ซึ่งในบทความนี้เพื่อนๆ จะได้เรียนรู้ว่ามันเอามาใช้ด้วยกันได้ยังไง ในลักษณะไหน ต้องทำอะไรบ้าง? โดยตัวอย่างที่แสดงจะไม่ได้ทำอะไรซับซ้อนเพื่อความเข้าใจง่ายนะครับ (คือเรื่องที่ทำให้ดูใน Python ในบทความนี้ ทำใน Power Query โดยตรงก็ได้ แค่จะแสดงให้เห็น Concept เฉยๆ) เตรียมความพร้อม ก่อนอื่น เราจะต้อง Download แล้ว Install Python ลงเครื่องคอมพิวเตอร์ของเราก่อน (ใช้แค่ Collab เหมือนเดิมไม่ได้แล้ว) ไม่งั้นมันจะใช้ Python ใน Power BI ไม่ได้นะครับ ซึ่งตอน Install ผมแนะนำให้ติ๊กว่าให้เอา Python add เข้า PATH ของเครื่องด้วยนะครับ…
-
ทำอย่างไรถึงจะเก่ง Excel?
หากมีคนถามผมว่า ทำยังไงถึงจะเก่ง Excel? ต้องเรียนคอมพิวเตอร์มาหรือไม่? ผมก็มักจะตอบโดยการเล่าเรื่องของตัวผมเองว่าทำไมผมจึงพัฒนาทักษะ Excel ได้เก่งขึ้นมาจนถึงระดับที่อยู่ในตอนนี้ จากเดิมตอนที่ทำงานครั้งแรกก็ใช้ Excel ไม่เป็นเหมือนทุกคนนั่นแหละ ใครจะไปเก่งมาแต่เกิด ตอนเรียนมหาวิทยาลัยก็ไม่ได้เรียน ก็เหมือนกับหลายๆ ท่านนั่นแหละ ซึ่งจากการตกผลึกแล้ว มันมีปัจจัยใหญ่ๆ อยู่ไม่กี่ข้อ ที่ทำให้ผมเก่ง Excel ได้ ซึ่งเทคนิคเหล่านี้ จริงๆ ก็เอาไปใช้กับการฝึกเรื่องไหนก็ได้นั่นแหละ หาวิธีทำงานที่ดีขึ้นไปเรื่อยๆ ทุกอย่างเริ่มต้นจากความขี้เกียจ… ตัวผมเองนั้นต้องสารภาพตามตรงว่าเป็นคนที่ค่อนข้างขี้เกียจ (แต่ไม่ได้ขี้เกียจไปซะทุกเรื่องนะ 555 เพราะมันมีขี้เกียจแบบดีกับแบบไม่ดี) สิ่งที่ผมขี้เกียจมากที่สุดคือ “ขี้เกียจที่จะทำงานถึกๆ ซ้ำๆ” ซึ่งเป็นการขี้เกียจแบบดีนะ ผมจะเป็นคนที่ไม่ยอมนั่งทำงานถึกๆ เหมือนหุ่นยนต์ไปเรื่อยๆ เด็ดขาด ถ้างานไหนที่ทำแล่วรู้สึกว่าเริ่มถึก ผมจะทำทุกวิถีทางที่จะกำจัดมันไปให้เร็วที่สุดเท่าที่ทำได้ (แต่ไม่ได้ปฏิเสธงานนะ เพราะว่าอยากได้ผลงานที่ดีอยู่) ผมจะถามตัวเองเสมอว่า มันมีวิธีทำงานที่ดีกว่าที่ทำอยู่มั้ย? ซึ่งแน่นอนว่า “ส่วนใหญ่แล้วจะมี” และเราจะรู้วิธีนั้นได้ยังไง? ถ้าเป็นแต่ก่อนอาจจะต้องหาพี่ที่ทำงานที่เก่งๆ ให้สอนให้ แต่สมัยนี้เราหาทุกอย่างได้จาก internet ซึ่งปัญหาที่เราเจออยู่นั้น…
-
AGGREGATE, SUBTOTAL, SUM แตกต่างกันอย่างไร?
บทความนี้ขอแบบสั้นๆ ได้ใจความนะครับ เป็นการสรุปความแตกต่างของฟังก์ชันที่เอาไว้สรุปข้อมูลอย่าง AGGREGATE, SUBTOTAL, SUM เอาเป็นว่าเรามาเริ่มกันเลยดีกว่า สรุปความแตกต่างของ AGGREGATE, SUBTOTAL, SUM Topic SUM SUBTOTAL AGGREGATE คำนวณเฉพาะตัวเลข Y Y Y เลือกวิธีการสรุปข้อมูลได้ X (ต้องเปลี่ยนฟังก์ชันไปเลย) Y (เลือกได้) Y (เลือกได้) คำนวณเฉพาะที่ Filter เห็น X Y Y (เลือกได้) คำนวณเฉพาะที่ มองเห็น (ไม่ Filter ทิ้ง, ไม่ Hide แถว) X Y (เลือกได้ ถ้าใช้ฟังก์ชันเลข 10x จะไม่คำนวณ Hidden Rows) Y…
-
สอนใช้ INDEX + MATCH แบบสั้นๆ เท่าที่จำเป็น (แถม XLOOKUP)
ถ้าถามว่าฟังก์ชันในการ Lookup ข้อมูลอันไหนที่ฮิตที่สุด คำตอบก็คงไม่พ้น VLOOKUP แต่ถ้าถามว่าอะไรยืดหยุ่นที่สุดและใช้ได้กับ Excel ทุก Version คำตอบก็คือ INDEX+MATCH นั่นเอง (แต่ถ้าคุณมี Excel 365 ที่มีพวก XLOOKUP กับ XMATCH มันก็จะเจ๋งกว่าอ่ะนะ 555) ในบทความนี้ผมจะมาสอนการใช้งานเจ้า INDEX กับ MATCH แบบสั้นๆ ไม่ได้เจาะลึกอะไรมากมาย (ถ้าจะลงลึกเรื่อง INDEX อ่านได้ที่นี่) แต่สามารถเอาไปใช้ได้เลยละกันนะครับ เน้นเอาใจคนมีเวลาน้อย อิอิ ทำไม VLOOKUP อย่างเดียวจึงไม่เพียงพอ? ผมว่ามันเป็นเพราะ 2 สาเหตุใหญ่ๆ เลย คือ VLOOKUP ค้นหาแล้ววิ่งไปทางซ้ายไม่ได้ VLOOKUP จะเสี่ยงต่อการสูตรพังเมื่อมีการแทรกคอลัมน์ในตารางอ้างอิง (เพราะระบุ Col_index_num เป็นตัวเลขค่าคงที่ในสูตร) ด้วย 2…
-
สอนใช้ฟังก์ชัน IF และผองเพื่อน (IFS, SWITCH)
หนึ่งในฟังก์ชันที่ถูกใช้บ่อยที่สุดอันนึงในการเขียนสูตร Excel ก็คือฟังก์ชันที่ชื่อว่า IF ซึ่งมีความสามารถในการเขียนสูตรแบบมีเงื่อนไข ซึ่งเวลาผมสอนมักจะบอกเสมอว่า หากในหัวเรานึกถึงคำว่า “ถ้า” ก็ให้นึกถึง IF ได้เลย ซึ่งนอดีตผมเคยเขียนบทความเกี่ยวกับ IF ไว้แล้ว แต่วันนี้จะมา Refresh ให้ใหม่ พร้อมแนะนำเพื่อนๆ ของมันคือ IFS และ SWITCH ด้วย เอาจริงๆ ผมว่าฟังก์ชันนี้เป็นฟังก์ชันที่เข้าใจง่ายมากนะ มันมีความสามารถในการแสดงผลลัพธ์ 2 อย่าง นั่นคือ เราสามารถใช้สูตรแบบนึงถ้าเงื่อนไขเป็นจริง และเราใช้สูตรอีกแบบนึงถ้าเงื่อนไขเป็นเท็จได้ เช่น สมมติเราจะให้ขนมเป็นของรางวัลเด็ก โดยมีเงื่อนไขว่า จะให้จำนวนขนมตามอายุของเด็ก แต่ถ้าอายุเกิน 10 ปี จะได้ครึ่งนึงของอายุ (เศษปัดทิ้ง) เช่น อายุ 8 ขวบได้ขนม 8 ชิ้น แต่ถ้า 13 ขวบ จะได้…