Author: Sira Ekabut

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

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

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

    เงิน 100 บาทในวันนี้ กับเงิน 100 บาทใน 10 ปีข้างหน้า ไม่ได้มีมูลค่าเท่ากัน

    clock-money

    ถ้าให้คิดเล่นๆ ผมให้คุณเลือกเอาว่าคุณจะเอา 100 บาทวันนี้เลย หรือต้องรอ 10 ปี เพื่อเอาเงิน 100 บาท? ถ้าคุณเป็นคนปกติทั่วไปน่าจะต้องเลือกเอา 100 บาทในวันนี้ใช่มั๊ยล่ะครับ

    นั่นแปลว่า ถ้าจำนวนเงินเท่ากัน เงินในปัจจุบัน (Present Value :PV) จะมีค่ากับคุณมากกว่าเงินในอนาคต (Future Value :FV) หรือในทางกลับกัน จะบอกได้ว่า เงินในอนาคตจะถูกลดทอนมูลค่าลง (Discount) เมื่อนำมาเทียบกับค่าของเงินในปัจจุบันนั่นเอง เราเรียกปรากฏการณ์นี้ว่า  Time Value of Money ครับ

    คำถามจะเริ่มยากขึ้น ถ้าจำนวนเงินไม่เท่ากัน เช่น คุณจะเอา 100 บาทวันนี้เลย หรือต้องรอ 10 ปี เพื่อเอาเงิน 200 บาท แบบนี้เริ่มคิดมากขึ้นแล้วใช่มั๊ยครับ? แปลว่า คุณต้องมีวิธีคิดแล้วว่าถ้าต้องรอขนาดนั้น ต้องได้เท่าไหร่ถึงจะคุ้ม

    เงินในอนาคตจะถูก Discount ลงไปเท่าไหร่?

    ถ้าผมจะบอกว่า “ผมบอกไม่ได้ มันแล้วแต่คุณ” ล่ะครับ… ผมไม่ได้กวนนะ ทั้งนี้เพราะว่า การที่เงินแต่ละปีมีค่าไม่เท่ากัน เป็นเพราะเกิดจาก “ผลตอบแทนที่ต้องการหรือคาดหวังจากการลงทุน” (Required rate of return) ซึ่งเป็นสิ่งที่ขึ้นอยู่กับแต่ละบุคคลนั่นเอง

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

    มันจึงมีชื่อเรียกหลายชื่อ ทั้ง Required rate of return, Interest Rate, Discount Rate, Hurdle Rate ทุกอันคือสิ่งเดียวกัน ยกตัวอย่างเช่น ถ้าเราต้องลงทุนในโปรเจคอะไรซักอย่างที่มีความเสี่ยงสูง เราคงต้องอยากได้ผลตอบแทนสูงๆ มาชดเชยความเสี่ยงนั้นใช่มั๊ยครับ? นั่นแหละคือ Required rate of return ของเรา ซึ่งแต่ละคนไม่จำเป็นต้องการเท่ากัน

    ใครมีทางเลือกในชีวิตเยอะ อาจต้องการ Required rate of return สูงกว่า เพราะถ้าโปรเจคนี้ผลตอบแทนไม่ดีพอ เค้าก็สามารถไปลงทุนอย่างอื่นที่ผลตอบแทนดีกว่าได้ ต่างจากคนที่ไม่ค่อยมีทางเลือก ซึ่งอาจมีแค่เงินฝากประจำเป็นทางเลือกสำรอง ซึ่งเป็นทางเลือกที่ผลตอบแทนค่อนข้างต่ำ

    การวิเคราะห์เรื่อง Time Value of Money ด้วยการวาดรูป

    เวลามีเรื่องของ Time Value of Money ขึ้นมาเมือไหร่ สิ่งแรกที่ผมอยากจะให้เราคิดเลย ก็คือ การคิด หรือวาดรูปออกมาเป็นภาพ (เรียกว่า Cash flow Diagram) ซึ่งการคิดเป็นภาพเป็นพื้นฐานที่ดีในการที่เราจะแปลงภาพเหล่านี้เป็นตารางใน Excel ภายหลัง

    ซึ่งเราจะวาดภาพที่มีองค์ประกอบดังนี้

    • เส้นแกนนอนเป็นเวลา โดยแบ่งออกเป็นแต่ละช่วง แล้วแต่โจทย์ว่ามีการคิดดอกเบี้ยช่วงหนึ่งๆ นานเท่าไหร่
      • เราสามารถระบุจุดของเวลาได้ 2 แบบ คือ Begin of Period กับ End of Period แต่ปกติแล้วจะนิยมเขียนเป็น End of Period มากกว่า
      • เวลาที่ Period 0 ที่เป็นจุดเริ่มต้น คือเวลาปัจจุบันที่เริ่มมี Action อะไรบางอย่าง เช่น การลงทุนเงินของเรา เป็นต้น เช่น เริ่ม 1 พค. 57
      • เมื่อเวลาผ่านไป 1 Period (เช่น 1 ปี) ก็จะหลายเป็น Period ที่ 1 คือวันที่ 1 พค. 58 เป็นต้น
    • ลูกศรชี้ขึ้นแทนเงินที่ได้รับ (เงินเป็น +)
    • ลูกศรชี้ลงแทนเงินที่จ่ายออกไป (เงินเป็น -)
    • มีการระบุผลตอบแทนที่คาดหวัง หรือ อัตราดอกเบี้ยที่จะใช้ในแต่ละช่วง ว่ามีค่าเท่าไหร่

    ตัวอย่าง

    ถ้าคุณลงทุน 100 บาท ใน Project A แล้วคาดว่าอีก 2 ปีข้างหน้าจะได้เงินคืนมา 120 บาท โดยมี Discount Rate ที่ 5% แบบนี้เราจะเขียนรูปได้ดังนี้

    CF-01

    คำศัพท์พื้นฐานเกี่ยวกับสูตรทางการเงินของ Excel

    • PV = Present Value คือ หามูลค่าเงินในปัจจุบัน
    • FV = Future Value คือ หามูลค่าเงินในอนาคต
    • Rate = อัตราดอกเบี้ยคาดหวัง หรือ Discount Rate
    • Nper = จำนวน Period ที่จะทำการเคลื่อนย้าย Cash Flow
    • PMT = การแบ่งเงินเพื่อผ่อนชำระเป็นงวด งวดละเท่าๆ กัน (เช่น การคำนวณเงินกู้ซื้อบ้าน) ถ้าไม่ได้มีการผ่อนก็ใส่เลข 0 ไป

    PV

    ดังนั้น หากเราอยากจะรู้ว่าเงิน 120 บาทใน 2 ปีข้างหน้า (Future Value) จะมีมูลค่าในปัจจุบัน (Present Value) เท่าไหร่? เราสามารถใช้ฟังก์ชั่น PV ใน Excel มาช่วยได้

    • =PV(rate,nper,pmt,[fv],[type])
    • =PV(5%,2,0,120) = -108.84

    นั่นหมายถึงว่า เงิน 120 บาทใน 2 ปีข้างหน้า ถ้า Discount กลับมาที่เวลาปัจจุบันจะมีมูลค่า 108.84 บาท

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

    • =PV(5%,2,0,-120) = 108.84
    CF-02

    นั่นแปลว่าผลตอบแทนการลงทุนมีมูลค่า 108.84 บาท เทียบกับการลงทุน 100 บาท เมื่อนำมาหักลบกัน จะได้สิ่งที่เรียกว่า Net Present Value หรือ NPV ซึ่งก็เป็นอีกฟังก์ชั่นหนึ่งของ Excel เช่นกัน ซึ่งในที่นี้ NPV = 8.84 บาท ซึ่งถ้า NPV > 0 แปลว่าคุ้มค่า สรุป NPV คือเอา Cash Flow ทั้งหมด ย้ายมา ณ เวลาปัจจุบัน แล้วหา Cash flow สุทธิ

    CF-03

    NPV ใน Excel

    แต่ทว่าฟังก์ชั่น NPV ใน Excel ไม่ได้มีความหมายอย่างเดียวกับวิชา Finance ซะทีเดียว เพราะสิ่งที่มันทำ คือ เป็นการ ย้าย Cash flow สุทธิในอนาคตทุกตัวกลับมาที่ปัจจุบัน แต่มันยังไม่ได้หาค่าสุทธิกับ Cash flow ที่อยู่ Period ที่ 0 ให้

    ทั้งนี้มีข้อควรระวัง 2 ข้อ คือ

    • ปีไหนไม่มี Cash Flow จะต้องใส่เลข 0 ลงไปด้วย ห้ามปล่อยเป็นค่าว่าง ไม่งั้นมันจะคิดผิด
    • วิธีการ input ค่าของฟังก์ชั่น NPV จะต้องเริ่มลากจาก Period ที่ 1 เป็นต้นไป ห้ามลากตั้งแต่ Period ที่ 0

    ผิด เพราะลืมใส่ 0 ลงไปในปีที่ไม่มี Cash Flow

    CF-04

    ผิด เพราะลากคลุม Cash Flow ปีที่ 0 ไปด้วย

    CF-05

    ถูกต้อง

    CF-06

    จากนั้นค่อยเอาผลจากสูตร NPV มาสุทธิกับ Cash Flow ปีที่ 0 ภายหลัง ก็จะได้ NPV จริงๆ เป็น 8.84 นั่นเอง

    FV

    หากเราลองปรับค่าการลงทุนในปัจจุบัน ให้เป็นเงินในอนาคตบ้าง แบบนี้ก็ทำได้เช่นกัน โดยใช้สูตร FV ดังนี้

    • =FV(rate,nper,pmt,[pv],[type])
    • =FV(5%,2,0,100) = -110.25 บาท
    CF-07

    ซึ่งการตีความผลลัพธ์จะได้ว่า มูลค่าเงินลงทุน น้อยกว่าผลตอบแทนที่ได้รับในเวลาเดียวกัน แปลว่าเป็นการลงทุนที่คุ้มเช่นกัน แต่เราจะไม่เรียกมันว่า NPV แล้ว เพราะไม่ใช่มูลค่าในปัจจุบัน

    วิธีนี้ มักใช้กับคำถามที่ว่า เงินของฉันในตอนนี้ จะมีมูลค่าเท่าไหร่ในอีก xxx ปีข้างหน้า ซึ่งถ้า Discount rate เยอะๆ เพื่อนๆ จะตกใจในมูลค่าของมันเลยทีเดียว ดังคำกล่าวของไอน์สไตน์ที่ว่า พลังแห่งการคิดดอกเบี้ยทบต้น เป็นสิ่งที่ทรงพลังที่สุด เช่น ถ้าคุณมีเงิน 100 บาท แล้วไปหาแหล่งลงทุนที่ให้ผลตอบแทนได้ 10% ทุกปี ในอีก 60 ปีข้างหน้าเงินนี้จะมีมูลค่าถึง =FV(10%,60,0,-100) = 30,448.16 บาท เลยล่ะ!!

    แล้วถ้าจะหาว่า interest rate เท่าไหร่ที่ทำให้คุ้มค่าพอดี

    หลายคนคงเริ่มสงสัยแล้ว ว่า Discount Rate ที่เท่าไหร่ ที่จะทำให้การลงทุนนี้ “คุ้มค่าพอดี” มันก็คือ Discount Rate ที่ทำให้ NPV เป็น 0 พอดีนั่นเอง แต่เรามีคำศัพท์เรียกสิ่งนี้โดยเฉพาะว่า IRR หรือ Internal Rate of Return นั่นเอง ซึ่งเป็นสิ่งที่ Excel มีฟังก์ชั่นคำนวณให้โดยเฉพาะเช่นกัน

    IRR

    =IRR(values,guess)

    ในช่อง Value ให้เราใส่ Range ที่เป็น Cash Flow สุทธิ ตั้งแต่ปีที่ 0 ถึงปีสุดท้ายเข้าไปเป็น Range

    ทั้งนี้มีข้อควรระวัง 2 ข้อ คือ

    • ปีไหนไม่มี Cash Flow จะต้องใส่เลข 0 ลงไปด้วย ห้ามปล่อยเป็นค่าว่าง ไม่งั้นมันจะคิดผิด
    • วิธีการ input ค่าของฟังก์ชั่น IRR จะต้องเริ่มลากจาก Period ที่ 0 เป็นต้นไป ไม่เหมือน NPV

    ผิด เพราะลืมใส่ 0 ลงไปในปีที่ไม่มี Cash Flow

    CF-08
    CF-09

    สรุปเกณฑ์การตัดสินใจการลงทุน Project

    คุณสามารถใช้เกณฑ์การตัดสินใจว่าจะลงทุนสิ่งที่เราสนใจ หรือ Project หรือไม่ อยู่ 2 แนวทาง คือ

    1. หาอัตราผลตอบแทนของ Project ด้วย IRR แล้วเทียบกับผลตอบแทนคาดหวัง IRR มากกว่าผลตอบแทนคาดหวังก็น่าลงทุน แต่ถ้ามีหลาย Project ที่ IRR มากกว่า แล้วมีเงินลงทุนจำกัด ก็ให้เลือก Project ที่ IRR สูงสุด
    2. ใช้ผลตอบแทนคาดหวัง ในการ Discount มูลค่าเงินที่จะได้ในอนาคต แล้วหาค่า NPV ถ้ามากกว่า 0 ก็น่าลงทุน

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

  • แนวทางแก้ไขเวลา Excel สูตรค้าง ไม่ทํางาน ไม่ยอมคำนวณ เอ๋อ…

    แนวทางแก้ไขเวลา Excel สูตรค้าง ไม่ทํางาน ไม่ยอมคำนวณ เอ๋อ…

    หลายๆครั้งเวลาเพื่อนๆทำงานใน Excel อาจพบกับอาการที่ Excel สูตรค้าง ไม่ทำงาน หรือ ที่ผมเรียกว่า Excel เอ๋อๆ ซึ่งอาจมีหลายอาการ เช่น

    สูตรค้างแบบผลลัพธ์เป็นค่าเดิมตลอด

    การคำนวณไม่ยอม Update เช่น ค่าที่อ้างอิงเปลี่ยนไปแล้ว แต่ค่าในผลลัพธ์ไม่ยอมเปลี่ยน

    ep02-001

    สูตรค้างแบบค้างเครื่องหมายเท่ากับไว้เลย

    มีการค้างเครื่องหมายเท่ากับไว้เลย เช่น =30*5 ดันไม่ยอมคำนวณออกมาเป็น 150 แต่ขึ้นค้างเป็น =30*5 อยู่อย่างนั้น

    ep02-000

    วิธีแก้ version คลิป VDO

    วิธีแก้ไขอาการ Excel สูตรไม่ทํางาน ไม่ Update ค่า

    1. ลองกด F9 เพื่อ Re-Calculate ดูก่อน เพราะบางทีเราอาจไปเผลอตั้งค่าให้ Excel ทำ Manual Calculate เมื่อกด F9 เท่านั้น (ไม่ Auto calculate)
      • ซึ่งถ้ากด F9 แล้วหาย แล้วอยากจะให้ทำ Auto Calculate ต้องไปตั้งค่าใน Excel option => Formula => Calculation Options => Automatic ซึ่ง
      • หากกด F9 แล้วไม่หาย ให้ลองกด Full Calculate โดย Ctrl+Alt+Shift+F9 ดูครับ
    2. บางทีสูตรที่เขียนอาจเป็น Array Formula ซึ่งต้องกด Ctrl+Shift+Enter ในการใส่สูตร แล้วจะมีเครื่องหมายปีกกาโผล่มาใน Formula Bar แต่เราดันไปเผลอกด Enter ธรรมดา สูตร Array Formula เลยไม่ทำงาน ค่าที่ได้จึงผิด ก็เป็นไปได้ครับ

    วิธีแก้ไขอาการ Excel ค้างเครื่องหมาย =

    อาการนี้สาเหตุมักเกิดจากมีการปรับ Format เป็น Text เอาไว้ ดังนั้น Excel เลยมองเครื่องหมาย = ว่าเป็นข้อความ ไม่ใช่สูตร ดังนั้นวิธีแก้ คือ

    ให้ลอง Clear Formats โดยไปที่ [Home] => Editting => Clear ==> Clear Formats ดูก่อน แล้วลองเขียนสูตรใหม่

    ถ้ายังไม่หาย ให้ Replace = ด้วย =  โดยไปที่ [Home] => Editting =>Find & Select => Replace หรือกด Ctrl+H
    แล้วเลือกแทนที่เครื่องหมาย = ด้วยเครื่องหมาย = อีกที น่าจะหายเอ๋อแน่นอน

    ep02-002

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

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

    Edit : ผมมีเขียนบทความใหม่ไว้ ซึ่งเนื้อหาครอบคลุมและมีเครื่องมือที่อัปเดทกว่านี้ หากสนใจไปอ่านได้ที่นี่ ครับ ^^

    เพื่อนๆ เคยทำงานที่ต้อง Lookup ข้อมูลเยอะๆ ใน Excel รึเปล่าครับ? หลายๆคนอาจใช้เทคนิคปรับโหมดการคำนวณจาก Automatic เป็น Manual (ที่ต้องกด F9 เพื่อคำนวณ) เพื่อให้มันคำนวณทีเดียวเมื่อเราเขียนสูตรทุกอย่างพร้อมแล้ว ที่ต้องทำอย่างนั้นเพราะว่ามันนานมากกกกก

    สิ่งที่ทำให้มันช้ามักจะเกิดขึ้นกับสูตรประเภทที่ต้อง Lookup ข้อมูล โดยเฉพาะอย่างยิ่งถ้ามีข้อมูลที่ต้อง Lookup เป็นหมื่นหรือเป็นแสนแถว บางทีรอหลายชั่วโมงก็ยังไม่เสร็จ และถ้าสังเกตให้ดี การ Lookup ที่ช้าจะเป็นการ Lookup ประเภท Exact Match เท่านั้น (ต้องเจอผลลัพธ์เป๊ะๆ) ซึ่งจะไม่เกิดอาการช้ากับการ Lookup แบบ Approximate Match ซึ่งจะเร็วกว่ามาก

    วันนี้ผมจะมาแนะนำเทคนิคที่จะทำให้ VLOOKUP แบบหาเป๊ะๆ แต่ไม่ต้องรอนานอย่างที่เคย ทำยังไงมาดูกันครับ 100xVLOOKUP

    ทบทวนสูตร VLOOKUP กันซักนิด

    =VLOOKUP(lookup_value, table_array, col_index_num,[range_lookup])

    =VLOOKUP(ค้นหาคำนี้,จากคอลัมน์แรกในตารางนี้,เมื่อเจอแล้วให้เอาค่าในคอลัมน์ที่ xx ของตารางกลับมา (นับซ้ายไปขวา), [ใช้โหมด Lookup แบบ Approximate Match หรือ Exact Match])

    VLOOKUP มี 2 โหมดด้วยกัน เรามาดูกันว่าทั้งสองแบบต่างกันยังไง?

    • Approximate Match (ตั้งค่า Range Lookup เป็น TRUE หรือ 1) แปลว่า แม้ไม่เจอค่าที่ต้องการหาเป๊ะๆ ก็ยังส่งค่าบางอย่างกลับมาได้ โดยมีหลักการดังนี้
      • ทำงานเร็วมาก เพราะทำงานด้วยการค้นหาแบบ Binary Search (ลองอ่านข้างล่างสุดดูวิธีการทำงานได้ แต่ไม่เข้าใจไม่เป็นไรครับ)
      • มีข้อจำกัดคือ ข้อมูล Reference (คอลัมน์แรกของ table_array) ต้องเรียงน้อยไปมากเท่านั้น (ไม่งั้นผลลัพธ์จะมั่ว)
      • ถ้าหากข้อมูลเรียงจากน้อยไปมากแล้ว : มันจะวิ่งหาในคอลัมน์แรกใน table_array ลงจากบนลงล่าง จนเจอข้อมูลที่มากกว่า lookup_value แล้วเด้งกลับขึ้นข้างบน 1 ช่อง
      • จากนั้นจะเอาค่าในคอลัมน์ที่ col_index_num กลับมา
    • Exact Match (ตั้งค่า Range Lookup เป็น FALSE หรือ 0) แปลว่า ต้องเจอค่า/คำที่ต้องการเป๊ะๆ จึงจะส่งค่ากลับมา ถ้าไม่เจอจะ Error เลย
      • ทำงานช้า(มาก) เพราะทำงานด้วยการค้นหาแบบ Linear Search (ไม่เข้าใจไม่เป็นไรครับ)
      • ข้อดีคือ ข้อมูล Reference (คอลัมน์แรกของ table_array) ไม่จำเป็นต้องเรียงจากน้อยไปมาก
      • วิ่งหาในคอลัมน์แรกใน table_array ลงจากบนลงล่าง จนเจอข้อมูลเป๊ะๆ ถ้าไม่เจอขึ้น Error

    ซึ่งบ่อยครั้งเราต้องการได้ผลลัพธ์จากการ Lookup แบบเป๊ะๆ มากกว่า (คือถ้าไม่เจอก็ให้ขึ้น Error ไปเลย) เราจึงมักจะเลือกที่จะใช้งาน VLOOKUP แบบ Exact Match เสมอๆ เพราะถ้าเลือกใช้แบบ Approximate Match ข้อมูลก็จะมั่วเลย เพราะไปดึงข้อมูลจากบรรทัดอื่นมาแสดง

    เคล็ดลับอยู่ตรงนี้แหละครับ!! เราจะไม่ใช้สูตร Exact Match เพราะมันช้า เราจะใช้ VLOOKUP แบบ Approximate Match มาช่วยแทนเพราะเร็วกว่า

    แต่จะกำจัดผลลัพธ์ที่ไม่ต้องการออกไปได้ยังไง มาดูกัน

    Concept ของเทคนิคลับ ทำยังไงให้เร็ว!?

    ก่อนอื่น เราต้องเรียงคอลัมน์แรกในตารางอ้างอิงจากน้อยไปมากก่อน จึงจะใช้สูตร VLOOKUP แบบ TRUE ได้

    จากนั้นเราก็สามารถ แต่ใส่เงื่อนไขเพื่อเช็คว่า “ถ้าเอาคอลัมน์แรกกลับมา มันจะเท่ากับ Lookup_value ที่ใช้คนหารึเปล่า?”

    • ถ้าเท่ากันแสดงว่าใช้ได้ ให้เอาค่าจากคอลัมน์ที่ต้องการ ( คอลัมน์ที่ 3 )กลับมา
    • ถ้าไม่เท่ากัน แสดงว่าใช้ไม่ได้ ก็ให้ขึ้น Error ไป

    เงื่อนไขที่เช็ค =VLOOKUP(lookup_value, table_array, 1, TRUE)=lookup_value
    (ซึ่งจะให้ผลลัพธ์เป็น TRUE/FALSE)

    • กรณีใช้ได้ (จริง) : =VLOOKUP(lookup_value, table_array, 3, TRUE)
    • กรณีใช้ไม่ได้ (เท็จ) : ให้ขึ้นข้อความ Error เช่น = NA() หรือจะขึ้น =”Error” หรือ =”ไม่เจอจ้า” ก็ได้ครับ…
    VLOOKUP แบบเร็ว 100 เท่า

    สรุปวิธีเขียนสูตร VLOOKUP ให้เร็วขึ้น 100 เท่า!! (แต่ต้องเรียงคอลัมน์แรกของ table_array ก่อน)

    =IF(VLOOKUP(lookup_value, table_array, 1, TRUE)=lookup_value,
    VLOOKUP(lookup_value, table_array, col_index_num, TRUE),NA() )
    
    
    
    
    

    เพียงแค่นี้ สูตร VLOOKUP คุณก็จะเร็วขึ้นสุดๆ จนเทียบกับของเดิมไม่ได้เลย Enjoy VLOOOKUP นะครับ!!

  • แฉ 10 ความลับของ Excel ภาค 2 : เรื่องง่ายๆ ที่หลายคนไม่รู้

    แฉ 10 ความลับของ Excel ภาค 2 : เรื่องง่ายๆ ที่หลายคนไม่รู้

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

    เมื่อพร้อมแล้วไปลุยกันเลย!

    1. Copy Paste ง่ายๆ ด้วยการกดคลิ๊กขวาแล้วลากเม้าส์

    right-click-menu

    รู้หรือไม่ว่า เราสามารถเลือก Range ของข้อมูลที่ต้องการ จากนั้นเลื่อนเม้าไปที่ขอบของ Range ที่เราเลือกไว้ (มันจะกลายเป็นรูปลูกศรชี้ 4 ทิศ พร้อมกัน ที่ปกติเราเอาไว้ Move ข้อมูล) แล้วกดคลิ๊กขวาค้างไว้่ แล้วลากไปยังเป้าหมายที่ต้องการ จากนั้นจะมีเมนูขึ้นมาให้เพียบเลย (คล้ายๆตอนกด Paste Special) ซึ่งวิธีนี้มีข้อดีคือ จะเห็นชัดเจนก่อนทำการ Paste ว่า ช่องเป้าหมายจะครอบคลุมถึงแค่ไหน

    2. Copy แล้ว Paste Value Only แบบเร็วสุดๆ ด้วย Ctrl+C => Ctrl+V => Ctrl =>V

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

    ctrl-menu
    1. เลือก Range ต้นฉบับแล้วกด Ctrl+C เพื่อ Copy
    2. เลือกช่องปลายทางแล้วกด Ctrl+V เพื่อ Paste
    3. กด Ctrl เพื่อเข้าสู่ เมนู Paste Options
    4. กด V เพื่อ Paste Values (กดตัวอื่นๆก็ได้ ลองเลื่อนดู Shortcut เอาครับ)

    ที่นำเสนอแบบนี้เพราะว่าจำง่ายมาก คือ Ctrl+V => Ctrl => V แถวเร็วสุดๆด้วย ยังไงลองใช้ดูนะครับ

    3. สร้างตาราง Pivot Table ที่ Filter ตัวเลือกแตกต่างกันโดยอัตโนมัติ

    report-filter
    report-filter2

    เวลาเรา Pivot ข้อมูล แล้วมีการใช้ Filter ข้อมูลโดย อยากให้ 1 ตาราง Pivot เป็นของแต่ละ Product

    ปกติแล้วเราก็อาจจะใช้วิธี Pivot ข้อมูลแล้วเลือก Filter ทีละอัน แล้ว Copy เป็นตารางใหม่ เช่น เลือก Product ของเล่น 1 ที แล้ว Copy Pivot ออกมาเป็นอีกตาราง แล้วค่อยเปลี่ยน Filter เป็น Product เครื่องใช้ไฟฟ้า.. ทำแบบนี้ไปเรื่อยๆ เป็นต้น (ถ้ามี item เป็นสิบอันนี่เหนื่อยเลยครับ)

    ผมจะบอกว่า Excel มีเครื่องมือทำรายงานแบบนี้ให้โดยอัตโนมัติ โดยทำตามนี้

    1. ไปกดที่ Ribbon Options ของ Pivot Table (ต้องกดเลือกบริเวณที่เป็น Pivot ก่อน)
    2. ติ๊กปุ่มสามเหลี่ยมใต้ที่ตั้งชื่อตาราง Pivot
    3. เลือก Show Report Filter Page
    4. เลือก Field ที่ต้องการ Filter
    5. Report จะถูกสร้างขึ้นโดยอัตโนมัติ โดยแยก 1 ตาราง ต่อ 1 sheet (มีการตั้งชื่อ Sheet ให้เป็นแต่ละ item ของสิ่งที่เรา Filter ให้ด้วย)

    4. ปิดคำสั่ง Generate GetPivotData

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

    getpivotdata

    ปกติเวลาเราเขียนสูตร แล้วเข้าไปคลิ๊กในบริเวณที่เป็นตาราง Pivot Table เราอาจจะเห็นสูตรพิลึกๆ ขึ้นมาอย่างเช่น
    =GETPIVOTDATA(“Sum of xxx”,$A$3,”yyy”,zzz,”aaa”,”bbb”) ซึ่งทำให้เกิดปัญหาว่าเรา Copy สูตรไปที่อื่น มันก็ไม่เลื่อนช่องให้แบบเวลาใช้ Cell Reference ปกติ ซึ่งมีวิธีแก้เพื่อให้เวลาใช้สูตรแล้วคลิ๊กเข้าไปใน Pivot Table แล้วยังเป็น Cell ปกติได้ โดยให้ทำดังนี้

    1. ไปกดที่ Ribbon Options ของ Pivot Table (ต้องกดเลือกบริเวณที่เป็น Pivot ก่อน)
    2. ติ๊กปุ่มสามเหลี่ยมใต้ที่ตั้งชื่อตาราง Pivot
    3. เอาติ๊กคำว่า Generate Getpivotdata ออก

    อาจมีคนสงสัย แล้ว GETPIVOTDATA มันมีข้อดียังไง? จริงๆแล้วมันก็มีข้อดีของมันอยู่ครับ นั่นก็คือ เวลาเรา Link ข้อมูลมาแล้ว ไม่ว่าตาราง Pivot Table จะถูกพลิกบิดมุมมองไปมาแค่ไหน ค่าที่เรา Link ไว้ก็จะยังเป็นค่าเดิมเสมอ ต่างจากการใช้ Cell Reference ปกติ ที่อาจกลายเป็นค่าใหม่ที่เราไม่ต้องการไปโดยไม่รู้ตัวเลยก็ได้

    5. จริงๆ แล้ว Keyboard Shortcut มันจำง่ายกว่าที่คิดนะ

    เคยสังเกตมั๊ยว่า Keyboard Shortcut ใน Excel หลายๆตัวนั้นจำง่ายกว่าที่คิด

    ถ้าเป็นคำสั่ง Basic เช่น Copy แทนด้วย Ctrl+C เพราะ คำว่า Copy แทนด้วย C หรือเช่นทำให้ตัวอักษรเป็นตัวหนา (Bold) ด้วย Ctrl+B นั้นก็ ไม่น่าแปลงใจมากนัก แต่ว่าจริงๆแล้ว แม้จะเป็นเครื่องหมายแปลกๆ ก็จำง่ายกว่าที่คิดนะครับ เพราะ Excel ตั้งใจในการเลือกใช้ตัวแทนคีย์ลัดได้น่าสนใจทีเดียว เช่น

    keyboard
    • Ctrl+% เพื่อแปลงเป็นหน่วย % (จริงๆ ต้องกด Ctrl+Shift+5 เพราะ Shift +5 คือตัว % แต่ถ้าต้องจำว่า Ctrl+Shift+5 จะไม่มีทางจำได้เลย)
    • Ctrl+^ ก็เพื่อแปลงเป็นเลข Scientific E ยกกำลัง (เพราะเป็นเครื่องหมายยกกำลัง)
    • Ctrl+$ ก็เพื่อแปลงเป็นรูปแบบสกุลเงิน
    • Ctrl+# ก็เพื่อแปลงเป็นวันที่ (เพราะในโปรแกรม Access ก็ใส่วันที่ในเครื่องหมาย #)
    • Ctrl+@ ก็เพื่อแปลงเป็นเวลา เพราะ เครื่องหมาย@ ก็ดูเจาะจง คล้ายว่าจะระบุว่า ณ กี่โมง
    • Ctrl+: ใส่เวลาปัจจุบัน เพราะเหมือนเครื่องหมายคั่น ชม:นาที
    • Ctrl+* เลือก Range ทั้งหมด เพราะ * แทนความหมายว่าทั้งหมด ในภาษาฐานข้อมูล
    • จริงๆ มีอีกเยอะเลย ถ้าเพื่อนๆ ถ้าเจอตัวอื่นที่ดู Make Sense แบบตัวอย่างข้างบนนี้ก็ Comment ไว้ได้นะครับ

    6. รู้หรือไม่ว่า Excel เวอร์ชั่นแรกนั้นออกให้กับ Apple ไม่ใช่ Microsoft

    excel1

    อันนี้เป็นเกร็ดเล็กเกร็ดน้อยครับ หลายๆคนอาจรู้ว่า Excel ไม่ใช่โปรแกรม Spreadsheet อันแรกของโลก เพราะก่อนหน้าที่จะมี Excel นั้นก็มีโปรแกรม Spreadsheet อื่นๆ เกิดขึ้นมาก่อนมากมาย โดยโปรแกรมแรกของโลกนั้น คือโปรแกรมที่มีชื่อว่า VisiCalc ซึ่งออกมาในปี ค.ศ. 1978 โน่นแน่ะ ต่อมาก็มีอีกหลายโปรแกรม แต่ตัวทีมีชื่อเสียงมากที่พวกเราน่าจะพอรู้จักก็คือ Lotus 1-2-3 ซึ่งออกมาในปี ค.ศ. 1983 และในที่สุด Excel เวอร์ชั่นแรกก็ออกมาในปี คศ.1985 แต่ที่แปลกคือ Excel 1.0 ซึ่งเป็น Version แรกนั้น กลับออกมาให้กับสำหรับเครื่อง Apple Macintosh ก่อนที่จะออก Version 2.0 ใน  Windows ซะอีกนะครับ ทั้งที่สร้างโดย Microsoft เองนี่แหละ! สาเหตุอาจเป็นเพราะความสามารถของการทำงานด้วยกราฟิก กับการใช้เม้าส์จิ้มเมนูต่างๆได้นี่แหละ ที่ Microsoft จำเป็นต้องเลือกลงให้ Macintosh ก่อน PC

    7. ฟังก์ชั่น TRIM ไม่ได้ตัดแค่ Space ที่หัวกับท้ายเท่านั้นนะ

    trim-example

    หลายคนอาจคิดว่าฟังก์ชั่น TRIM มันแค่เอาไว้ตัด space หัวท้ายของคำเท่านั้น (เพราะชื่อมันดูเหมือนเอาไว้เล็มๆ ….)
    แต่จริงๆ มันตัด space ทั้งหมด ยกเว้นจะเหลือ space ระหว่างคำไว้ให้แค่สูงสุด 1 เคาะเท่านั้น space (ตัวอื่นๆจะถูกตัดทิ้งทั้งหมดครับ) ตามรูป

    8. ในคำสั่ง FIND/REPLACE เราสามารถกำหนดรูปแบบที่จะค้นหาได้ด้วยนะ

    find-replace

    ปกติเวลาเราค้นหาคำ เราก็จะกด Ctrl+F เพื่อค้นหา แล้วก็พิมพ์คำที่ต้องการลงไป แต่จริงๆแล้วมันสามารถ กด Option แล้วเลือก Format เพื่อหาสิ่งที่ต้องการได้แบบเจาะจงยิ่งขึ้น เช่น หาช่องที่ถมสีเหลือง เป็นตัวหนา มี Number format ที่กำหนด หรือว่ามีการ Lock / Unlock cell เอาไว้ก็ยังได้

    นอกจากนี้ บางทีหลายๆคนเวลากดหาข้อมูลก็อาจหาไม่เจอ ทั้งๆที่เห็นอยู่ตำตา สาเหตุอาจเป็นเพราะเพื่อนๆ เลือกโหมดการหาผิด
    เช่น ใน Look in จะมีให้เลือก 3 อัน คือ Formula , Value, Comment โดยปกติจะเลือกไว้ที่ Formula ซึ่งมันจะหาสิ่งที่พิมพ์ลงไปใน Formula Bar จริงๆ ไม่ใช่ผลลัพธ์จากการคำนวณ หากเราต้องการหาคำที่อยู่ในผลลัพธ์การคำนวณจะต้องกดหาใน Values นะครับ

    9. เราสามารถ Search หาฟังก์ชั่นได้ด้วยนะ

    search-function

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

    10. รู้จักใช้เครื่องหมาย Wildcard ใน Function ค้นหาข้อมูล

    wildcard_joker_main2

    เวลาเราใช้ Function หลายๆ อย่างเพื่อค้นหาข้อมูล เช่น SEARCH หรือ VLOOKUP หรือ MATCH จริงๆเราสามารถค้นหาคำที่มีลักษณะคล้ายกับคำที่กำหนดได้ ด้วยการใช้เครื่องหมาย Wildcard ได้

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

    • เครื่องหมายคำถาม (?) แทนตัวอักษรใดๆก็ได้จำนวน 1 ตัวอักษร
      • เช่น “b?t” จะเจอคำที่มี 3 ตัวอักษร ที่ขึ้นต้นด้วย b และลงท้ายด้วย t เช่น bat และ but แต่ไม่จอ bt (เพราะตรงกลางไม่มีตัวอักษร)
    • เครื่องหมายดอกจัน (*) แทนตัวอักษรใดๆก็ได้จำนวนกี่ตัวอักษรก็ได้
      • เช่น “b*t” จะเจอทุกคำที่ขึ้นต้นด้วย b และ ลงท้ายด้วย t เช่น bat, but, bt, beast, boot
      • เช่น “*ing” จะเจอทุกคำที่ลงท้ายด้วย ing เช่น interesting, sing, ping
      • เช่น “a*” จะเจอทุกคำที่ขึ้นต้นด้วย a รวมถึง a ตัวเดียวด้วย
    • ลองใช้ผสมๆ กัน
      • เช่น “a?*” จะเจอทุกคำที่ขึ้นต้นด้วย a แต่ไม่รวมถึงคำที่มี a แค่ตัวเดียว
    • ถ้าอยากจะหาคำที่มีเครื่องหมายคำถาม หรือ ดอกจันจริงๆ ในข้อความ ให้ใส่เครื่องหมาย ~ นำหน้าอักษรนั้นๆ เช่น ต้องการหาคำว่า star*wars ให้ใส่ใน criteria ว่า “star~*wars”

    ตัวอย่าง:

    =MATCH(“*excel*”,A1:B10,0) จะเจอแถวแรกที่มีคำว่า  excel ผสมอยู่เป็นส่วนประกอบ
    เช่นเป็นคำว่า inwexcel หรือแม้แต่ i love Excel very much

    ถ้าอยากให้เป็น Cell Reference อาจใช้แบบนี้ก็ได้ครับ =MATCH(“”*”&C1&”*”,A1:B10,0)

    ฟังก์ชั่นที่สามารถใช้ Wildcard ได้มีดังนี้

    • AVERAGEIF
    • AVERAGEIFS
    • COUNTIF
    • COUNTIFS
    • DPRODUCT
    • DSTDEVP
    • DSUM
    • DVARP
    • HLOOKUP
    • MATCH
    • SEARCH
    • SEARCHB
    • SUMIF
    • SUMIFS
    • VLOOKUP

    ประเด็นที่สำคัญอีกอันคือ ฟังก์ชั่นที่รองรับ Wildcard มันจะไม่สนใจตัวพิมพ์เล็กพิมพ์ใหญ่นะครับ เช่น VLOOOKUP หาคำว่า INWEXCEL ธรรมดาก็เเจอคำว่า inwexcel ได้เหมือนกัน อันนี้อาจต้องระวัง

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

  • มาดูกันว่า TRIM ตัดอะไรทิ้งบ้าง?

    trim-example

    คุณคิดว่าฟังก์ชั่น TRIM เอาไว้ทำอะไร?

    หลายคนอาจคิดว่ามันแค่เอาไว้ตัด space หัวท้ายของคำเท่านั้น ….

    แต่จริงๆ มันตัด space โดยจะเหลือ space ระหว่างคำไว้ให้แค่สูงสุด 1 เคาะเท่านั้น space ตัวอื่นๆจะถูกตัดทิ้งทั้งหมดครับ ตามรูป

  • เลข running มหัศจรรย์ แม้โดน Filter ก็เรียงต่อเนื่องได้ (Running Number Filter)

    เลข running มหัศจรรย์ แม้โดน Filter ก็เรียงต่อเนื่องได้ (Running Number Filter)

    บทความนี้จะมาสอนวิธีทำ Running Number Filter ซึ่งเป็นเลขเรียงต่อเนื่องแม้ข้อมูลจะถูก Filter อยู่ครับ

    ปกติเวลาใส่เลข Running ให้กับข้อมูล 1,2,3,4… หากข้อมูลถูก Filter เลข Running เหล่านั้นอาจจะขาดตอน เช่น 1,3,4,6 แต่เทคนิคนี้สามารถให้เลขยังคงแสดงเป็น 1,2,3,4 ได้ แม้จะถูก Filter แล้วก็ตาม

    วีดีโอสอนการใช้งาน

    สรุปเทคนิคที่ใช้

    • เคล็ดลับอยู่ที่การใช้ Function SUBTOTAL ซึ่งมีพฤติกรรมเฉพาะตัวอย่างนึงที่เหมาะกับปัญหาของเรามาก นั่นคือ SUBTOTAL จะทำการคำนวณเฉพาะข้อมูลที่ยังคงมองเห็นอยู่หลังถูก Filter ไปแล้ว
    • ด้วยเหตุนี้ เราจึงใช้ SUBTOTAL แล้วเลือก Function ย่อยเป็น COUNTA (รหัส 3) เพื่อให้นับจำนวนข้อมูลจากแถวแรกถึงแถวที่จะใส่เลขลำดับนั้นๆ เพื่อให้รู้ว่ามีข้อมูลกี่อันหลังถูก Filter ไปแล้วนั่นเอง
      • เช่น สมมติเราจะใส่เลขลับดัยในคอลัมน์ A ในแถวที่ 20 ก็จะเขียนสูตรว่า =SUBTOTAL(3,B2:B20) นั่นเอง โดยคอลัมน์ B ต้องมีข้อมูลอยู่ ห้ามเป็นช่องว่าง
      • ที่นี้เพื่อให้ copy สะดวก เราจึงทำการ Lock ช่องเริ่มต้นเอาไว้ เช่น =SUBTOTAL(3,B$2:B20)
    • แต่เทคนิคสำคัญอีกอย่างคือ หากเราใช้ Subtotal ตรงๆ Excel มันจะเกิดอาการเอ๋อ ไม่ยอมเอาแถวสุดท้ายมา Filter ด้วย วิธีแก้คือให้เอาผลที่ได้จาก SUBTOTAL ไปคูณ 1 อีกที
      • จะได้ว่า =SUBTOTAL(3,B$2:B20) *1 นั่นเอง ครับ

    ขอบคุณสำหรับคำถาม

    เทคนิคนี้ ถูกสอบถามโดยคุณ Farzeed Phewkam ใน Facebook Page ของ ThepExcel ซึ่งมีประโยชน์มากครับ ขอบคุณมากสำหรับคำถามดีๆครับ

  • วิธี Extract ข้อมูลหลายๆ รายการ แบบใช้และไม่ใช้ Array Formula

    วิธี Extract ข้อมูลหลายๆ รายการ แบบใช้และไม่ใช้ Array Formula

    จากบทความก่อนหน้าได้เกริ่นเรื่องการทำงานของ Array Formula ไปแล้ว คราวนี้จะขอยกตัวอย่างการใช้ที่ค่อนข้าง Advance ขึ้นแล้วนั่นก็คือ การ Extract ข้อมูลหลายๆ รายการ ออกมาตามเงื่อนไขที่กำหนด เช่น โจทย์คือ “แสดงทุกรายการที่อยู่ใน group a ” ออกมา จะเห็นว่าแบบนี้ใช้ VLOOKUP ตรงๆ ไม่ได้แน่นอน เพราะ VLOOKUP จะเจอแค่ข้อมูลที่เจอเป็นแถวแรกเท่านั้น

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

    หลักการ

    extract-array2

    1. หาแถวที่อยู่ใน Group ที่ต้องการ

    • ใช้ IF เพื่อเช็คว่าข้อมูลในแถวนั้นๆ อยุ่ใน group a หรือไม่
      • ถ้าอยู่ใน group a ให้เอาข้อมูลแถวกลับมาว่าช่องนั้นว่าอยู่แถวที่เท่าไหร่ โดยใช้สูตร ROW เข้าช่วย
      • ถ้าไม่อยู่ใน group a ให้แสดงค่าเป็นค่าว่าง

    2. หาแถวที่น้อยที่สุดเป็นลำดับ 1,2,3…

    • ใช้สูตร SMALL(array,k) เพื่อหาข้อมูลที่มีค่าน้อยที่สุดเป็นลำดับ k คือ 1,2,3,… จากช่วง array ที่กำหนด  (ในที่นี้เป็นค่าตัวเลขแถว) โดยที่สูตร Small นี้จะไม่สนใจข้อมูลที่เป็นค่าว่าง
      • SMALL(ช่วงที่ต้องการ,1) หมายถึง ค่าที่น้อยที่สุดในช่วงที่กำหนด
        • ได้ว่า =SMALL(IF($B$4:$B$9=$C$11,ROW($B$4:$B$9),””),1อย่าลืมกด Ctrl+Shift+Enter
        • ซึ่งถ้าช่วงเป็น {4;””;6;””;””;9} จะได้ว่าเลขที่น้อยที่สุดคือ 4
      • SMALL(ช่วงที่ต้องการ,2) หมายถึง ค่าที่น้อยที่สุดเป็นลำดับ2 ในช่วงที่กำหนด
        • ได้ว่า =SMALL(IF($B$4:$B$9=$C$11,ROW($B$4:$B$9),””),2อย่าลืมกด Ctrl+Shift+Enter
        • ซึ่งถ้าช่วงเป็น {4;””;6;””;””;9} จะได้ว่าเลขที่น้อยที่สุดเป็นลำดับ2 คือ 6 

    3. ดึงข้อมูลที่ต้องการออกมาด้วย INDEX

    • ถึงขั้นนี้เราได้ลำดับแถวของข้อมูลใน Group a แล้ว ต่อไปเราสามารถใช้ INDEX ดึงข้อมูลที่ต้องการมาได้เลยครับ
      • และถ้าเราใช้ INDEX ครอบตั้งแต่ช่องแรก เราไม่ต้องมีการ Adjust ค่า Row เหมือนใน VDO ของผมก็ได้ครับ
      • เช่น ในช่องที่แสดงชื่อลำดับแรก (1) คือ สมชาย เขียนสูตรแค่นี้ก็ทำงานได้เช่นกัน โดยคอลัมน์ Name เป็นคอลัมน์ C ซึ่งเป็นคอลัมน์ที่ 3 ของตาราง excel
        =INDEX($A$1:$D$16,SMALL(IF($B$4:$B$9=$C$11,ROW($B$4:$B$9),””),1),3อย่าลืมกด Ctrl+Shift+Enter
      • ในช่องที่แสดงชื่อลำดับสอง (2) คือ สมยศ เขียนสูตรแค่นี้ก็ทำงานได้เช่นกัน โดยคอลัมน์ Name เป็นคอลัมน์ C ซึ่งเป็นคอลัมน์ที่ 3 ของตาราง excel
        =INDEX($A$1:$D$16,SMALL(IF($B$4:$B$9=$C$11,ROW($B$4:$B$9),””),2),3อย่าลืมกด Ctrl+Shift+Enter

    4. กำจัด Error ซะ

    • ถ้าเป็นชื่อลำดับที่ 4 จะขึ้น Error เป็น #NUM! เพราะมีข้อมูลใน Group a แค่ 3 ตัว ไม่มีตัวที่ 4
      • ทางแก้คือใช้สูตร IF กับ ISERROR มาช่วย ว่าถ้า Error ให้แสดงเป็นค่าว่าง
      • นั้นคือใช้ =IF(ISERROR(สูตรเดิมxxxx),””,สูตรเดิมxxxx) มาครอบอีกที อย่าลืมกด Ctrl+Shift+Enter เท่านี้ก็เป็นอันเรียบร้อย

    ผมได้มีเียนบทความตอนใหม่เรื่องนี้ด้วย ลองไปดูได้ที่

  • เทคนิค Merge Cell แบบหลอกๆ

    หลายๆ คนคงรู้จักวิธีการ Merge Cell กันอยู่แล้ว และหลายๆ คนคงจะรู้ว่ามันมีข้อจำกัดมากมาย เช่น เวลาต้องการจะ Sort ข้อมูล หรือ ต้องการ Paste Special ข้อมูล ลงไปในบริวณที่มีการ Merge Cell แล้ว Excel จะไม่ยอมให้ทำ โดยมักจะขึ้นมาว่า “This Operation Requires the merged cells to be identically sized.”

    สรุปง่ายๆ คือ Merged Cell แล้วปัญหาตามมาเพียบ…

    ผมมีเทคนิคมานำเสนอ ที่ทำให้ผลลัพธ์คล้ายกับการ Merge Cell มาก แต่จริงๆ Cell ไม่ได้ถูก Merged ครับ ดังนั้นข้อจำกัดจึงหายไปด้วย! มาดูกัน

    fake-merged-cell

     

    วิธีทำ

    1. เลือก Range ที่ต้องการจะทำให้การหลอกว่าทำ Merge Cell
    2. ไปที่ Format Cells => Alignment
    3. ตรง Text Alignment เลือก Center Across Selection (ใช้ได้กับ Horizontal เท่านั้น)
    4. จบ!! (ง่ายมะ)

    (more…)

  • แนะนำแหล่งความรู้ excel ที่ดีที่สุดในโลก Internet : ExcelisFun

    ผมไม่ขอพูดอะไรมาก นอกจากจะบอกว่า Excelisfun คือแหล่งเรียนรู้ Excel ระดับ Basic ถึง Advance ที่ดีที่สุดในโลก Internet แล้ว  (เค้ายังไม่สอนลึกถึงระดับ expert) 

    michael_g

    ช่อง Excelisfun ถูกสร้างขึ้นเมื่อปี 2008 โดย Michael Girvin ซึ่งปัจจุบันเป็นอาจารย์สอนวิชา Business & Technology ที่  Highline Community College และแน่นอนว่าเค้าเป็น Excel MVP ด้วย (เป็นคนที่ทำประโยชน์ให้กับสังคม Excel อย่างโดดเด่น)

    เนื้อหาใน Youtube เค้ามี VDO สอน Excel Upload มาแล้วมากกว่า 2,300 ตอน (และยังอัปอยู่เรื่อยๆ) มีคนดูแล้วรวมกันกว่า 40 ล้าน View ครอบคลุมเนื้อหาทุกอย่าง ตั้งแต่สอนใช้ Excel เบื้องต้น ยันไปถึงการเขียน Array Formula หรือแม้กระทั่งการประยุกต์ใช้ Excel กับวิชาสถิติก็ยังมี ใครยังไม่เคยดู ผมแนะนำเป็นอย่างยิ่งเลยครับ!!

    YouTube

    http://www.youtube.com/user/ExcelIsFun

    Resources

    http://people.highline.edu/mgirvin/excelisfun.htm

    Playlist

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

    http://www.youtube.com/playlist?list=PL5D817416A56A4FF8 

    หนังสือ (ภาษาอังกฤษ)

    มี 2 เล่มครับ อันแรก Basic ส่วน อันที่สอง Advance หน่อยเพราะสอน Array Formula ใครสนใจก็ลองซื้อได้ รับรองว่าเจ๋งจริง
        

  • การเขียน IF ที่ให้ผล TRUE/FALSE โดยไม่จำเป็น

    ถ้าจะเขียน IF ให้ออกมาเป็น TRUE/FALSE

    เช่น =IF(A>B,TRUE,FALSE)

    ไม่ต้องใช้ IF ก็ได้

    ให้ใส่แค่เงื่อนไขพอ เช่น =A>B แค่นี้พอครับ

  • 8 เทคนิคการสร้างกราฟสุดสร้างสรรค์

    8 เทคนิคการสร้างกราฟสุดสร้างสรรค์

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

    ตัวอย่างเช่น ในเว็บเมืองนอกอย่าง https://sites.google.com/site/e90e50charts/ ก็มีกราฟหลายแบบที่ Creative สุดๆ เราสามารถดูแล้วใช้เป็นแรงบันดาลใจในการสร้างสรรค์กราฟของเราเองได้เหมือนกัน โดยใช้เทคนิคต่างๆ ที่ผมกำลังจะพูดถึงต่อไปนี้เข้าช่วยครับ

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

    เทคนิคการสร้างกราฟสุดสร้างสรรค์

    1. หลอกตาคนดูให้มองไม่เห็นสีของกราฟ

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

    chart-tips-1-fix

    2. นำกราฟมาซ้อนทับกัน

    อันนี้ คือ เอากราฟ หรือรูป 2 อันมาวางซ้อนทับกันนั่นเอง จากในตัวอย่าง เป็นกราฟโดนัท 2 กราฟ (พื้นหลังใส) เอามาวางซ้อนกัน เพื่อให้กราฟเป็นมิเตอร์

    chart-tips-2


    3. นำกราฟหลายชนิดมาผสมเข้าด้วยกัน

    อันนี้ดูเหมือนจะคล้ายๆ อันก่อนหน้านี้ ที่ต่างกันคือ อันนี้จะอยู่บนกราฟเดียวกัน แต่จะใช้ Chart Type ที่แตกต่างกัน สำหรับ Data Series แต่ละอัน

    chart-tips-3

    4. ใช้ scatter plot ช่วยวาดรูป

    หากเรากำหนดจุดพิกัดให้กราฟ Scatter Plot ล่ะก็ มันจะสร้างรูปไล่ตามจุดที่เรากำหนดทีละจุดๆ เราสามารถเลือกได้ว่าระหว่างจุดจะให้มีเส้นหรือไม่ และจะเป็นเสนตรงหรือเส้นโค้งก็ได้

    chart-tips-4

    5. ใช้ Error Bar ช่วยวาดรูป

    Error Bar นั้นสามารถกำหนดความยาว และรูปแบบของเส้นได้ ว่าจะให้เป็นอย่างไร ให้งอกไปในทิศทางไหน

    chart-tips-5

    ตัวอย่างการประยุกต์ใช้

    ในเว็บนี้ เค้าเอา Error Bar มาทำเป็นเส้น Timeline ได้อย่างแนบเนียนมากครับ

    project-timeline-chart-excel


    http://chandoo.org/wp/2009/07/09/project-milestones-in-timeline/

    ุ6. ใส่ลูกเล่นให้ Marker

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

    chart-tips-7

     

    7. สร้างกราฟบน cell ตารางข้อมูลแทน

    ใครว่าเราสร้างกราฟต้องสร้างด้วยกราฟ จริงๆเราสร้างกราฟในช่องตารางของ Excel ก็ได้
    ด้วย Fonts บางตัวอย่าง Playbill กับตัวอักษร i พิมพ์ใหญ่ ช่างเหมาะกับการสร้างกราฟแท่งในตารางจริงๆครับ

    chart-tips-6

    8. สร้างกราฟโดยใช้รูปเข้าช่วย

    3d_accounts_after_3

    รูปสุดท้ายนี้เอามาจาก http://www.myonlinetraininghub.com/excel-3d-financial-reports
    เทคนิคนี้สุดยอดมาก เอา ตารางใน excel 3 ตาราง มาปะลงเป็นรูปแล้วใส่ Effect 3 มิติทีละด้าน แล้วมาจัดเรียงกัน

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

  • เทคนิคการแยกวันที่และเวลาออกจากกัน

    มีแฟนเพจท่านหนึ่งถามใน Facebook Page มาว่า

    ถาม

    ผมมีวันเวลา แบบนี้ 28/2/2014 23:52:00
    อยากตัดแยกวันและเวลาออกเป็นคนละเซลล์ต้องทำอย่างไรครับ?

    ตอบ

    การจะแยกวันที่กับเวลาออกจากกัน ต้องเข้าใจก่อนว่า จริงๆแล้ววันที่คือเลขจำนวนเต็ม เวลาคือเลขทศนิยม (หากยังไม่เข้าใจ ลองอ่านได้ที่นี่ http://www.thepexcel.com/how-date-time-work/)

    แปลว่าเจ้าเลข 28/2/2014 23:52:00 จริงๆ แล้วคือ 41698.9944444444

    separate-date-time

    ที่นี้เราจะต้องแยกมันออกเป็นสองส่วน คือ ส่วนจำนวนเต็ม (ซึ่งจะกลายเป็นวันที่) และอีกส่วนคือ ส่วนทศนิยม (ซึ่งจะกลายเป็นเวลา)

    • ส่วนจำนวนเต็ม ผมจะใช้สูตร ROUNDDOWN มาช่วย เพราะเป็นการปัดค่าลง โดยผมกำหนดให้เป็น ทศนิยม 0 ตำแหน่ง
    • ส่วนทศนิยม ผมจะใช้ฟังก์ชั่น MOD มาช่วย ซึ่งหน้าที่ของมันคือ หารแล้วเอาเศษที่เหลือ ดังนั้นผมเลยเอาเลขดังกล่าวหารด้วย 1 เศษที่เหลือก็จะหลายเป็นทศนิยมไป

    ขั้นตอนต่อไปก็แค่ปรับ format ให้เหลือแค่วันที่ และ เวลา ตามลำดับ เป็นอันจบครับ

  • เจาะลึกฟังก์ชัน INDEX : เคล็ดวิชาการใช้งานสูตร INDEX

    เจาะลึกฟังก์ชัน INDEX : เคล็ดวิชาการใช้งานสูตร INDEX

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

    เริ่มกันด้วยพื้นฐาน Basic ๆ

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

    เช่น มีตารางอยู่อันนึง สมมติชื่อ ตารางa มีขนาด 5 แถว x 4 คอลัมน์ เราสามารถกำหนดให้เจ้า INDEX นี่ดึงข้อมูลจากตารางa ในแถวที่ 3 คอลัมน์ที่ 2 กลับมาได้เป็นต้น

    index-3

    ถ้ามาดูตัวอย่างจริง จากรูป ช่อง B5:E9 ผมตั้งชื่อว่า ตารางa ถ้าผมต้องการค่าจากแถวที่3 คอลัมน์ที่ 2 ของตารางนั้น จะต้องเขียนว่า

    = INDEX(ตารางอ้างอิง, ลำดับแถว, ลำดับคอลัมน์)

    = INDEX(B5:E9,3,2) หรือ = INDEX(ตารางa,3,2)

    ซึ่งจะได้ค่ากลับมาเป็น Tony Stark (เพราะอยู่ที่แถวที่ 3 คอลัมน์ที่ 2 ของตาราง B5:E9)

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

    7 เคล็ดวิชาการใช้งานสูตร INDEX

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

    ฟังก์ชัน index

    อันนี้เคยพูดไปแล้วใน แฉ 10 ความลับของ Excel ที่คุณอาจยังไม่เคยรู้มาก่อน! แต่จะขอพูดอีกครั้ง เพราะเป็น Concept ที่สำคัญมาก

    ในตัวอย่างข้างบน =INDEX(B5:E9,3,2) จริงๆ INDEX จะให้ค่ากลับมาเป็น Cell Reference คือ C7 ก่อน แล้ว Excel จึงแปลง C7 เป็นคำว่า Tony Stark อีกทีหนึ่ง (เป็นเพราะว่าไม่ได้เอา Cell Reference ที่ได้ไปทำอย่างอื่นต่อ จึงคืนค่าในช่องมาให้เลย)

    2. เลขลำดับแถว และ คอลัมน์ ถ้าเราใส่ค่าตัวเลขที่มากกว่า 0 จะให้ค่าเป็นจุดพิกัด

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

    3. เลขลำดับแถว และ คอลัมน์ ถ้าเราใส่ค่าเป็น 0 หรือ เว้นว่างไว้ จะให้ค่าเป็นช่วง

    หมายถึง INDEX จะให้ค่ากลับมาเป็น Cell Reference ทุกอันของแถวหรือคอลัมน์นั้นมาเป็นช่วงเลย เช่น

    = INDEX(ตารางอ้างอิง, ลำดับแถว, ลำดับคอลัมน์)

    = INDEX(ตารางa,0,2) หมายถึง เอาตารางa คอลัมน์ที่ 2 มาเลยทุกแถว จะได้ช่วง C5:C9 นั่นเอง

    index-4

    = INDEX(ตารางa,3,0) หมายถึง เอาตารางa แถว 3 มาเลยทุกคอลัมน์เอาล่ะครับ จะได้ช่วง B7:E7 นั่นเอง

    index-6

    = INDEX(ตารางa,0,0) หมายถึง เอาตารางa มาเลยทั้งตาราง ทุกแถว ทุกคอลัมน์ จะได้ช่วง B5:E9 เหมือนเดิม

    index-7

    ที่นี้การให้ค่ากลับมาเป็น Cell Reference แถมเป็นช่วงอีก เวลาจะเอาไปใช้จริง ก็ต้องเอาไปผสมกับสูตรอื่นๆ อีกทีครับ เช่น AVERAGE, SUM, MATCH เป็นต้น เช่น =SUM(INDEX(ตาราง,0,4)) เป็นต้น

    4. ตารางอ้างอิง สามารถมีแค่แถวเดียว หรือ คอลัมน์เดียวได้

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

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

    =INDEX(C5:C9,3)

    เพราะมีคอลัมน์เดียว เลข 3 ก็หมายถึงลำดับแถวไปโดยปริยาย ก็จะได้ C7 ซึ่งแปลงเป็นคำว่า Tony Stark เหมือนกัน
    index-8

    =INDEX(ฺB8:E8,2) เพราะมีแถวเดียว เลข 2 ก็หมายถึงลำดับคอลัมน์ไปโดยปริยาย ก็จะได้ C8 ซึ่งแปลงเป็นคำว่า ชิซูกะ เป็นต้น
    index-9

    5. จริงๆ แล้วสูตร INDEX สามารถใช้ตารางอ้างอิงหลายอันได้นะ

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

    = INDEX(reference, row_num, [column_num], [area_num])

    แปลว่า = INDEX((ตารางอ้างอิง1,ตารางอ้างอิง2,ตารางอ้างอิง3,…,ตารางอ้างอิงn), ลำดับแถว, ลำดับคอลัมน์,ใช้ตารางอ้างอิงที่ท่าไหร่)

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

    • สังเกตว่า reference ในสูตรที่สอง แทนด้วยตารางอ้างอิงหลายอันอยู่ในวงเล็บ คั่นด้วย comma เช่น (ตารางอ้างอิง1,ตารางอ้างอิง2,ตารางอ้างอิง3,…,ตารางอ้างอิงn)
    index-10

    เช่น ตามรูป เราใส่ตารางอ้างอิงลงไป 2 ตาราง คือ B5:B9 และ B11:E15 ใส่วงเล็บครอบไว้และคั่นไว้ด้วย comma

    จากนั้นเราก็เลือกว่าจะเอาแถวที่ 3 คอลัมน์ที่ 4 จากตารางอันที่ 2 มันก็เลยได้ค่าเป็น E13 ซึ่งคือ 175 นั่นเอง

    6.สูตร INDEX ถ้าใช้ร่วมกับฟังก์ชั่นอื่นเมื่อไหร่ = ไร้เทียมทาน

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

    INDEX + MATCH

    index-12
    • MATCH จะค้นหาค่า แล้วส่งผลลัพธ์เป็นตัวเลขกลับมาให้ INDEX ใช้งาน เช่น
      • เราอาจ ใช้ MATCH หาก่อน ว่าคำที่เราต้องการอยู่ใน Row ไหน หรือ Column ไหน
      • =MATCH(คำค้นหา,ช่วงอ้างอิง,รูปแบบการค้นหา)
      • เวลาใช้ผสมกัน จึงใช้ MATCH แทนเลขลำดับพิกัดแถวหรือคอลัมน์ (หรือทั้งคู่) แบบนี้
        = INDEX(ตารางอ้างอิง,MATCH(คำค้นหาแถว,ช่วงอ้างอิงแถว,รูปแบบการค้นหา),MATCH(คำค้นหาคอลัมน์,ช่วงอ้างอิงคอลัมน์,รูปแบบการค้นหา))

    7. INDEX สามารถประมวลผล Array Formula ได้ โดยไม่ต้องกด Ctrl+Shift+Enter

    อันนี้ก็ตามชื่อหัวข้อครับ ข้อนี้ไม่เข้าใจไม่ต้องซีเรียสไป ใครยังไม่รู้จัก Array Formula เดี๋ยวผมจะเขียนอธิบายในอนาคตครับ (advance มากๆ)

    เช่น

    =AVERAGE(INDEX((D6:D9="ชาย")*(E6:E9),0,1))

    ปกติการทำแบบนี้ (D6:D9=”ชาย”)*(E6:E9) ต้องกด Ctrl+Shift+Enter ไม่งั้นจะ Error
    แต่พอมี INDEX มาครอบแล้ว ก็สามารถกด Enter ได้ตามปกติเลยครับ

  • กราฟหาย อยาก Plot กราฟจาก Cell ที่ซ่อนอยู่ ทำยังไงดี?

    กราฟหาย อยาก Plot กราฟจาก Cell ที่ซ่อนอยู่ ทำยังไงดี?

    เวลาซ่อน cell ใน Excel แล้วกราฟหายโดยไม่ตั้งใจ ทำไงดี?

    มีแฟนเพจคนนึงถามคำถามน่าสนใจมาก เข้ามาว่า

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

    graph-1 => graph-2

    ผมเห็นว่ามีประโยชน์เลยขอเอามา Post แสดงวิธีทำให้ดูเลยละกันครับ แยกเป็นกรณี Excel 2007 ขึ้นไป และกรณี Excel 2003

    วิธีแก้กราฟหาย Excel 2007 ขึ้นไป

    แก้ไขได้ง่ายๆ ดังนี้ครับ

    1. เลือกที่กราฟที่เราต้องการแก้ไข
    2. ไปที่ Ribbon Design => Select Data
      graph-2-1
    3. เลือกปุ่ม Hidden and Empty Cells
      graph-3
    4. ติ๊ก Show data in hidden rows and columns
      graph-4
    5. กด OK เป็นอันจบ

    วิธีแก้กราฟหาย Excel 2003

    ทำดังนี้ คือ

    1. เลือกกราฟที่เราต้องการ
    2. ไปที่ Tools => Options => Chart
    3. เลือกเอาที่ติ๊กว่า Plot Visible Only ออก
      graph-2003
    4. กด OK
  • แฉ 10 ความลับของ Excel ที่คุณอาจยังไม่เคยรู้มาก่อน!

    แฉ 10 ความลับของ Excel ที่คุณอาจยังไม่เคยรู้มาก่อน!

    Excel นั้นยิ่งใช้ ยิ่งศึกษา ยิ่งพบความน่าพิศวง… เพราะมันมีอะไรหลายอย่างมากๆ ที่ถูกเก็บซ่อนเอาไว้ หรือ ไม่ได้แสดงให้เห็นอย่างเด่นชัดนัก วันนี้ผมจะขอมาแฉ 10 ความลับของ Excel ที่คุณอาจยังไม่เคยรู้มาก่อน! เอาให้เพื่อนๆ ของคุณงงไปเลยว่าคุณรู้เรื่องพวกนี้ได้ยังไง

    1. ใช้ Space เป็นเครื่องหมายเชื่อม Cell Reference ก็ได้

    เพื่อนๆ คงรู้จักตัวเชื่อม Cell Reference  อย่าง colon (:) ที่ใช้เชื่อมข้อมูลเป็นช่วง หรือตัว comma (,) ที่ใช้เชื่อม Cell ที่ไม่ต่อเนื่องกัน เป็นอย่างดีอยู่แล้ว แต่ผมพนันเลยว่า หลายๆ คนคงไม่รู้จักตัวเชื่อมที่เป็นช่องว่าง (space) แน่นอน

    ถ้าเปรียบ comma (,) เป็นตัวเชื่อมในวิชาตรรกศาสตร์หรือเซ็ตแล้ว มันจะคล้ายเครื่องหมาย union เพราะเป็นการเชื่อม Range หลายๆ อันเข้าด้วยกัน แต่เจ้าตัวเชื่อมที่เป็นช่องว่าง (space) นั้น ทำหน้าที่เป็นเครื่องหมาย intersect นั่นคือจะให้ผลลัพธ์ที่เป็นช่องที่ซ้อนทับกัน ของ Range ที่เราเลือกไว้นั่นเอง (Intersection)

    excel-secret-8

    ตัวอย่างเช่น =B1:C15 A7:E8 (มี space คั่น) จะให้ผลเป็น Range B7:C8 ที่ระบายสีตามรูปนั่นเอง (อาจจะเอาไปใช้ต่อได้ เช่น SUM เป็นต้น)

    2. อ้างอิงข้อมูลจากหลายชีทด้วย 3D Reference

    รู้หรือไม่ว่าเราสามารถอ้างอิง Cell Reference แบบ 3 มิติได้ นั่นคือ เป็นการอ้างอิง Cell Reference แบบทะลุข้าม Worksheet นั่นเอง ทำยังไงมาดูกันครับ

    excel 3d cell reference

    แทนที่จะใส่การอ้างอิงไปที่ชีทเดี่ยวๆ ตามการอ้างอิงปกติ (เช่น =Sheet1!B2 ) เราสามารถใส่ชื่อชีทแบบเป็นช่วงได้
    โดยใส่ชีทที่เป็นจุดเริ่มต้น ตามด้วยเครื่องหมาย colon (:) และ ตามด้วยชีทที่เป็นจุดสิ้นสุดลงไปได้เลย เช่น

    =SUM(Sheet1:Sheet3!B2:D4)

    เพียงเท่านี้ มันก็จะทำการบวกข้อมูลช่อง B2:D4 เริ่มจาก Sheet1 ไปจนถึง Sheet3 นั่นคือจะรวม Sheet1, Sheet3 และ Sheet ทุกอันที่คั่นอยู่ระกว่างทั้งสอง Sheet ด้วย! คำว่า “Sheet ทุกอันที่คั่นอยู่ระกว่างทั้งสอง Sheet” หมายความว่า หากในอนาคตเรามีการเพิ่ม Sheet แล้วย้าย Sheet นั้นมาอยู่ระหว่าง Sheet 1 กับ 3 นี้ มันก็จะถูกบวกเข้าไปในผลรวมไปด้วย!!

    ฟังก์ชั่นที่สามารถใช้ 3D-Reference ได้ ดูได้ที่นี่ =>
    http://office.microsoft.com/en-001/excel-help/create-a-3-d-reference-to-the-same-cell-range-on-multiple-worksheets-HP010102346.aspx

    3. Paste เป็น Value กับ Format พร้อมกันได้ง่ายๆ

    หากเราต้องการ Copy ข้อมูลที่เป็นสูตรเพื่อที่จะมา Paste ลงอีกที่นึงเป็น Value กับ Format พร้อมกัน ปกติเราจะทำได้อย่างมากคือ Paste เป็น Value ทีนึง และ Paste Format อีกทีนึง ไม่สามารถทำพร้อมกันได้ และบางทีก็ชอบมีปัญหาด้วย โดยเฉพาะเวลามี Cell ที่ Merge กันอยู่จะทำให้ Paste ไม่ลง

    paste-value-format

    ผมมีเทคนิคเจ๋งๆ มาแนะนำให้ครับ นั่นก็คือ ให้เปิดโปรแกรม Excel อีกอันนึงขึ้นมา (ให้เหมือนเราเข้าโปรแกรม Excel ใหม่อีกรอบ) แล้วสร้างไฟล์ใหม่หรือเปิดไฟล์งานที่ต้องการ Paste ห้ามกด New Workbook หรือ Open Workbook จากโปรแกรม Excel เดิม) จากนั้นค่อยกด Copy จากไฟล์ต้นฉบับ แล้ว Paste ลงไปที่อีกไฟล์นึงไปตรงๆ ไม่ต้องมี Special อะไรทั้งสิ้น เพียงเท่านี้มันจะเป็นการ Paste เป็น Value กับ Format พร้อมกันโดยอัตโนมัติ

    การทำแบบนี้มีข้อเสียคือ เราจะไม่สามารถ Link หรืออ้างอิงสูตรข้ามไฟล์ในลักษณะนี้ได้ ซึ่งต่างจากการเปิด Workbook ใหม่ หรือ Open File จาก Excel โปรแกรมเดิม

    (more…)

  • การสร้างกราฟแผนภูมิใน Excel ตอนที่ 2

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

    การปรับ Format สี

    สามารถเลือกสิ่งที่ต้องการจะปรับ แล้วไปที่ Ribbon Format แล้วใส่สี Fill หรือ สีขอบได้ตามต้องการ

    โดยที่การเลือกนั้น มีเทคนิคเล็กน้อย คือ

    • ถ้าคลิ๊กซ้ายที่ Data Series ทีเดียว มันจะเลือก Data Series นั้นในทุกๆ Category เลย
    • ถ้าคลิ๊กซ้ายซ้ำอีกรอบเฉพาะบาง Category มันจะเลือกเจาะจงเฉพาะ Category นั้นๆ ได้เลย
    • หรือ อาจเลือกจาก Ribbon Layout => Current Selection ก็ได้ครับ

    chart10

    การปรับ Scale ของแกน X หรือ Y

    • ให้เลือกที่แกนที่ต้องการจะแก้ จากนั้นคลิ๊กขวา => Format Axis
    • ใน Axis Option สามารถตั้งค่าสูงสุด ต่ำสุด ค่า Major Unit (Grid ใหญ่) Minor Unit (Grid เล็ก)ได้
      • ถ้าจะปรับค่า ต้องเปลี่ยนจาก Auto เป็น Fixed ซะก่อน
    • และยังมี Option อื่นๆ อีกเยอะแยะ ลองเล่นดูนะครับ เช่น กลับทิศของแกน การตั้งจุดตัดแกน แถมตั้งหน่วยได้ด้วยว่าต้องการเป็นหลักหน่วย หลักพัน หลักล้าน หรืออะไร

    เทคนิคการปรับ Format Selection

    สามารถคลิ๊ก Format Selection อันนึงค้างไว้ แล้วไปคลิ๊กที่ Component อื่นๆ ของกราฟได้เลย ตัว Format Selection จะเปลี่ยนไปเองโดยอัตโนมัติ (โดยไม่ต้องออกไป Select ใหม่ทุกครั้ง)

    chart11 (more…)

  • การสร้างกราฟแผนภูมิใน Excel เบื้องต้น

    การสร้างกราฟแผนภูมิใน Excel เบื้องต้น

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

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

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

    Step ของการทำกราฟ มีดังนี้

    1. Think : คิดวัตถุประสงค์ของการนำเสนอกราฟ
    2. Prepare : เตรียมข้อมูล (เช่น สรุปข้อมูลจาก Data ดิบ)
    3. Create : สร้างกราฟ
    4. Customize : ปรับแต่งกราฟ
    5. Summarize : สรุปผลของกราฟ

    เรามาดูที่ Step แรกกันก่อนครับ

    1. Think : คิดวัตถุประสงค์ของการนำเสนอกราฟ

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

    วัตถุประสงค์ที่เจอบ่อยๆ เช่น

    • การเปรียบเทียบข้อมูล ไม่ว่าจะเป็น เทียบระหว่างแต่ละกลุ่ม, เทียบกับมาตรฐาน หรือ เป้าหมายบางอย่าง
    • บอกการแจกแจงความถี่ เพื่อให้เห็นการกระจายตัวของข้อมูล 
    • บอกสัดส่วนขององค์ประกอบ : เพื่อบอกองค์ประกอบว่าแต่ละส่วนมีมากน้อยแค่ไหน
    • การแสดงความสัมพันธ์ระหว่างตัวแปร เช่น การแสดงความสัมพันธ์ระหว่างตัวแปร 2 ตัว
    • บอกแนวโน้ม คาดการณ์อนาคต
    • แสดงให้เห็นลำดับเหตุการณ์ หรือ Timeline โครงการ
    • อื่นๆ

    Tips ในการเลือก Chart ที่เหมาะสม

    1. กราฟที่เหมาะสมกับวัตถุประสงค์แต่ละแบบ ดูได้ที่นี่ http://labs.juiceanalytics.com/chartchooser/index.html
      excel-charts
    2. เลือกกราฟ Basic ที่สุดถ้าเป็นไปได้ : ผมไม่แนะนำให้ใช้กราฟในรูปแบบที่ประหลาดๆ โดยเฉพาะพวกกราฟ 3 มิตินะครับ เพราะนอกจากจะดูรกแล้ว ยังหลอกตาสุดๆ อีกด้วย
    3. ถ้าจะใช้เปรียบเทียบข้อมูลระหว่างกลุ่ม : ผมแนะนำให้ใช้พวกการฟแท่ง ดีกว่ากราฟวงกลมนะครับ เพราะกรางวงกลมดูยากมากว่ามันมากน้อยแค่ไหน (คนเราเทียบความสูงต่ำ ง่ายกว่าเทียบมุมแคบกว้าง)
    4. ถ้าจะแสดงแนวโน้ม : ผมแนะนำกราฟเส้น หรือ Scatter Plot แล้วใส่ Trend line จะเหมาะที่สุดครับ

    2. Prepare : เตรียมข้อมูล

    การเตรียมข้อมูลเพื่อการทำกราฟ หลายๆครั้ง เราอาจต้องพึ่งพาความรู้พื้นฐานเหล่านี้ก่อน

    • Function พวกที่ใช้เพื่อการสรุปข้อมูล เช่น SUM, COUNT, AVERAGE, MAX, MIN, SUMIF, COUNTIF
    • การใช้ Sort & Filter หรือ Advanced Filter => อ่านได้ที่นี่ การกรองข้อมูลใน Excel ด้วย Filter & Sort และ Advanced Filter
    • การใช้ Pivot Table (เป็นวิธีที่สะดวกมาก แนะนำเลย) ใครสนใจการสรุปข้อมูลด้วย Pivot Table เชิญอ่านได้ที่  สรุปทุกสิ่งที่คุณควรรู้เกี่ยวกับ Pivot Table
    • ปกติแล้ว เรามักจะเตรียมข้อมูลให้เหมือนกับเตรียมฐานข้อมูลตามปกติ คือ
      chart-1
      • ใส่ข้อมูลแต่ละ Record (แต่ละราย แต่ละกลุ่ม) แยกไว้คนละแถวกัน
      • ใส่การวัดข้อมูลในแต่ละมิติ ไว้แยกคอลัมน์กัน (คล้ายๆกับ Field ข้อมูลใน Database)
      • ตรงนี้ไม่ต้องซีเรียส เพราะสามารถปรับแต่งภายหลังได้ง่ายๆ มากๆ ครับ
      • ที่สำคัญควรใส่ Label ของข้อมูลให้ครบถ้วยด้วยถ้าเป็นไปได้

    3. Create : การสร้างกราฟ

    มาถึงขั้นตอนนี้ก็เข้าหน้าที่หลักของ Excel แล้วล่ะครับ

    • เมื่อเรามีข้อมูลเตรียมไว้ในตารางแล้ว ให้เราลาก Selection ครอบคลุมพื้นที่ของข้อมูลทั้งหมด จากนั้นไปที่ Ribbon Insert => Chart => เลือกรูปแบบที่ต้องการตามที่ได้แนะนำไปข้างบน
      chart-animate-1
    • เมื่อเราเลือกรูปแบบกราฟไปแล้ว ถ้ากราฟมันสร้างออกมาสลับแกน x แกน y กับสิ่งที่เราคิดไว้แต่แรก เราสามารถกดปุ่ม Switch Row/Column ที่อยู่บน Ribbon Chart Tools => Design ได้เลยครับ (ต้องคลิ๊กที่ Chart ก่อน Ribbon นี้ถึงจะโผล่มาให้เห็น)
      chart2
    • บางครั้งเมื่อเราสร้างกราฟแล้ว ต่อไปอยากจะใส่ข้อมูลเพิ่มลงไปอีก มีวิธีง่ายๆ ที่ไม่ต้องเข้าไปนั่งแก้ที่ Select Data เลย นั่นก็คือ สามารถกด Copy ข้อมูลจากตาราง (Ctrl+C) แล้วเลือกที่กราฟ จากนั้นกด Paste (Ctrl+V) ลงไปเลยตรงๆครับ
      • ในตัวอย่างนี้ ผมเพิ่มทั้งแถวทั้งคอลัมน์ จึงต้อง copy 2 รอบครับ
    • chart3

    4. Customize : ปรับแต่งกราฟ

    ต่อไปเป็นขั้นตอนสุดท้าย นั่นคือการปรับแต่งกราฟ ซึ่งการที่เราจะปรับแต่งกราฟได้นั้น เราต้องรู้จักส่วนประกอบของกราฟซะก่อนครับ

    ส่วนประกอบของกราฟ หลักๆ มีดังนี้
    chart-component

    • Chart Area : พื้นที่ของกราฟทั้งหมด
    • Plot Area : พื้นที่ที่มีการพลอตข้อมูลลงไปจริงๆ
    • Label ป้ายกำกับ
      • Chart Title : ชื่อกราฟ
      • Axis Title : ชื่อแกน
        • Horizontal : แกนนอน
        • Vertical : แกนตั้ง
      • Legend : เพื่อบอกว่าซีรีส์อะไรคืออะไร
      • Data Label : บอกค่าของ Data
      • Data Table : ตารางข้อมูลต้นฉบับ
    • Axes แกน
      • Axes
        • Vertical Axis : แกนตั้ง
        • Horizontal Axis : แกนนอน
      • Gridlines : เส้นกริด ทั้งทั้งแกนนอนแกนตั้ง และ Major, minor
    • Series คือตัวข้อมูลจริงๆ
      • Series Name : ชื่อของข้อมูล
      • Series Value : ค่าของข้อมูล
    • Category Label : ชื่อประเภทข้อมูล (มักอยู่ที่แกนนอน)

    วิธีที่ง่ายที่สุดที่จะเข้าใจส่วนประกอบของกราฟ ก็คือ ให้ไปที่ Ribbon Layout ที่อยู่ภายใต้ Chart Tools เลยครับ (ต้องเลือกที่กราฟก่อน) ในนั้นจะแบ่งออกเป็นหลายๆ หมวด ดังนี้

    • Current Selection : เอาไว้เลือกส่วนประกอบของกราฟ มีประโยชน์มากเวลามีส่วนประกอบหลายๆ อันบังกันอยู่ ลองคลิ๊กดูแล้วจะรู้ว่าแต่ละส่วนเรียกว่าอะไร
      chart6

      • พอเลือกแล้วสามารถกด Format Selection เพื่อปรับแต่งแต่ละส่วนได้อีก
    • เราสามาถ เพิ่ม/ลด ส่วนประกอบของกราฟได้ โดยไปที่เมนู Ribbon แต่ละอัน เช่น Chart Title, Axis Title, Legend, Data Label แล้วเลือก option จาก Drop down เป็นต้น
      chart5

    เป็นอย่างไรครับกับพื้นฐานการทำกราฟ การปรับแต่งกราฟไม่ได้จบแค่นี้ เดี๋ยวตอนหน้าเราจะมาเจาะลึกลงรายละเอียดมากกว่านี้ครับ ทั้งการผสมกราฟ การทำกราฟแกน y 2 อัน หรือแกน x 2อัน การประยุกต์สร้างกราฟที่ไม่มีให้เลือก และอื่นๆ อีกมากมาย อย่าลืมติดตามกันต่อไปนะครับ

  • เมื่อเกม RPG ถูกสร้างด้วย Excel

    เชื่อหรือไม่ว่าเกมส์ RPG ถูกสร้างได้ด้วย Microsoft Excel + VBA ล้วนๆ

    ด้วยฝีมือนักบัญชีชาวแคนาดา ชื่อว่า CARY WALKIN เค้าสามารถทำได้ครับ

    เกมส์นี้ชื่อว่า Arena.Xlsm

    arenaxlsm-logo-new

    หลายๆอย่างที่เกม RPG ชั้นนำมี เจ้าเกมนี้ก็มีหมดครับ ทั้งค่าพลังต่างๆ ไอเท็ม อาวุธ เวทย์มนต์ ลูกกระจ๊อก ไปจนถึง บอสใหญ่

    2-19-13-summon-angelic-horde

    ใครอยากลองเล่นไปโหลดได้ที่ http://carywalkin.ca/download-arena-xlsm/

    ลองเล่นแล้วเป็นยังไงอย่าลืมมาเล่าให้ฟังกันบ้างล่ะครับ

  • รวม 5 เทคนิคการเขียนสูตรใน Excel ที่คุณอาจยังไม่รู้มาก่อน!

    รวม 5 เทคนิคการเขียนสูตรใน Excel ที่คุณอาจยังไม่รู้มาก่อน!

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

    1. หากเจอสูตรที่ใช่ ให้กด Tab เลย เพื่อเลือกใช้

    เวลาเขียนสูตรใน cell ด้วยเครื่องหมาย = แล้วเริ่มพิมพ์ชื่อสูตร เช่น จะพิมพ์สูตร VLOOKUP
    เมื่อเราเริ่มพิมพ์ว่า =V ไปเพียงตัวเดียว มันจะขึ้นรายชื่อสูตรทุกตัวที่ขึ้นต้นด้วยตัว V มาให้เลือก…

    • ตรงนี้จริงๆเราสามารถดับเบิ้ลคลิ๊กเลือกที่ VLOOKUP ได้ หรือจะกดลูกศรขึ้นลงไปหาคำว่า VLOOKUP แล้วก็สามารถ กด Tab เพื่อเลือกได้เลย โดยไม่ต้องพิมพ์ให้จบ
      Excel formula writing tips
    • แต่ถ้าพิมพ์ L เพิ่มลงไปอีกตัวด้วยหลังจากตัว V มันก็จะกรองให้เลือกแต่สูตรที่มีคำว่า VL นำหน้า สูตรที่แสดงก็อาจจะเหลือแค่ VLOOKUP ตัวเดียว ก็สามารถกด Tab เลือกได้เลยเช่นกัน
      Excel formula writing tips
    • การกดเลือกแบบนี้มันจะใส่วงเล็บเปิดให้เองด้วย ดีกว่าพิมพ์เองเป็นไหนๆ
    • อ่อ เกือยลืม ก่อนจะพิมพ์สูตรเสร็จ ตัววงเล็บปิดตัวสุดท้ายของสูตรไม่จำเป็นต้องพิมพ์ใส่ก็ได้นะ เสียเวลาครับ! (more…)
  • สอนทำเกม Sudoku ( Excel Sudoku)

    สอนทำเกม Sudoku ( Excel Sudoku)

    วันนี้ผมจะมาแนะนำวิธีใช้ Excel สร้างเกม Sudoku (Excel Sudoku) อย่างง่ายขึ้นมา โดยที่จะมำให้ Excel ไฟล์นี้สามารถตรวจสอบได้ว่าเลขที่เราใส่ลงไปผิดกติกาของเกม Sudoku หรือไม่ แต่อันนี้จะไม่ฉลาดพอที่สามารถเฉลยเกม Sudoku ได้นะครับ ถ้าอยากได้แบบนั้นเดี๋ยวมี Link ให้อีกทีนึงท้ายบทความครับ

    กติกาเบื้องต้นเกม Sudoku

    excel sudoku
    • มีตาราง 9 x 9
    • ใส่ได้แค่เลข 1-9
    • ใส่เลขห้ามซ้ำกัน
      • ในแต่ละแถว
      • ในแต่ละคอลัมน์
      • ในแต่ละกรอบตาราง Block ใหญ่ 3 x 3 (เหมือนที่ตีกรอบหนาไว้)
    • จะมีเลขใส่มาให้เบื้องต้นบางส่วนก่อน ถ้าเกมง่ายๆก็จะใส่มาให้เยอะหน่อย ถ้าเกมยาก ก็จะใส่มาให้น้อย
    • เราจะเล่นเกม โดยมีเป้าหมายคือ ใส่เลขต่อให้ครบทุกช่อง โดยไม่ทำผิดกติกาข้างบน ถ้าทำได้ก็ถือว่าจบเกม

    วิธีสร้างตัวตรวจกติกาเกม Sudoku

    โหลดไฟล์ตัวอย่างได้ที่นี่

    • ไฟล์ก่อนกรอกเลข (แสดงสูตรให้เห็น) sudoku-inwexcel(.xlsx)
    • ไฟล์หลังกรอกเลข (ซ่อนสูตร + lock cell พร้อมให้ user เล่น) sudoku-inwexcel2(.xlsx)

    Concept : เช็คว่ามีการทำผิดกติกาหรือไม่ ไล่ตามกติกาที่เขียนข้างบน แล้วนับว่ามีการทำผิดกติกากี่อัน/กี่ครั้ง จากนั้นนำผลการนับที่ได้มารวมกัน ถ้าสรุปแล้วมากกว่า 0 แสดงว่ามีการทำผิดกติกา

    สร้างตารางขนาด 9×9

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

    สอนทำเกม Sudoku ( Excel Sudoku) 1

    กำหนดเงื่อนไข ว่าให้ใส่ได้แค่เลข 1-9 เท่านั้น

    เราจะทำโดยใช้ Data Validation โดยเลือกพื้นที่ตาราง 9×9 แล้วไปที่ Ribbon Data=> Data Validation =>Data Validation…

    ใน Allow ให้เลือก Whole Number (จำนวนเต็ม) Between Minimum=1 Maximum=9
    sudoku-2

    สร้างตัวตรวจสอบว่าแต่ละแถวมีเลข 1-9 กี่ตัว

    ใช้ COUNTIF มาช่วย =COUNTIF(แต่ละแถว,แต่ละเลข1-9)

    ในที่นี้ผมเขียนว่า 

    =COUNTIF($C3:$K3,M$2)

    เพราะ C3:K3 ผมคือแถวแรก ส่วน M2 ผมคือเลข 1

    พอ copy ไปยังช่องอื่น สูตรจะใช้ได้โดยอันโนมัติ เพราะผม Lock คอลัมน์ไว้ที่คอลัมน์ C กับ K (เพื่อไล่ไปแต่ละแถวลงไปข้างล่าง) ส่วนช่อง M2 ล๊อคแถวไว้ เวลา Copy ไปจะได้ไล่ไปยังเลข 2-9 ต่อไปได้

    สอนทำเกม Sudoku ( Excel Sudoku) 2

    สร้างตัวตรวจสอบว่าแต่ละคอลัมน์มีเลข 1-9 กี่ตัว

    ใช้ COUNTIF มาช่วย =COUNTIF(แต่ละคอลัมน์,แต่ละเลข1-9)

    ในที่นี้ผมเขียนว่า

    =COUNTIF(C$3:C$11,$B13)

    เพราะ C3:C11 ผมคือคอลัมน์แรก ส่วน B13 ผมคือเลข 1

    พอ copy ไปยังช่องอื่น สูตรจะใช้ได้โดยอันโนมัติ เพราะผม Lockแถวไว้ที่แถว 3 กับ 11 (เพื่อไล่ไปแต่ละคอลัมน์ทางขวา) ส่วนช่อง B13 ล๊อคคอลัมน์ไว้ เวลา Copy ไปจะได้ไล่ไปยังเลข 2-9 ต่อไปได้

    สอนทำเกม Sudoku ( Excel Sudoku) 3

    สร้างตารางตรวจเช็คการใส่ข้อมูลซ้ำ ในแต่ละ Zone 3×3 อันใหญ่ 

    โดยใช้เทคนิค คล้ายๆ ที่เขียนไว้ใน http://www.thepexcel.com/prevent-duplicate-data-entry/
    แต่ว่าเราจะไม่ใช้ Data Validation แล้ว เพราะเราได้ใช้ไปแล้วในชั้นตอนแรก และผู้เล่นอาจต้องการลองใส่เลขเข้าไปก่อน ถ้าใช้ Data Validation จะไม่ยอมให้ใส่เลย อันนั้นแรงเกินไป ดังนั้นเราจะเขียนทดไว้อีกทีนึงแทนตามรูป (ขวาล่าง)

    โดยที่เราต้องเขียนสูตร 9 ครั้ง แยกแต่ละ Block ใหญ่ที่เป็นขนาด 3×3

    สอนทำเกม Sudoku ( Excel Sudoku) 4

    ใน Block แรก (M13) เขียนว่า =COUNTIF($C$3:$E$5,C3) แล้ว copy paste แค่ zone ตัวเอง คือ ช่อง M13 ถึง O15

    สอนทำเกม Sudoku ( Excel Sudoku) 5

    ใน Block ถัดไปทางขวา (P13) เขียนว่า 

    =COUNTIF($F$3:$H$5,F3)

     แล้ว copy paste แค่ zone ตัวเอง คือ ช่อง P13 ถึง R15

    ทำแบบนี้จบครบ 9 Block

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

    โดยใช้ COUNTIF มานับว่าช่วงที่เราหามีเลขอะไรมากกว่า 1 หรือไม่นั่นเอง โดยเขียนว่า

    =COUNTIF(C13:K21,">1")
    =COUNTIF(M3:U11,">1")
    =COUNTIF(M13:U21,">1")

    จากนั้นนำผลนับที่ได้มากรวมกัน ถ้ามากกว่า 0 แปลว่ามีการทำผิดกติกาครับ

    สอนทำเกม Sudoku ( Excel Sudoku) 6

    ทำการ Link ไปแสดงผลด้านบน พร้อมใส่ Conditional Format ให้สวยงาม

    เช่น ถ้า 3 ช่องนั้น SUM ได้มากกว่า 0 ให้เขียนว่า ไม่ ok เป็นต้น
    ในที่นี้ผมเขียนว่า 

    =IF(M23>0,"ไม่ok","ok") 

    โดย M23 ผมเป็นช่องที่เช็คผลรวมความผิดปกติ

    สอนทำเกม Sudoku ( Excel Sudoku) 7

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

    =IF(M23>0,"ไม่ok",IF(COUNT(C3:K11)=9*9,"จบเกม","ok"))

    การเตรียมการก่อนให้ผู้เล่นเริ่มเล่นเกมจริง

    ทีนี้ ก็สามารถใส่เลขเริ่มต้น ตามแต่ละ Puzzle ที่ได้มาได้เลย

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

    เทคนิคการเลือกพื้นที่เฉพาะที่เป็นเลขเริ่มต้นของเรา
    ให้เลือกพื้นที่ทั้งหมดในตาราง => Ctrl+G => Special => Constant => มันจะเลือกเฉพาะที่มีการกรอกข้อมูลเริ่มต้นไปแล้ว

    จากนั้นค่อยใส่สี หรืออะไรให้ต่างจากปกติ แล้วค่อยซ่อนแถวและคอลัมน์ที่เป็นตัวทดของเราไปซะ เพื่อความสะอาดตาด้วยการเลือก แถว หรือ column แล้วคลิ๊กขวา => Hide

    สอนทำเกม Sudoku ( Excel Sudoku) 8

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

    เลือกพื้นที่ทั้งหมดในตาราง => Ribbon Home =>Cells =>Format =>ติ๊กเอา Lock Cell ออก (เพื่อปลดการ Lock Cell ทั้งหมดก่อน)

    เลือกพื้นที่เฉพาะที่เป็นเลขเริ่มต้นของเรา มันจะเลือกเฉพาะที่มีการกรอกข้อมูลเริ่มต้นไปแล้ว จากนั้นกด

    Ribbon Home =>Cells =>Format => ติ๊กให้ Lock Cell ทำงาน (เพื่อให้ Lock Cell เฉพาะที่มีการใส่เลขลงไปแล้ว) จากนั้นกด Ribbon Review => Protect Sheet

    ถ้าติ๊กเอา Select Locked Cell ออก จะเป็นการห้ามให้ผู้เล่นมาเลือกช่องที่กรอกไว้แล้ว
    จะใส่ Password หรือไม่ก็ได้ แล้วกด OK

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

    ที่นี้ถ้าใครอยากได้ตัวโปรแกรมแก้ปัญหา Sudoku แบบบอกเฉลยได้เลย ผมจะแนะนำ Link ให้ครับ

    Sudoku Solver

    แบบที่ 1 : แก้โดยไม่ใช้ VBA แต่ใช้ Iteration แทน

    ดาวน์โหลดไฟล์

    https://templates.office.com/en-us/Sudoku-puzzle-solver-TM10080972

    สอนวิธีเขียน

    แบบที่ 2 แก้โดยใช้ VBA

    ลอง search Google ว่า Excel Sudoku Solver VBA ดูครับ

  • การห้ามใส่ข้อมูลซ้ำในพื้นที่ของ Excel

    การห้ามใส่ข้อมูลซ้ำในพื้นที่ของ Excel

    มีคนถามผมมาว่า เราจะห้ามใส่ข้อมูลซ้ำกันใน Excel ได้อย่างไร??

    ผมคิดว่าเป็นคำถามที่มีประโยชน์มาก เลยจะมาแชร์เทคนิคกันครับ เทคนิคนี้จะใช้ฟังก์ชั่น COUNTIF กับ Data Validation มาช่วยครับ

    ทำตามขั้นตอนนี้เลยนะครับ

    ลาก Select Range กำหนดพื้นที่ตามต้องการ 

    โดยใน Range นั้นจะเป็น Zone ที่ห้ามมีข้อมูลซ้ำกัน จะใหญ่แค่ไหนก็ได้ จะเป็นคอลัมน์เดียว หรือแถวเดียว หรือหลายคอลัมน์ หลายแถวก็ได้ครับ สมมติผมกำหนดเป็น B2:G10

    ไปที่ Ribbon Data => Data Validation => Data Validation…

    กำหนดเงื่อนไขใน Setting

    ในแถบ Setting ส่วนของ Allow เลือก Custom แล้ว ใส่ในแถบ Formula ดังนี้

    =COUNTIF(พื้นที่ที่ห้ามซ้ำ โดยให้ lock cell ด้วย ,ช่องซ้ายบนของพื้นที่ห้ามซ้ำ)=1

    นั่นคือ 

    =COUNTIF($B$2:$G$10,B2)=1

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

    สังเกตว่าช่วง B2:G10 ที่กำหนดจะ Lock cell ไว้เพื่อไม่ให้เลื่อน แต่ตรง B2 ห้าม lock cell นะครับ เพราะเราต้องการให้มันเลื่อนไปครอบคลุมทั้งพื้นที่ (ใส้สูตรใน Active Cell แล้ว Copy ไปใช้ทั้งพื้นที่ รายละเอียดตามนี้)

    ห้ามใส่ข้อมูลซ้ำใน Excel

    กำหนด Error Message

    ในแถบ Error Alert ใส่ Title และ Error Message ตามต้องการ

    ในที่นี้ ผมใส่ Title ว่า ห้ามใส่ข้อมูลซ้ำ และ Error Message ว่า ห้ามใส่ข้อมูลซ้ำในพื้นที่ที่กำหนด

    กด Ok เป็นอันจบ

    ต่อไปหากลองใส่ข้อมูลให้ซ้ำกัน มันก็จะขึ้นเตือนแล้วครับ !!

    ห้ามใส่ข้อมูลซ้ำใน Excel
  • การ Lookup ข้อมูล แบบ Case-Sensitive (สนตัวพิมพ์เล็กพิมพ์ใหญ่)

    Excel Lookup ไม่ลืมหูลืมตา ไม่ดูตัวพิมพ์เล็กพิมพ์ใหญ่!?

    ผมเดาว่าหลายๆ คนอาจยังไม่รู้ว่า ปกติ Excel จะ Lookup ข้อมูลแบบไม่สนตัวพิมพ์เล็กพิมพ์ใหญ่
    นั่นคือ หากเราจะหาคำว่า B1 จากตารางที่มีทั้งคำว่า b1 และคำว่า B1
    Excel จะเอาผลลัพท์จากคำที่เจอก่อน (วิ่งจากบนลงล่าง) โดยไม่สนว่ามันจะเป็นตัวพิมพ์เดียวกับคำที่เราต้องการหรือไม่ เพราะ Excel มันทำงาน Lookup โดยมองทั้งสองคำนั้นเหมือนๆ กันนั่นเอง

    ทางแก้ไข

    วิธีที่จะ Lookup ข้อมูล แบบ Case-Sensitive (สนตัวพิมพ์เล็กพิมพ์ใหญ่) ได้ จะต้องใช้ ฟังก์ชั่น EXACT และการทำงานของ Array Formula มาช่วย

    case-sensitive-lookup

    Concept การใส่สูตร

    {=INDEX(B2:B7,MATCH(1,–EXACT(A2:A7,A10),0))}

    หาว่าคำที่ต้องการอยู่แถวที่เท่าไหร่ก่อน ด้วย MATCH กับ EXACT จากนั้นค่อยใช้ INDEX ดึงค่าที่สอดคล้องออกมา

    หาว่าคำที่ต้องการอยู่แถวที่เท่าไหร่

    • พื้นฐานคือ ฟังก์ชั่น EXACT ไว้เทียบว่าคำสองคำเหมือนกันทุกประการหรือไม่ โดยแสดงผลกลับมาเป็น TRUE/FALSE
      • หากเราใส่ว่า =EXACT(“B1″,”b1”) จะได้ FALSE เพราะต่างกันตรงตัวพิมพ์เล็กพิมพ์ใหญ่
      • ส่วน =EXACT(“B1″,”B1”) จะได้ TRUE เพราะเหมือนกันทุกประการ
      • หากลองกด F9 ดู จะได้ว่า EXACT(A2:A7,A10)  เป็น {FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}
    • ที่นี้หากเราเอา TRUE/FALSE มาดำเดินการทางตัวเลขใดๆก็ตาม (เช่น *1 หรือ ใส่ติดลบเข้าไปสองที — ) มันจะกลายเป็นเลข 1 กับ 0
      • หากลองกด F9 ดู จะได้ –EXACT(A2:A7,A10) ออกมาเป็น {0;0;0;1;0;0}
    • จากนั้นเราจึงค่อย MATCH เลข 1 กับผลที่ได้ ว่าอยู่ที่ตำแหน่งแถวที่เท่าไหร่ หากมัน Match กันเจอ แสดงว่า คือคำที่เราต้องการนั่นเอง
      • จะได้ว่า MATCH(1,–EXACT(A2:A7,A10),0) คือ 4 (เพราะ 1 อยู่ลำดับที่ 4)
    • ดังนั้นเมื่อใช้ INDEX มาผสม ก็จะได้ค่าที่ต้องการ
      • =INDEX(B2:B7,MATCH(1,–EXACT(A2:A7,A10),0))
      • = #VALUE! ได้ Error เพราะลืมบอกว่าเป็น Array Formula
    • เราต้องกด CTRL+SHIFT+ENTER ด้วย (มันจะงอก ปีกกามาให้เอง) เพื่อให้มันทำงานแบบ Array Formula นั่นเองครับ
      • = 40 ถูกต้อง!!
  • เทคนิคการแปลงวันที่จาก พ.ศ. เป็น ค.ศ. แบบง่ายๆ ใน Excel

    เทคนิคการแปลงวันที่จาก พ.ศ. เป็น ค.ศ. แบบง่ายๆ ใน Excel

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

    บางครั้งเวลาเรากรอกข้อมูลใน Excel โดยตั้งใจกรอกเป็นวันที่ 31 มกราคม ปี พ.ศ. 2557 เราก็เลยกรอกลงไปว่า 31/01/2557 แต่สิงที่ Excel เข้าใจ คือ มันจะมองว่าเป็น ค.ศ. 2557 (หรือ พศ. 3100 )ต่างหาก!! ไม่ใช่ พ.ศ. 2557 อย่างที่เราอยากได้ (อันนี้ผิดในแง่ข้อมูลเลยนะครับ ไม่ใช่เรื่องของ Format)

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

    บางทีเราอาจมี Input ทำนองนี้อยู่มากมาย (เช่น Import มาจาก Database อื่นแล้วผิด Format มาเลย) จะไล่แก้ทีละอันก็ใช่เรื่อง… วันนี้ผมเลยมีวิธีแปลงข้อมูลพวกนี้ให้ถูกต้อง โดยแก้ปัญหา  พศ. กับ คศ. แบบง่ายๆ มาให้ครับ

    จริงๆทำได้หลายวิธีมาก ผมขอแนะนำซัก 2 แบบละกัน

    แปลงวันที่วิธีแรก ใช้ฟังก์ชั่น EDATE มาช่วย

    สมมติ ในช่อง A1 เป็น 31/01/2557 (excel เข้าใจว่าเป็น คศ. 2557 ) แล้วเราจะแปลงให้เป็น 31/01/2014 โดยใช้สูตรมาช่วย มาดูกันครับว่าทำยังไง

    วิธีคือ =EDATE(ช่องวันที่,-543*12)

    เดี๋ยวผมจะอธิบายว่าทำไมเขียนแบบนี้ครับ

    ก่อนอื่นต้องรู้จักฟังก์ชั่น EDATE ซะก่อนครับ… คร่าวๆคือมันสามารถเพิ่ม/ลด วันเข้าไปในวันที่ที่เรากำหนด โดยมีหน่วยเป็นเดือน โดยไม่สนว่าแต่ละเดือนจะมีกี่วัน เช่นจะมี 28, 29, 30 หรือ 31 วันก็ไม่สน

    วิธีการเขียนสูตร EDATE

    = EDATE(start_date,months)

    ตัวอย่างการทำงานของฟังก์ชั่น EDATE

    ให้ A1 = 31/01/2013

    • ถ้าใส่เลข months เป็นบวก มันจะเพิ่มเวลาไปในอนาคต เท่ากับจำนวน months
      • EDATE(A1,1) => 28/2/2013 (ไม่มีวันที่ 31/2/2013 จึงปรับเป็นวันสิ้นเดือนให้)
      • EDATE(A1,2) => 31/3/2013
      • EDATE(A1,3) => 30/4/2013 (ไม่มีวันที่ 31/4/2013 จึงปรับเป็นวันสิ้นเดือนให้)
      • EDATE(A1,4) => 31/5/2013
    • ถ้าใส่เลข months ติดลบ มันจะย้อนอดีตเท่ากับจำนวน months
      • EDATE(A1,-1) => 31/12/2012
      • EDATE(A1,-2) => 30/11/2012 (ไม่มี 31/11/2012)

    ใช้ EDATE แปลงจาก พ.ศ. เป็น ค.ศ.

    ที่นี้ถ้าเลขต้นฉบับ สมมติช่อง C1 เป็น  31/01/2557 แล้วเราจะทำให้เป็น 31/01/2014
    แปลว่ามันต้องย้อนอดีตไป 543 ปี => นั่นคือ 543*12 เดือน

    ดังนั้นเราจะเขียนสูตรว่า

    = EDATE(C1,-543*12) นั่นเองครับ (ติดลบ เพราะเลขต้องน้อยลง)

    เท่านี้ก็จะได้เป็นวันที่ 31/01/2014 แล้ว (ถ้าเห็นเป็นเลขหลักหมื่นให้ลองเปลี่ยน Format เป็น Date ดูครับ)

    ข้อสังเกต!! วิธีนี้กรณีของวันที่ 29 กพ. เช่น เดิมใส่เป็น 29/02/2556 ถ้าใช้สูตรนี้แปลงจะได้เป็น 28/02/2013 ซึ่งต่างจากวิธีล่างที่่จะได้วันที่ 01/03/2013 แทน  ซึ่งผมมองว่าวิธีบนถูกต้องมากกว่าครับ เพราะเป็นเดือนเดียวกันด้วย แต่ก็แล้วแต่สถานการณ์นะครับ

    แปลงวันที่วิธีที่ 2 ใช้ฟังก์ชั่น DATE, YEAR, MONTH, DAY

    วิธีนี้เป็นวิธีที่เห็นได้ทั่วไป ซึ่งผมมองว่าค่อนข้างยุ่ง  เพราะต้องเขียนเยอะ คือ แตกปี เดือน วันออกมา แล้วลบที่ปีไปด้วยเลข 543

    นั่นคือ

    • ปี = YEAR(ช่องวันที่)-543
    • เดือน = MONTH(ช่องวันที่)
    • วัน = DAY(ช่องวันที่)
    • แล้วจับรวมกันด้วยฟังก์ชั่น DATE(year,month,day) จะได้ว่า
      • =DATE(YEAR(ช่องวันที่)-543,MONTH(ช่องวันที่),DAY(ช่องวันที่))
      • ถ้าเห็นเป็นเลขหลักหมื่นให้ลองเปลี่ยน Format เป็น Date ดูครับ

    ข้อสังเกต!! วิธีนี้กรณีของวันที่ 29 กพ. เช่น เดิมใส่เป็น 29/02/2556 ถ้าใช้สูตรนี้แปลงจะได้เป็น 01/03/2013 แทน ซึ่งต่างจากวิธีบน ที่่จะยังได้วันที่ 28/02/2013 ซึ่งผมมองว่าวิธีบนถูกต้องมากกว่าครับ เพราะเป็นเดือนเดียวกันด้วย แต่ก็แล้วแต่สถานการณ์นะครับ

  • เล่นแร่แปรสูตร : การแปลงวันที่ Text ให้เป็นวันที่ Date

    ปกติแล้ว Excel จะมีฟังก์ชั่นที่ชื่อว่า DATEVALUE ในการเปลี่ยนวันที่ในรูปแบบ Text ให้กลายเป็นรูปแบบ Date จริงๆ ที่เป็นตัวเลขอยู่แล้ว… แต่ฟังก์ชั่นนี้มีข้อจำกัดอยู่มาก คือ มันจะ Convert Text ได้แค่ในรูปแบบที่มันรู้จักเท่านั้น (ซึ่งมีไม่กี่แบบ คล้ายๆตอนที่เราพิมพ์ลงไปใน cell ปกติ แหละครับ ว่า 31/1/2014 หรือ 31-Jan-2014 หรือ 31-01-2014 แล้ว excel มันจะฉลาดแปลงเป็นวันที่ได้เอง)

    ดังนั้น ถ้าหากเรามี Date ในรูปแบบแปลกไปจากที่มันรู้จัก เช่น 31012014 หรือ 20140131 อะไรแบบนี้ ฟังก์ชั่นนี้ก็จะเอ๋อไปเลย

    convert_text_to_date

    วันนี้ผมมีวิธีแก้มาแนะนำหลากหลายวิธีด้วยกันครับ ลองติดตามดูได้

    วิธี 1 ตัด Text ออกเป็นส่วนๆ แล้วเชื่อม (ยาก)

    Concept : ใช้พวกฟังก์ชั่น LEFT RIGHT MID หรือ Text to Column ช่วยตัดวันเดือนปีแยกออกจากกัน แล้วค่อยมาเชื่อมกันอีกทีด้วยฟังก์ชั่น DATE

    สมมติว่า ต้นฉบับ อยู่ในช่อง A1  คือ “20140131” (ปีเดือนวัน)

    • ตัดปี = LEFT(A1,4)
    • ตัดเดือน = MID(A1,5,2)
    • ตัดวัน =RIGHT(A1,2)
    • จับรวมด้วย DATE (year,month,day)
      • =DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))

    สมมติว่า ต้นฉบับ อยู่ในช่อง A1  คือ “31012014” (วันเดือนปี)

    • ตัดวัน =LEFT(A1,2)
    • ตัดเดือน = MID(A1,3,2)
    • ตัดปี = RIGHT(A1,4)
    • จับรวมด้วย DATE (year,month,day)
      • =DATE(RIGHT(A1,4),MID(A1,3,2),LEFT(A1,2))

    วิธี 2 แปลง Format ของ Text ให้ DATEVALUE รู้จัก (ง่าย)

    ในเมื่อฟังก์ชั่น DATEVALUE มันรู้จักรูปแบบแค่บางอย่าง เราก็ช่วยมันหน่อย โดยใช้ฟังก์ชั่น TEXT ช่วยแปลง FORMAT ให้

    สมมติว่า ต้นฉบับ อยู่ในช่อง A1  คือ “20140131” (ปีเดือนวัน)

    • ใช้ TEXT แปลง =TEXT(A1,”0000-00-00″)  <= ปี 4 หลัก เดือน 2 หลัก วันที่ 2 หลัก…
    • ใช้ DATEVALUE แปลงค่าให้เป็น Date จริงๆ =DATEVALUE(TEXT(A1,”0000-00-00″))
    • อาจได้ค่าออกมาเป็นตัวเลขธรรมดา ให้เปลี่ยน Format เป็น Date ก็จะเห็นเป็นวันที่ครับ

    สมมติว่า ต้นฉบับ อยู่ในช่อง A1  คือ “31012014” (วันเดือนปี)

    • ใช้ TEXT แปลง =TEXT(A1,”00-00-0000″) <= วันที่ 2 หลัก เดือน 2 หลัก ปี 4 หลัก
    • ใช้ DATEVALUE แปลงค่าให้เป็น Date จริงๆ =DATEVALUE(TEXT(A1,”00-00-0000″))
    • อาจได้ค่าออกมาเป็นตัวเลขธรรมดา ให้เปลี่ยน Format เป็น Date ก็จะเห็นเป็นวันที่ครับ
  • รวม 10 เทคนิค Excel ง่ายๆ ที่ทำให้คุณทำงานเร็วขึ้น

    รวม 10 เทคนิค Excel ง่ายๆ ที่ทำให้คุณทำงานเร็วขึ้น

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

    ผมเลยถือโอกาสนี้รวบรวม 10 เทคนิค Excel ง่ายๆ ที่ทำให้คุณทำงานเร็วขึ้น มาให้เพื่อนๆ ได้อ่านกันครับ

    1. ดูข้อมูลสรุปทางสถิติจากจาก Status Bar ด้านขวาล่าง

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

    เทคนิค Excel status bar

    Tips : เราเลือกได้ว่าใน Status Bar จะแสดงการสรุปอะไรบ้างโดยให้ลองคลิ๊กขวาที่ Status Bar ด้านล่าง แล้วติ๊กเลือกเอาได้ครับ ว่าจะเอาอะไร เช่น Average, Count, Numerical Count, Maximum, Minimum, Sum

    2. หัดใช้ Keyboard คีย์ลัดบ้าง

    เทคนิค Excel ctrl-c-ctrl-v copy paste

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

    สำหรับผมเอง เช่น

    • Ctrl+C : Copy
    • Ctrl+X : Cut
    • Ctrl+V : Paste
    • Ctrl + Z : Undo
    • Alt+ =  : Auto Sum
    • F2 : เข้าสู่ Edit Mode
    • F3 : Paste Name (ชื่อที่ตั้งเอาไว้แล้ว)
    • F4 : ล๊อค Cell (ใน Edit Mode ) / Repeat ทำซ้ำ
    • F5 : ให้ลากครอบ Cell Reference ใน Formula Bar แล้วกด F5 แล้ว Enter เพื่อไปเลือก Cell/Range นั้นๆ ได้เลย
    • F9 : แปลงสูตรเป็น Value (ใน Edit Mode) / Recalculate

    สามารถไปดูสรุปคีย์ลัดที่สำคัญ พร้อมวิธีการจำได้ที่ =>

    3. ใช้ Quick Access Toolbar

    เทคนิค Excel QAT Qiuck Access Toolbar

    นอกจากเราจะมี Ribbon มาตรฐานให้ใช้แล้ว เรายังสามารถ Add คำสั่งที่เราใช้บ่อยๆ ไว้ที Quick Access Toolbar ที่อยู่มุมบนซ้ายได้ด้วย รวมถึงสามารถใส่คำสั่งที่ไม่มีใน Ribbon ปกติได้อีกต่างหาก และที่สำคัญยังใช้ร่วมกับคีย์ลัด ปุ่ม Alt+1, Alt+2 …. (ไปเรื่อยๆ) ได้อีกด้วย

    สามารถดูวิธีเพิ่มปุ่มลงใน Quick Access Toolbar ได้ที่ => http://www.thepexcel.com/quick-access-toolbar/

    4. ใช้ Defined Name ในการอ้างอิงสูตร

    เทคนิค Excel defined name

    การตั้งชื่อให้ Cell หรือ Range มีข้อดีหลายอย่าง เช่น

    • อ่านสูตรเข้าใจได้ง่ายกว่า เพราะสามารถใส่เป็นคำที่มีความหมายได้
    • บริหารจัดการง่าย เวลาแก้ไขการอ้างอิง ก็สามารถแก้ได้ที่ Name Manager ที่เดียวเลย เหมาะอย่างยิ่งกับการอ้างอิงไปที่ช่องที่มีการอ้างถึงบ่อยๆ หรือ Range ที่อาจมีการเพิ่มเติม Item ภายหลัง เช่น  Reference Table 
    • เวลาใช้ VBA อ้างอิง หากอ้างไปที่ Defined Name จะสะดวกกว่าอ้างไปที่ชื่อ Cell เพราะเวลาเราแทรก Cell แล้ว การอ้างอิงใน VBA จะไม่เลื่อนตามให้ เหมือนการอ้างอิงใน Sheet ปกติ ซึ่งจะไม่เป็นปัญหากเลย หากเราใช้ Defined Name แทน
    • ไม่ต้องกด Ctrl+Shift+Enter เวลาใช้เป็น Array Formula

    วิธีตั้งชื่อ Definced Name ให้ Cell หรือ Range

    1. เลือก Cell หรือ Range ที่ต้องการตั้งชื่อ
    2. ไปที่ Name Box ที่อยู่ซ้ายมือของช่องใส่สูตร
    3. พิมพ์ชื่อที่ต้องการแล้วกด Enter

    วิธีบริหารจัดการชื่อ ให้ไปที่ Ribbon Formula => Name Manager (หรือกด Ctrl + F3)

    5. สร้าง Custom List เพื่อช่วย Auto Fill / Sort

    บางทีเราต้องการให้ Excel สามารถ Auto Fill ข้อมูลให้เราโดยอัตโนมัติ เช่น A-Z หรือ ก-ฮ แต่เชื่อหรือไม่ว่า Excel ทำไม่ได้ เพราะมันไม่รู้จัก List พวกนี้ (ไม่เข้าใจมันจริงๆ ว่าทำไมแค่นี้ไม่รู้จัก…)

    แต่ไม่ต้องกลัวไป เราสามารถสอนให้ Excel รู้จัก List ที่เรากำหนดเองได้ เพื่อให้มัน Autofill และ Sort ตาม List ที่เรากำหนดเป็นด้วย (เลือกได้ใน Sort Option ว่าจะ Sort Order ตาม อะไร)

    เทคนิค Excel custom list

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

    • ไปที่ Excel Option => Popular => Edit Custom List
    • จากนั้นสามารถใส่คำที่ต้องการลงไปได้เลยในช่อง List entries (แยกคำด้วย Enter) หรือจะ Import จาก Range ที่มีอยู่ก็ได้ครับ (แต่ต้องเป็น Text ที่เป็น Value ไม่ค้างเป็นสูตร)
    • อย่างตัว A-Z นี้ผมสร้างจากสูตร =CHAR(65), =CHAR(66) ไปเรื่อยๆ
      • วิธีคือ สร้างเลขเรียงกันในคอลัมน์นึง เช่น A1,A2…
      • แล้วค่อยเขียน =CHAR(A1) ไว้คอลัมน์ข้างๆ แล้ว Copy ลากยาวลงมา…
      • จากนั้นค่อย Paste เป็น Value อีกที 

    6. เรียนรู้ Function ให้มากขึ้น

    Excel มีฟังก์ชั่นเยอะแยะมากมาย ซึ่งบางฟังก์ชั่นออกแบบมาให้เราทำงานได้ง่ายมากๆ ถ้าเรารู้จักใช้มัน
    แต่ในทางกลับกัน หากเราไม่รู้ว่ามี Function แบบนั้นแบบนี้อยู่ เราก็อาจทำงานถึกโดยไม่จำเป็น…

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

    เทคนิค Excel product function

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

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

    7. ใช้ Picture Link ช่วยตรวจผลกระทบที่ช่องปลายทาง

    เวลาต้องการตรวจผลกระทบต่อการกรอกข้อมูลช่องนึงไปยังอีกช่องนึง (โดยเฉพาะช่องที่อยู่ไกลๆ) เราสามารถใช้ Picture Link  มาช่วยได้ (มีตั้งแต่ Excel 2007 ขึ้นไป) โดย

    • ให้ Copy Range ปลายทาง ที่ต้องการดูผลลัพธ์
    • Paste ที่ใกล้ๆ กับช่องต้นทาง โดยให้เลือก => Paste =>As Picture => Paste Picture Link
    • ย่อ/ขยาย/เคลื่อนย้ายรูปได้ตามสะดวก
    • ลองเปลี่ยนค่าต้นทางดู เพื่อดู Effect ที่ปลายทาง
    เทคนิค Excel picture link

    8. ใช้ Paste Column Widths แทนการนั่งปรับความกว้างของคอลัมน์เอง

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

    เทคนิค Excel paste-column-widths

    วิธีการ

    • เลือกที่ cell หรือ range ต้นฉบับที่ต้องการ copy ความกว้างคอลัมน์มา
    • กด copy
    • ไปเลือกที่ช่องปลายทาง
    • กด Paste Special => Column Widths

    9.  Lock Format Painter เอาไว้ เพื่อให้ Paint ช่องปลายทางได้ทีละหลายๆ รอบ

    ผมคิดว่าหลายๆ ท่านคงเคยใช้ Format Painter กันบ้างแล้ว แต่ไม่แน่ใจว่าเวลาสมมติอยากจะ copy format  จากช่องนึง ไป Paste ยังช่องปลายทาง หลายๆ ช่องที่ไม่ติดกัน เพื่อนๆ ทำยังไง

    ถ้าคนไม่รู้เทคนิค อาจใช้วิธี เลือกช่องต้นฉบับ … แล้วกดปุ่ม Format Painter 1 ที… แล้วกดช่องปลายทาง 1 ที… จากนั้น เริ่มใหม่ ไปที่ช่องต้นฉบับ อีกที painter อีกที ปลายทางอีกที…ไปเรื่อยๆ.. ซึ่งเสียเวลามากครับ!!

    เทคนิค Excel lock format painter

    วิธีที่ดีกว่าคือ

    1. ให้เลือกช่องต้นฉบับ
    2. ดับเบิ้ลคลิ๊ก ที่ปุ่ม Format Painter (ปุ่มจะถูกเลือกค้างไว้เลย ต่างจากการกดปกติที่กดเพียง 1 ที)
    3. เลือกช่องปลายทางกี่ทีก็ได้ตามต้องการ
    4. หากจะเลิก Paint ค่อยกลับมากดปุ่ม Format Painter อีกครั้งหนึ่ง

    10. ทำงานใน Excel แล้วค่อยใช้ Copy ไป Paste as Link ลงที่อื่น

    เมื่อมีการทำข้อมูลเป็นตาราง มีการคำนวณ หรือมีกราฟ ผมแนะนำให้ใช้ Excel ทำงาน แล้วค่อย Copy เป็น Link ไปยัง MS Word หรือ PowerPoint ปลายทางแทน

    เทคนิค Excel paste-link

    เหตุผล :

    • เนื่องจาก Excel มีความยืดหนุ่นสูง เวลาค่า input บางอย่างในตารางเปลี่ยนไป ค่า output จะถูกคำนวณใหม่ทันที ไม่ต้องมาพิมพ์ซ้ำลงไปอีก (จะเนื่องจากอะไรก็แล้วแต่ เช่น เจ้านายสั่งเพิ่ม เราทำผิดเอง หรือข้อมูลใหม่เพิ่งจะมา)
    • การรวมข้อมูลอยู่ในที่เดียวกันคือใน Excel แล้ว Link ไปแสดงในที่ต่างๆ ย่อมมีประสิทธิภาพมากกว่าทำข้อมูลในหลายๆที่และ ทำให้ไม่มี conflict ด้านข้อมูล

    วิธี Copy ไป Paste เป็น Link :

    1. ให้ Copy ข้อมูลตาราง หรือ กราฟใน Excel
    2. เปิด MS Word หรือ PowerPoint ที่เป็นโปรแกรมปลายทาง
    3. Paste => Paste Special => เลือก Paste Link

    ป็นอย่างไรบ้างครับกับ รวม 10 เทคนิค Excel ง่ายๆ ที่ทำให้คุณทำงานเร็วขึ้น ถ้าเพื่อนๆ มีเทคนิคอื่นๆ จะแชร์ก็สามารถ comment ไว้ได้ หรือจะไปพูดคุยกันใน inwexcel Facebook Page ก็ได้นะครับ

    ในตอนต่อไป ผมจะมาแชร์ รวม 5 เทคนิคการเขียนสูตรใน Excel ที่คุณอาจยังไม่รู้มาก่อน! ใครสนใจ คลิ๊กเลยครับ ^^

  • เทคนิคการลบ Hyperlink และป้องกันไม่ให้ Excel ใส่ Hyperlink เองแบบอัตโนมัติ

    บ่อยครั้งที่เราไม่อยากให้ Excel ใส่ Hyperlink ให้เราเองโดยอัตโนมัติ จริงๆ เราสามารถไป set ค่าได้ครับ และมีวิธีเอา Hyperlink ที่มีอยู่ออกแบบง่ายๆ ด้วย ทำยังไงมาดูกัน

    วิธีการป้องกันไม่ให้มี Auto Hyperlink

    สามารถไป set ค่าได้ใน Options => Proofing => Auto Correct Options => Auto Format As You Type

    จากนั้นเอาติ๊กถูกหน้าคำว่า Internet and Network path with hyperlinks ออกครับ

    excel-not-auto-hyperlink

    วิธีลบ Hyperlink ที่มีอยู่ออกแบบง่ายๆ

    Excel 2010 ขึ้นไป

    วิธีที่ 1 : คลิ๊กขวา => Remove Hyperlinks

    remove-link2010-1

    วิธีที่ 2 : ไปที่ Ribbon Home  ส่วนของ Editing => Clear => Remove Hyperlinks

     

     

     

    remove-link2010-2

    Excel ver. ต่ำกว่า 2010

    paste-special-multiply-remove-hyperlink

    มี step ดังนี้

    1. ให้ Copy ค่าจากช่องที่ว่างๆอยู่ แล้วมา Paste Special ลงช่องที่มี Link
    2. แล้วให้เลือก Option ของ Paste Special เป็น Multiply

    ป.ล. วิธีนี้ผมลองใน Excel 2007 แล้ว Hyperlink หายไปจริง แต่ Format พวกสีตัวอักษรกับการขีดเส้นใต้ยังอยู่ครับ ต้องมาแก้ format อักษรอีกที

  • ภาพวาดงามๆ โดย ศิลปินผู้ใช้ Excel เป็นเครื่องมือ (Excel Artist)

    จะมีกี่คนที่คิดว่า Excel สามารถวาดรูปอย่างจริงจังออกมาสวยงามได้ไม่แพ้โปรแกรมแพงๆ อย่าง Illustrator หรือ Photoshop

    ผมจะแสดงให้ดูครับว่า Excel วาดรูปได้สวยงามแค่ไหน

    วาดรูปด้วย Shape

    คุณปู่ชาวญี่ปุ่นที่มีชื่อว่า Tatsuo Horiuchi เค้าใช้ Excel วาด Shape ออกมาทีละชิ้น แล้วเอามาประกอบกันเป็นรูปสุดอลังการได้สวยงามมากจริงๆครับ

    horiuchi-tatsuo-excel

    คุณปู่คนนี้ตัดสินใจซื้อคอมพ์แล้วหัดใช้ Excel ก่อนจะถึงวัยเกษียณ โดยเน้นเอามาใช้วาดรูป เพราะปู่เค้าคิดว่าโปรแกรมวาดรูปทั่วไปมีราคาแพงมาก Excel จริงๆก็วาดรูปได้เหมือนกัน  แถมวาดได้สวยกว่าใช้โปรแกรม Paint ตั้งเยอะแน่ะ (ถ้าปู่อยู่เมืองไทยคงซื้อ Photoshop หรือ Illustrator เถื่อนไปแล้ว และคงไม่ดึงถึงขนาดนี้)

    ไม่ต้องคิดไรมาก ลองดูรูปผลงานของแกได้เลยครับ

    horiuchi-tatsuo-excel2

    ใครไม่เชื่อว่าวาดด้วย Excel จริง โหลดไฟล์นี้ไปเปิดเล่นได้เลย excel-art (.zip)

    Video การวาดรูป Gundam ด้วย Excel

    ส่วนอันนี้เป็นผลงานของ shukei01 ครับ เป็น Video การวาดรูป Gundam ด้วย Excel ซึ่งก็ inw ไม่แพ้กันเลยครับ…

    วาดรูปด้วยการ Fill สีลงช่อง แล้วทำให้ช่องขนาดเล็กๆ ละเอียดๆ

    มักใช้เลียนแบบกราฟฟิกของเกมสมัยก่อนที่ภาพยังไม่ค่อยละเอียดมาก แต่ผมไม่นับพวกที่ใช้ plugin ทำนะครับ แบบนั้นมันไม่ใช่ศิลปะ หึหึ

    Pokemon โดย thetokomitsu

    excel pokemon

    รวมมิตรตัวละครจากเกม (โดย synbios16)

    excel-game-art

     

    ยังมีอีกเยอะครับ ไปดูได้ที่ http://www.hongkiat.com/blog/microsoft-excel-artworks/

    เห็นอย่างนี้แล้ว อยากวาดรูปด้วย Excel กันบ้างมั๊ยครับ??

  • เทคนิคการลบข้อมูลเก่าที่ค้างอยู่ใน Pivot Table

    เทคนิคการลบข้อมูลเก่าที่ค้างอยู่ใน Pivot Table

    เวลาที่เราทำ Pivot Table เสร็จแล้วมีการเปลี่ยนแปลงข้อมูลใน Source Data อาจทำให้มีเหตุการณ์ที่มี Item ที่เคยอยู่ใน Source Data เก่าตกค้างใน Drop Down List ใน Row Label, Column Label, หรือ Filter ได้

    pivot-old-item

    หากเพื่อนๆใช้ Excel ตั้งแต่ Version 2007 ขึ้นไป สามารถแก้ไขเหตุการณ์ดังกล่าวได้ง่ายมากๆ โดย

    1. คลิ๊กขวาที่ตาราง Pivot
    2. เลือก PivotTable options
    3. เลือก Data tab
    4. ในหมวด Retain Items เลือก None
    5. OK แล้วกด Refresh ตาราง Pivot อีกครั้ง
    pivot-old-item2

    สำหรับ Excel Version เก่า สามารถไปโหลด Script VBA เพื่อแก้ไขได้ที่ http://www.contextures.com/xlPivot04.html

  • ลูกเล่นเกี่ยวกับ Gridlines

    คำว่า Gridlines ในที่นี้คือ เส้นแบ่งช่อง ไม่ใช่กรอบของช่องแต่ละช่อง หรือ Border นะครับ

    การซ่อน Gridlines ให้มองไม่เห็นบนหน้าจอ

    เราสามารถซ่อนไม่ให้มองเห็นบนหน้าจอคอมพ์ได้ ซึ่งทำได้ 2 วิธี ซึ่งดีกว่าการใช้วิธีถม Fill Color ด้วยสีขาวแน่นอน

    excel grid lines

    1. ไปที่ Ribbon แถบ View แล้วติ๊ก Gridlines ออก
    2. ไปที่ Ribbon แถบ Page Layout => Sheet Options แล้วติ๊ก View ตรงแถบ Gridlines ออก

    การ Print เส้น Gridlines

    ซึ่งปกติ Gridline จะ มองไม่เห็นเวลา Print ลงกระดาษอยู่แล้วนะครับ แต่เราสามารถตั้งค่าให้มันพิมพ์แล้วมองเห็นได้ด้วย โดย

    ไปที่

    Ribbon แถบ Page Layout => Sheet Options แล้วติ๊ก Print ตรงแถบ Gridlines ให้ติ๊กค้างเอาไว้

  • เล่นแร่แปรสูตร: หาว่าใน cell นั้นๆ มีตัวอักษรที่เรากำหนดอยู่กี่ตัว

    สถานการณ์

    ในช่อง A1 มีคำว่า THE*DARK*KNIGHT*IS*COOL

    ผมต้องการหาว่ามีตัว * กี่ตัว จะทำยังไง??

    ส่วนประกอบ

    • LEN เพื่อนับจำนวนตัวอักษรทั้งหมด
    • SUBSTITUTE(text,old_text,new_text,[instance_num]) เพื่อแทนที่ตัวอักษร

    Concept การผสมสูตร

    • ใช้ LEN เพื่อนับตัวอักษรทั้งหมดว่ามีกี่ตัว
    • ใช้ SUBSTITUTE แทนที่ตัวอักษรที่เราต้องการหาด้วย “” (เหมือนลบตัวอักษรนั้นทิ้ง)
    • ใช้ LEN นับคำที่ SUBSTITUTE แล้ว จากนั้นเอาไปหักออกจากที่นับไว้ตอนแรก

    ขั้นตอนการผสมสูตร

    ในช่อง A1 เขียนว่า THE*DARK*KNIGHT*IS*COOL

    ในช่องอื่น ช่องไหนก็ได้

    • =LEN(A1)  ได้ 23
    • =SUBSTITUTE(A1,”*”,””)  ได้ THEDARKKNIGHTISCOOL
      • เราตัดตัว * ทิ้งทั้งหมด ด้วยการไม่กำหนด [instance_num] ว่าจะแทนที่ตัวไหนเป็นพิเศษ
    • นับ THEDARKKNIGHTISCOOL
      • =LEN(SUBSTITUTE(A1,”*”,””)) ได้ 19
    • เอามาลบกัน
      • =LEN(A1) – LEN(SUBSTITUTE(A1,”*”,””)) ได้ 4 ครับ