ทำอย่างไรเราถึงจะมี Logic ดีขึ้น? ตอนที่ 2 1

ทำอย่างไรเราถึงจะมี Logic ดีขึ้น? ตอนที่ 2

ในตอนที่แล้วเราได้เรียนรู้คร่าวๆ ไปแล้วว่าคนเราสามารถพัฒนา Logic ให้ดีขึ้นได้ ในบทความนี้เราจะมาฝึกแปลงความคิด หรือข้อความธรรมดาๆ ให้เป็นข้อความเชิง Logic กัน การอ้างเหตุผลที่เกี่ยวข้องกับใน Excel นั้น จะเป็นการอ้างเหตุผลประเภท Deductive Reasoning แปลไทยว่า การให้เหตุผลแบบนิรนัย ซึ่งก็คือการสรุปจากเหตุที่มีไปหาผล (หรือ Top-Down) ซึ่งจะเป็นแนวทางแบบเดียวกับวิชาคณิตศาสตร์ ซึ่งจะต่างกับ Inductive Reasoning ซึ่งใช้ผลลัพธ์ที่สังเกตจากหลายๆ เหตุการณ์ แล้วหารูปแบบหา Pattern จากนั้นนำมาสรุปเป็นกฎหรือสาเหตุ พูดง่ายๆ คือ สรุปจากผลไปหาเหตุ (หรือ Bottom-Up) ซึ่งจะเป็นแนวทางของวิชาวิทยาศาสตร์ ดังนั้นเราจะมาลงลึกด้วยการอ้างเหตุผลแบบ Deductive Reasoning กันครับ เพราะมันคือรูปแบบที่เราใช้กันใน Excel นี่แหละ วิธีการแปลงข้อความในชีวิตประจำวันให้เป็น TRUE/FALSE Statement เอาล่ะขั้นต่อไปที่เราจะต้องทำให้ได้ คือการหัดแปลงข้อความธรรมดาๆ ให้กลายเป็นตัวแปรสัญลักษณ์ทาง Logic ให้ได้ก่อน…
Power BI สถิติหวยย้อนหลัง 30 ปี 2

Power BI สถิติหวยย้อนหลัง 30 ปี

ไหนๆ วันนี้ก็จะมีหวยออกอีกแล้ว สำหรับคนที่ชื่นชอบการเสี่ยงโชคแบบนี้ จะเสี่ยงทั้งทีต้องมีสถิติหวยมาช่วยหน่อยจริงมั้ย? ว่าแล้วก็เลยเอาข้อมูลหวยย้อนหลัง 30 ปีมาทำ visual บน Power BI ซะเลยผลออกมาได้แบบนี้ครับ Edit 1 : เพิ่มวันในสัปดาห์ให้ เพื่อความศักดิ์สิทธิ์ ซึ่งข้อมูลนี้มันสามารถอัปเดทได้เรื่อยๆ ด้วยนะ 555 ปล. ผมเอาข้อมูลสถิติหวยมาจากที่นี่ครับ แล้วเราจะใช้งานสถิติหวยนี้ยังไงล่ะ? สมมติว่า ณ วันนี้ ( 17 มค. 2563) หวยกำลังจะออก แล้วเราสนใจเลข 2 ตัวบน... ข้อมูลเป็นแบบนี้ ถ้าดูย้อนหลัง 30 ปี พบว่า 2 ตัวบนที่ออกบ่อย คือ 77, 64, 11, 22, 24, 44, ...2 ตัวบนที่ออกน้อย…
วิธีเปรียบเทียบข้อมูล 2 ตาราง ว่ามีรายการไหนตรงกัน ไม่ตรงกัน? 3

วิธีเปรียบเทียบข้อมูล 2 ตาราง ว่ามีรายการไหนตรงกัน ไม่ตรงกัน?

