Excel VBA Basic : แผนดีมีชัยไปกว่าครึ่ง 1

Excel VBA Basic : แผนดีมีชัยไปกว่าครึ่ง

ผมได้พูดถึงเรื่องของ 10 Concepts เริ่มต้นเรียนรู้การเขียนโปรแกรมด้วย Excel VBA ซึ่งเป็นการเกริ่นนำภาพรวมการใช้ VBA ใน Excel ไปแล้ว วันนี้ผมจะขอลงรายละเอียดถึง Step แรก นั่นก็คือ ขั้นของ งานวางแผน/ออกแบบ ซึ่งเป็นหัวใจที่สำคัญที่สุดของการเขียนโปรแกรมนั่นเอง งานวางแผนนี้ ถ้าจะเปรียบเทียบให้เห็นภาพเข้าใจง่ายๆ ผมอยากให้คุณจินตนาการตามนี้ครับ... เมื่อคุณมีผู้ช่วยเป็น Superman ถ้าในทีมของคุณมีพนักงานใหม่ที่ทำงานเร็วปรื๊ด (ระดับเดียวกับ Superman) เข้ามาช่วยงานคุณ ซึ่งพนักงานใหม่คนนี้ยอมให้คุณสั่งทำงานอะไรก็ได้ (ขอให้เป็นงานที่ทำใน Excel นะ...) ทำงานถึกแค่ไหนก็ยอม... มันคงสุดยอดไปเลยใช่มั้ยครับ? แต่ปัญหาติดอยู่อย่างเดียวครับ คือ พนักงานคนนี้ไม่เข้าใจในงานที่ทำแม้แต่น้อย คิดเองก็ไม่เป็น ทำตามคำสั่งได้อย่างเดียว แล้วคุณต้องบอกให้ละเอียดๆ ด้วยนะ บอกแค่ไหนทำแค่นั้นเลยเอ้า! ผมจะบอกว่า... ถ้าคุณหาวิธีสั่งเจ้าพนักงานใหม่ที่ทำงานตรงๆ ซื่อๆ ทื่อๆ คนนี้ได้ คุณก็สั่งงาน VBA ใน Excel ได้ครับ เพราะ VBA มันทำตัวแบบนี้เป๊ะเลย!…
10 Concepts เริ่มต้นเรียนรู้การเขียนโปรแกรมด้วย Excel VBA 2

10 Concepts เริ่มต้นเรียนรู้การเขียนโปรแกรมด้วย Excel VBA

การเขียนโปรแกรมให้ Excel ทำงานแบบอัตโนมัติด้วย VBA (Visual Basic for Application) เป็นหัวข้อทักษะขั้นสูงใน Excel ที่มีคนอยากเรียนรู้เยอะมากที่สุดตลอดกาลลลลลเลยล่ะ! ผมจึงได้รับคำเรียกร้องจากแฟนเพจจำนวนมาก ให้ทำเนื้อหาเกี่ยวกับ VBA ได้แล้ว ดังนั้นวันนี้จึงถึงเวลาที่ผมจะมาพูดถึงเรื่อง VBA ซะทีครับ ซึ่งทำทั้งที ก็เริ่มปูพื้นบานให้ใหม่ตั้งแต่แรกเลย ^^ VBA คืออะไร? มันก็คือการเขียนโปรแกรมแบบหนึ่ง ซึ่งแทนที่เราจะนั่งเอาเม้าส์หรือคีย์บอร์ดกดคำสั่ง Excel ทีละ Step ตามปกติ เราสามารถเขียนคำสั่งใน VBA เอาไว้ เพื่อให้ Excel สามารถทำงานต่างๆ ตามที่เรากำหนดได้เลย แถมยังใส่ความฉลาดให้มันได้ด้วยนะ เช่น ถ้าสถานการณ์เป็นแบบนี้ๆๆ จะให้มันทำงานยังไงต่อ (คล้ายๆ ใส่ฟังก์ชั่น IF นั่นแหละครับ แต่เป็นการใส่ให้กับชุดคำสั่งแทน) แนวทาง VBA ที่ผมจะสอน การเรียนรู้ VBA ตามแนวทางที่ผมจะสอน ต้องบอกก่อนว่าจะเป็นแนวทางที่ใช้ VBA เป็นตัวเสริมการทำงานเท่านั้น…
การกำหนด Custom Number Format 3

การกำหนด Custom Number Format

เราจะใช้ Custom Number Format เมื่อต้องการกำหนดรูปแบบตัวเลขที่ไม่มีให้เลือกในรูปแบบมาตรฐาน พูดง่ายๆ คือ ถ้าของสำเร็จรูปไม่มีให้ใช้ เราก็เลยต้อง Customize ขึ้นมาซะเองเลย ซึ่ง Custom Format มีวิธีการทำดังนี้ ให้เลือก Cell/Range ช่องที่ต้องการ จากนั้นคลิ๊กขวา => Format Cell => Custom หรือ เลือกช่องที่เราต้องการ จากนั้น กด Ctrl+1 => Custom จากนั้นไปตรง Type: แล้วพิมพ์รูปแบบที่ต้องการได้เลยครับ… แล้วไอ้รูปแบบที่เราต้องพิมพ์ลงไปคืออะไรล่ะ?? ผมจะบอกวิธีให้ครับ วิธีการเขียน Custom Number Format หากข้อมูลจริงๆ ที่เราพิมพ์ลงไป เป็นเลข  43210.525 แต่เราต้องการเปลี่ยนให้มีรูปแบบที่แสดงแตกต่างกันไปตาม Custom Format ซึ่งหลังจากเลือก Format Cell --> Custom…
การใช้ Advanced Filter 4

การใช้ Advanced Filter

บทความนี้คือส่วนหนึ่งของโครงการ ร่วมสร้าง “หนังสือคู่มือ Excel ที่เจ๋งที่สุด” ใครที่มี comment เพื่อแนะนำ ปรับปรุงหนังสือได้ คุณจะได้เครดิตในฐานะผู้ร่วมเขียน ลงในหนังสือที่จะพิมพ์จริงๆ ด้วย! อ่านรายละเอียด และดูสารบัญหนังสือ คลิ๊กที่นี่ Advanced Filter เป็นการกรองข้อมูลชั้นสูง ซึ่งมีความยืดหยุ่นในการกรองข้อมูลมากกว่า Filter แบบปกติ โดยเราสามารถกรองได้ทีละหลายๆ เงื่อนไขพร้อมๆ กัน นอกจากนี้ยังสามารถจัดเรียงคอลัมน์ใหม่ได้ตามต้องการ และตัดข้อมูลที่ซ้ำกันออกได้โดยอัตโนมัติด้วย องค์ประกอบสำคัญมีอยู่ 3 ส่วน คือ 1. ข้อมูลต้นฉบับ หรือ List Range 2.ข้อมูลที่เป็นเงื่อนไข หรือ Criteria Range, 3.ข้อมูลหลังถูก Filter วิธีการใช้ Advanced Filter ให้ไปที่ [Data] --> Sort & Filter --> Advanced จากนั้นจะมีเมนูดังนี้ Action สามารถเลือก…
เจาะลึกการใช้ MATCH คู่ซี้ค้นหาข้อมูลของ VLOOKUP และ INDEX 5

เจาะลึกการใช้ MATCH คู่ซี้ค้นหาข้อมูลของ VLOOKUP และ INDEX