สำหรับเรื่องการเปรียบเทียบข้อมูล 2 ตารางนี้ เป็นอีกเรื่องที่มีคนถามมาเยอะ แต่ในความเป็นจริงหลักการไม่มีอะไรไปกว่าการใช้สูตรกลุ่มพวก lookup ในการตรวจสอบแค่นั้นเอง และเพื่อให้มันเจ๋งยิ่งขึ้น ผมจะแสดงวิธีที่ 2 วิธีเลยละกัน นั่นคือ 1. ใช้สูตร 2. ใช้ Power Query ก่อนอื่น สมมติว่าผมมีข้อมูลดังนี้ วิธีการใช้สูตรในการเปรียบเทียบข้อมูล Q1: คนไหนมีชื่ออยู่ทั้ง 2 ตาราง? หากเราอยากรู้ว่าคนไหนบ้างที่มีชื่ออยู่ใน 2 ตาราง เราจะทำยังไง? แนวคิดในการเปรียบเทียบข้อมูลก็คือ เราจะหาชื่อในตาราง Math ทีละตัว โดยเอาแต่ละตัววิ่งหาในตาราง Excel ว่าเจอรึเปล่า? ถ้ามันเจอ ก็แปลงว่าตัวนั้นอยู่ทั้ง 2 ตาราง จริงมะ? ดังนั้นเราจะเขียนสูตรใน D4 เพื่อเอาคะแนนในอีกตารางได้ว่า =VLOOKUP(B4,G:H,2,FALSE) ปล. สูตรข้างบนเป็นฉบับคนขี้เกียจ ซึ่งเลือกทั้งคอลัมน์เลย เพื่อนๆ อาจเลือกเฉพาะที่มีข้อมูลก็ได้นะครับ…
วิธีการใช้ D-Function เช่น DSUM DCOUNT DMAX DGET 4

วิธีการใช้ D-Function เช่น DSUM DCOUNT DMAX DGET

ปกติแล้วฟังก์ชันที่ใช้ในการสรุปผลข้อมูลที่เรามักจะใช้กันก็จะหนีไม่พ้นพวก SUMIFS, COUNTIFS, MAXIFS, MINIFS อะไรพวกนี้ ซึ่งมีความสามารถในการสรุปข้อมูลตามเงื่อนไขได้ แต่ใน Excel ก็ยังมีฟังก์ชันอีกกลุ่มนึงที่สามารถสรุปข้อมูลตามเงื่อนไขได้เช่นกัน ซึ่งผมขอเรียกว่า D-Function ซึ่งย่อมาจาก Database Function เช่น เช่น DSUM DCOUNT DMAX DGET และในบทความนี้เราก็จะมาเรียนรู้เรื่องฟังก์ชันนี้กัน ว่ามันดียังไง? มีข้อจำกัดยังไง? ซึ่งผมเรียบเรียงเนื้อหาใหม่จากที่ผมเคยเขียนไว้ในหนังสือจอมเวทเทพเอ็กเซลนะครับ ขั้นตอนการใช้งาน D-Function มีอยู่ 3 ขั้นตอนหลักๆ คือ เตรียมข้อมูลให้อยู่ในรูปแบบของ Database (มีชื่อคอลัมน์ครบทุกอัน ไม่ซ้ำกัน)เตรียมเงื่อนไขให้อยู่ในรูปแบบตาราง (เหมือน criteria ของเครื่องมือ Advanced Filter เป๊ะ)เรียกใช้ D-Function ! โดยที่ D-Function ส่วนใหญ่จะมีองค์ประกอบดังนี้ =ชื่อ D-FUNCTION ที่ต้องการ (database,field,criteria)…
เรื่องประหลาดเกี่ยวกับวันที่ของ Excel vs Power Query 5

เรื่องประหลาดเกี่ยวกับวันที่ของ Excel vs Power Query

หลายๆ คนน่าจะพอรู้อยู่ว่าใน Excel นั้นจะมองวันที่เป็นแค่ Format ของค่าที่แท้จริงที่เป็นเลขจำนวนเต็มธรรมดา โดยเริ่มจากเลข 1 คือวันที่ 1/1/1900 (ค.ศ.) พอวันเพิ่มขึ้น 1 วัน ค่าที่แท้จริงก็จะเพิ่มขึ้น 1 หน่วยด้วย โดยวันที่สุดท้ายที่ Excel รองรับคือ 31/12/9999 (ค.ศ.) แต่ว่าใน Power Query นั้นรองรับวันที่วันแรกได้เก่าถึง 1/1/0001 (ค.ศ.) ซึ่งจะไม่สามารถแสดงออกมาเป็นวันที่หรือตัวเลขใน Excel ได้เลย ส่วนวันที่สุดท้ายก็รองรับถึง 31/12/9999 (ค.ศ.) เช่นเดียวกับ Excel ความผิดเพี้ยนอยู่ที่ต้นปี 1900 แต่ที่แปลกคือ ช่วงวันแรกๆ ของปี ค.ศ. 1900 นี่แหละ เจ้า Excel กับ Power Query จะมองเลขจำนวนเต็มเดียวกันเป็นคนละวัน!!…
วิธีสร้างปฏิทินใน Excel ด้วย Pivot Table ฉบับเก๋ไก๋ขึ้น (Excel Calendar with Pivot Table) 6

วิธีสร้างปฏิทินใน Excel ด้วย Pivot Table ฉบับเก๋ไก๋ขึ้น (Excel Calendar with Pivot Table)

ก่อนหน้านี้ผมได้ทำคลิปวีดีโอแสดงวิธีสร้างปฏิทินใน Excel (Excel Calendar) ด้วย Pivot Table แบบง่ายๆ กันไปแล้วตามนี้ https://youtu.be/dvsA13aRf0E ทีนี้ ผมได้ไปเห็นการสร้างปฏิทินด้วยสูตรของ Excel Wizard มา แล้วมันมีสีแดงตรงวันหยุดด้วย! ถ้างั้นผมก็จะทำให้ปฏิทินของผมมีวันหยุดบ้าง เดี๋ยวสวยสู้ไม่ได้ 555 Download ไฟล์ประกอบ ก่อนอื่นเราไปเตรียมตารางวันหยุดไว้ก่อน ซึ่งผมใช้ Power Query ทำไว้ให้ใน Excel ปฏิทินแล้ว โหลดได้ที่นี่เลย พอได้ไฟล์แล้วตอนแรกหน้าตาจะเป็นแบบนี้ ปรับ Field Value ให้เป็นวันที่จริงๆ เดี๋ยวเราจะเปลี่ยน Field ที่ใช้สรุปใน Pivot Table จาก Sum of เลขวัน ให้กลายเป็น SUM of Date แทนครับ ซึ่งแต่ละช่องจะหลายเป็นเลข 4…
วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม 7

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

ผมได้คำถามทาง Inbox ถึงวิธีการใช้ Excel สรุปตารางการใช้ห้องประชุม ว่าวันไหนมีประชุมช่วงไหนบ้าง โดยข้อมูลที่ได้คือเริ่มประชุมกี่โมง จบกี่โมง อยากรู้ว่าในช่วงเวลาไหนของวันไหน มีการใช้ห้องประชุมบ้าง โดยแบ่งช่วงทีละ 1 ชม. ผมคิดว่าคำถามน่าสนใจดี เลยขอเอามาทำเป็นบทความดีกว่าครับ ในบทความนี้ผมจะขอเพิ่มความซับซ้อนเข้าไปเล็กน้อย ก็คือ จะให้สามารถมีได้หลายห้องประชุมด้วย จะได้เหมือนจริงมากขึ้นนะครับ ใช้สูตรเพื่อเตรียมข้อมูลเบื้องต้น ก่อนอื่นเลย เรามีข้อมูลดิบดังนี้ ห้องประชุมStartFinish11/10/2019 5:251/10/2019 7:0011/10/2019 7:251/10/2019 7:5512/10/2019 7:202/10/2019 8:0012/10/2019 9:202/10/2019 10:0012/10/2019 10:202/10/2019 15:1021/10/2019 6:001/10/2019 9:0021/10/2019 7:051/10/2019 7:3522/10/2019 9:002/10/2019 14:55 โดยที่ข้อมูลบันทึกเป็นวันที่และเวลาได้ถูกต้องแล้วตามการตั้งค่าใน control panel ของตัวเองซึ่งของผมตั้งเป็น วัน/เดือน/ปี หากเราต้องการเวลาว่าประชุมไปกี่นาที นี่ง่ายมาก นั่นคือเอาเวลาจบ ลบ เริ่ม ซึ่งเลขที่ออกมาจะมีหน่วยเป็นวัน…
evaluate text to formula calculation excel

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