หลังจากที่เราได้เรียนรู้การใช้งาน VLOOKUP ในบทความก่อนหน้านี้ไปแล้ว จะพบว่า เราจะต้องนั่งมองเอาเองว่าจะต้องใส่เลขอะไรใน col_index_num = VLOOKUP(lookup_value, table_array, col_index_num,[range_lookup]) ซึ่งมันมีข้อเสียที่สำคัญ นอกเหนือจากการที่จะต้องมานั่งนับจำนวนคอลัมน์เอง ก็คือ หากมีใครไปแทรกคอลัมน์ในบริเวณ table_array ของเราล่ะก็ ผลลัพธ์ที่ได้ก็จะผิดทันที!! ดังนั้นจะดีกว่าหรือไม่? หากเราจะปล่อยให้ Excel เป็นคนนับจำนวนคอลัมน์เอง ซึ่งฟังก์ชัน MATCH จะมาช่วยเราเรื่องนี้นั่นเองครับ การใช้ MATCH เพื่อหาลำดับตำแหน่งของค่าที่เราต้องการ หากเราเข้าใจการทำงานของฟังก์ชั่น VLOOKUP มาก่อนแล้ว จะพบว่าฟังก์ชั่น MATCH นั้นทำงานคล้ายคลึงกันมากครับ เพราะเจ้า MATCH นี้เอาไว้หาคำที่ต้องการเหมือนกัน แต่เจ้า MATCH นี้จะส่งลำดับของผลลัพธ์คำค้นหามาให้ ว่าอยู่ลำดับที่เท่าไหร่ในแถวหรือคอลัมน์ที่กำหนด = ได้ค่ากลับมาเป็นตัวเลข ซึ่งกำหนดทิศทางการ MATCH ได้ 2 ทิศ คือ แนวตั้งและแนวนอน (ได้แค่แนวตั้งแบบคอลัมน์เดียว ไม่ก็แถวนอนแถวเดียว) วิธีการใช้งาน =MATCH(lookup_value,…

การค้นหาข้อมูล และ Wildcard เครื่องหมายมหัศจรรย์

บทความนี้คือส่วนหนึ่งของโครงการ ร่วมสร้าง “หนังสือคู่มือ Excel ที่เจ๋งที่สุด” ใครที่มี comment เพื่อแนะนำ ปรับปรุงหนังสือได้ คุณจะได้เครดิตในฐานะผู้ร่วมเขียน ลงในหนังสือที่จะพิมพ์จริงๆ ด้วย! อ่านรายละเอียด และดูสารบัญหนังสือ คลิ๊กที่นี่ ปกติแล้วเวลาพูดถึงเรื่องการค้นหาข้อมูล คนส่วนใหญ่คงนึกถึงเครื่องมือ Find (Ctrl+F) ซึ่งผมก็ใช้มันบ่อยมากเช่นกัน แต่วันนี้ผมจะมาเปิดเผยความสามารถลับๆ ของมันที่หลายคนอาจยังไม่รู้ เป็นยังไงมาดูกันเลย! การใช้เครื่องมือ Find เพื่อค้นหาข้อมูล เครื่องมือนี้ เอาไว้ค้นหาสิ่งที่ต้องการ มีวิธีสั่งงานโดยให้ไปที่ [Home] --> Editing--> Find & Select --> Find… หรือ กด Ctrl+F ก็ได้ ง่ายกว่าเยอะ โดยที่ก่อนจะทำการค้นหา ถ้าเราเลือก Range เอาไว้ก่อน แล้วค่อยกด Ctrl+F มันจะหาเฉพาะ Range ที่เราเลือก (แต่ถ้าเลือกที่ Cell เดียว มันจะหาทั้งหมดเลย…
เจาะลึกฟังก์ชั่นการเงินใน Excel : ตอน 3 คำนวณการผ่อนเงินกู้ 6

เจาะลึกฟังก์ชั่นการเงินใน Excel : ตอน 3 คำนวณการผ่อนเงินกู้

ตอนนี้เป็นตอนที่ 3 ซึ่งเราจะมาเรียนรู้เกี่ยวกับการคำนวณการผ่อนเงินกู้กันครับ ใครที่ยังไม่ได้อ่าน 2 ตอนที่แล้วก็เชิญอ่านก่อนได้เลย เพราะจะเป็นพื้นฐานที่สำคัญครับ ตอนที่ 1 / ตอนที่ 2 การ Split Cash Flow ก้อนใหญ่ให้กลายเป็น Cash Flow ย่อยๆ ด้วย PMT ก่อนหน้านี้ เราได้เรียนรู้เกี่ยวกับการเคลื่อนย้าย Cash Flow ข้ามเวลาไปยังอดีต (PV) รวมถึงย้ายไปยังอนาคต (FV) ไปแล้ว คราวนี้เราจะมาเรียนรู้การทำงานฟังก์ชั่นใหม่ นั่นคือ PMT (Payment) ซึ่งจะเป็นตัวที่สามารถ Split Cash Flow จาก 1 ก้อนใหญ่ ให้กลายเป็นหลายๆ ก้อนย่อยในแต่ละ Period โดยที่แต่ละ Period มีจำนวนเงินเท่ากันด้วย PMT =PMT(rate,nper,pv,[fv],[type])…
เจาะลึกฟังก์ชั่นการเงินใน Excel : ตอน 2 วิเคราะห์แผนประกันชีวิต 7

เจาะลึกฟังก์ชั่นการเงินใน Excel : ตอน 2 วิเคราะห์แผนประกันชีวิต

ตอนนี้เป็นตอนที่ 2 ต่อจากการปูพื้นฐานด้านการเงิน ในตอนที่แล้ว ใครยังไม่ได้อ่าน สามารถไปอ่านได้เลยที่นี่ครับ ผลตอบแทน 200% จากประกันชีวิต ทำไมมันเยอะจัง? คุณเคยเจอคนมาเสนอขายประกันชีวิตมั๊ยครับ? ผมรับรองว่าคุณต้องเคยเจอแน่นอน (และคงไม่ต่ำกว่า 1 ครั้งในรอบ 1 ปีด้วย!! ) แต่สิ่งที่พวกเราเจอส่วนใหญ่ จะถูกนำเสนอว่าแผนประกันแบบโน้นแบบนี้ดีมากๆ ได้ผลตอบแทนหลายเท่าของเงินลงทุนของเรา ซึ่งถ้าเราเป็นคนที่ไม่ค่อยมีความรู้ด้านการเงิน คงจะตะลึงและคล้อยตามกับการนำเสนอของตัวแทน เพราะได้เงินตอบแทนกลับมามากกว่าเงินลงทุน ยังไงก็คุ้ม ได้เงินตั้ง 200-300% ดีกว่าเงินฝากประจำ หรือ เล่นหุ้นอีก แถมไม่เห็นมีอะไรน่าจะเสี่ยงตรงไหนเลย... ถ้าเราลองมาคิดดีๆ เลข 200% ที่ประกันชีวิตชอบโฆษณามันคือ เงินคืนทั้งหมด เทียบกับจำนวนเอาประกัน ซึ่งไม่รู้จะเทียบกันทำไม เพราะไม่ใช่สิ่งที่เราจ่ายซักหน่อย สิ่งที่เราจ่ายไปจริงๆ มันมากกว่าจำนวนเงินเอาประกันตั้งเยอะ... (ลองบวกดูสิ) จากความรู้ที่ผ่านมา เราได้รู้ว่า การได้จำนวนเงินตอบแทนมากกว่าเงินลงทุนไม่จำเป็นจะต้องเป็นการลงทุนที่ดีนะครับ เช่น สมมติผมลงทุนด้วยเงิน 1 แสนบาท แล้วมีแผนประกัน…
เจาะลึกฟังก์ชั่นการเงินใน Excel : ตอน 1 ปูพื้นฐานวิชาการเงิน 8

เจาะลึกฟังก์ชั่นการเงินใน Excel : ตอน 1 ปูพื้นฐานวิชาการเงิน

จากที่ผมได้ Post ใน Facebook ไปว่าจะสอนเรื่องการวิเคราะห์แผนประกันชีวิตด้วย Excel ผมมาคิดๆ ดูแล้ว ถ้าสอนแต่เรื่องนั้นอย่างเดียว คนอ่านก็คงได้แต่จำสูตรและวิธีใช้ แต่อาจไม่รู้ว่าตัวเองกำลังทำอะไรอยู่เลยก็ได้ ผมขอพูดไว้เลยว่า หากคุณไม่เข้าใจหลักการด้านการเงินระดับพื้นฐาน คุณไม่มีทางใช้ฟังก์ชั่นทางการเงินของ Excel ได้ดีหรอกครับ ส่งผลให้พลิกแพลงอะไรไม่ได้เลย... เพราะฉะนั้น ผมจะขอเขียนเรื่องนี้ยาวหน่อย และคงต้องแบ่งเป็นหลายตอน โดยเริ่มตั้งแต่ความรู้พื้นฐานด้านการเงินกันก่อนเลย แต่ไม่ต้องเป็นห่วงว่ามันจะเป็นเรื่องยาก เพราะผมจะช่วยสรุป Concept หลักๆ ให้คุณเข้าใจได้อย่างกระชับที่สุด ขอแค่เปิดใจลองทำความเข้าใจมันดู เมื่อพร้อมแล้วเรามาดูกันครับ เงิน 100 บาทในวันนี้ กับเงิน 100 บาทใน 10 ปีข้างหน้า ไม่ได้มีมูลค่าเท่ากัน ถ้าให้คิดเล่นๆ ผมให้คุณเลือกเอาว่าคุณจะเอา 100 บาทวันนี้เลย หรือต้องรอ 10 ปี เพื่อเอาเงิน 100 บาท? ถ้าคุณเป็นคนปกติทั่วไปน่าจะต้องเลือกเอา 100 บาทในวันนี้ใช่มั๊ยล่ะครับ…
เทคนิคลับสุดยอด VLOOKUP ข้อมูลเร็วขึ้น 100 เท่า! (ขึ้นไป) 9

เทคนิคลับสุดยอด VLOOKUP ข้อมูลเร็วขึ้น 100 เท่า! (ขึ้นไป)

เพื่อนๆ เคยทำงานที่ต้อง Lookup ข้อมูลเยอะๆ ใน Excel รึเปล่าครับ? หลายๆคนอาจใช้เทคนิคปรับโหมดการคำนวณจาก Automatic เป็น Manual (ที่ต้องกด F9 เพื่อคำนวณ) เพื่อให้มันคำนวณทีเดียวเมื่อเราเขียนสูตรทุกอย่างพร้อมแล้ว ที่ต้องทำอย่างนั้นเพราะว่ามันนานมากกกกก สิ่งที่ทำให้มันช้ามักจะเกิดขึ้นกับสูตรประเภทที่ต้อง Lookup ข้อมูล โดยเฉพาะอย่างยิ่งถ้ามีข้อมูลที่ต้อง Lookup เป็นหมื่นหรือเป็นแสนแถว บางทีรอหลายชั่วโมงก็ยังไม่เสร็จ และถ้าสังเกตให้ดี การ Lookup ที่ช้าจะเป็นการ Lookup ประเภท Exact Match เท่านั้น (ต้องเจอผลลัพธ์เป๊ะๆ) ซึ่งจะไม่เกิดอาการช้ากับการ Lookup แบบ Approximate Match ซึ่งจะเร็วกว่ามาก วันนี้ผมจะมาแนะนำเทคนิคที่จะทำให้ VLOOKUP แบบหาเป๊ะๆ แต่ไม่ต้องรอนานอย่างที่เคย ทำยังไงมาดูกันครับ (มีวีดีโออยู่ข้างล่าง) ทบทวนสูตร VLOOKUP กันซักนิด =VLOOKUP(lookup_value, table_array, col_index_num,[range_lookup])…