ผมได้รับคำถามเรื่องนี้มาพอสมควรว่า เราจะเปลี่ยนข้อความ เช่น 5x3 ให้กลายเป็นสูตร =5*3 แล้วได้ผลลัพธ์ออกมาเป็น 15 ได้ยังไง โดยไม่ต้องมาแก้ทีละอัน? ซึ่งจริงๆ แล้ว Excel สามารถทำได้ครับ มาดูวิธีกันเลย Step1 : เตรียม Name ขั้นตอนแรก ให้เราสร้าง Name ขึ้นมาใหม่ก่อน เพื่อเรียกใช้คำสั่ง EVALUATE ซึ่งเป็นคำสั่ง Macro สมัย Excel4.0 ที่จะช่วยเราได้ครับ ให้เราเลือกช่อง B1 ก่อน แล้ว Formula -> Define Name เพื่อสร้าง Name ว่า MyCal จากนั้นใน Refers to : ใส่สูตรใน Name ว่า =EVALUATE(A1)…
สอนทำไฟล์ Excel บริหาร Stock สินค้าคงคลัง : Version 3 ระบุช่วงเวลา 8

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

บทความนี้ก็จะเป็นการสอนใช้ Excel บริหาร Stock เป็นตอนที่ 3 แล้ว (ซึ่งเราค่อยๆ พัฒนามันขึ้นมาเรื่อยๆ) และในตอนนี้เราจะทำให้มันสามารถดูข้อมูลเฉพาะมนช่วงเวลาที่เราสนใจได้ครับ ในไฟล์ version ก่อนหน้านี้เราได้มีการแยกตารางซื้อขายออกมาเป็นคนละตาราง เพื่อเพิ่มความยืดหยุ่นให้มากขึ้นไปแล้ว มาวันนี้เราจะสามารถกำหนดช่วงเวลาเพื่อที่จะสามารถดูข้อมูลเฉพาะในนช่วงที่ระบุได้ด้วย สรุปข้อมูลแต่ละตาราง ก่อนจะไปเขียนสูตรเพิ่ม ให้แก้ตัวเลขเล็กน้อย ในชีทตารางซื้อ (TableBuy) ดังนี้ ตารางขาย เดิมชื่อ TableSale ผมขอเปลี่ยนชื่อเป็น TableSell (เพราะมันจะได้เข้ากับ TableBuy หน่อย 555) แต่ข้อมูลยังเหมือนเดิม คือ กลับมาในชีทตารางสรุป ให้เตรียมตารางดังนี้ครับ จะเห็นว่าในตารางมีการเปลี่ยนชื่อคอลัมน์บางส่วน และเพิ่มคอลัมน์คงเหลือให้มี 2 แบบ คือ คงเหลือสิ้นงวดที่ระบุ กับคงเหลือล่าสุดจริงๆ (เพื่อเอาไว้ reorder เวลาของต่ำกว่าจุดที่ระบุ) นอกจากนี้ส่วนที่อยู่เหนือตารางจะเห็นว่าเรามีการเพิ่มช่องวันที่เริ่มต้น สิ้นสุด ให้กรอกวันที่ที่ต้องการได้ด้วย ซึ่วให้กรอกวันที่แบบในตัวอย่างไปก่อน ส่วนข้อมูลล่าสุด ในช่อง…
excel inventory management

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

จากที่เราทำไฟล์ Excel บริหาร Stock แบบง่ายสุดๆ (version 1) ไปแล้วในบทความก่อน คราวนี้เราจะมาทำให้ไฟล์มันเจ๋งขึ้นกว่าเดิม โดยการแยกตารางซื้อขายออกมาให้ชัดเจน จะได้บันทึกข้อมูลง่ายขึ้นครับ ก่อนอื่นเราเปลี่ยนชื่อ sheet เดิมเป็น summary แล้วสร้าง Sheet เพิ่ม 2 อัน คือ ซื้อ กับ ขาย Sheet ซื้อ : เตรียมคอลัมน์ดังนี้ วันที่ซื้อ, Product, จำนวนซื้อ จากนั้นแปลงเป็น Table ซะ โดยกด Ctrl+T แล้วเลือกเรื่องหัวตารางด้วยว่ามีหรือไม่ Data Validation เดี๋ยวเราจะใส่ Data Validation ลงไปในแต่ละช่อง จะได้กรอกข้อมูลไม่ผิด วันที่ เลือกข้อมูลช่องวันที่ตามรูป แล้วไปที่ Data -> Data…