วันอาทิตย์ที่ 24 สิงหาคม พ.ศ. 2557

Excel แก้ปัญหา งานซับซ้อน ด้วย Solver

Excel แก้ปัญหา งานซับซ้อน ด้วย Solver

Excel เป็นโปรแกรม กระดาษคำนวน  ที่เห็นแล้วเข้าใจได้ง่าย   ทำให้คนส่วนใหญ่ นิยมนำมาใช้งาน
แต่ในการทำงานจริง  พบว่า  หลายๆงาน มีความซับซ้อนมาก
เช่น  อยากจะทำ  การวางแผนการผลิต = MRP (Material Requirement Planning)
        อยากให้ Excel "แนะนำ" ค่าที่ควรจะเป็นให้

งาน MRP ในสาย IT  จะแนะนำให้เปลี่่ยนจาก Excel ไปเป็น Database และ เขียนโปรแกรม
ส่วนการให้ Excel  "แนะนำ" เป็นหัวข้อที่เราจะคุยกัน

มาลองดู ตย.กันครับ

ร้านขนม  กำหนดว่าจะทำขนม 2 ชนิด (เค้ก, เค้กพิเศษ)
ซึ่งใช้ส่วนผสมหลักในปริมาณต่างกัน  และมีวัตถุดิบ ตามตาราง

จะเลือกทำ เค้ก ชนิดไหน? จำนวนเท่าไหร่ ?  เพื่อให้มี รายได้มากที่สุด

สร้างตารางคำนวน  ในพื้นที่ I2:O5
    เมื่อเลือก  ทำ เค้ก, เค้กพิเศษ  จำนวน=?  จะได้ราคา =? และใช้วัตถุดิบ = เท่าไหร่ ?

กำหนด  กฏต่างๆ
  • Objective = รายได้มากที่สุด  Cell = J5   ให้ได้ ค่ามากที่สุด (Max)
  • ให้ Excel : Solver เปลี่ยนค่า I3:I4 
  • ข้อจำกัด ต่างๆ  เช่น  หลังจากเปลี่ยน จำนวนแล้ว  วัตถุดิบไม่เกิน
  • method กรณีนี้เลือกเป็น   Simplex LP



ดูผลลัพธ์  จากการทำงาน

คำตอบดู ติงต๊อง น๊ะครับ  เพราะเรากำหนดให้  ตัวเราเดาคำตอบได้ง่าย
ให้ลอง  ปรับ  ราคา, สูตรการผลิต, วัตถุดิบคงเหลือ แล้วลองเรียก Solver ใหม่ - แล้วลองดูผล

เมื่อเข้าใจแล้ว  ลอง  "เพิ่ม" ชนิดเค้ก เป็น 5 รายการ  มีสัดส่วนต่างกัน


วันศุกร์ที่ 22 สิงหาคม พ.ศ. 2557

Excel ทำรายงานสรุป แบบเข้าใจง่าย

Excel ทำรายงานสรุป แบบเข้าใจง่าย

ไม่เคยคิดว่า จะเขียนหัวข้อนี้น๊ะครับ  เพราะเคยอ่านตั้งแต่ Excel 97 (17 ปีที่แล้ว)

แต่ต้องยอมรับว่า   เป็น  พื้นฐานที่ดี  และ  เข้าใจง่าย
       เห็นกลไก การทำงาน ทุกอย่าง  แบบตรงไปตรงมา
       ในเวอร์ชั่น ปัจจุบัน จะมีตัวข่วยต่างๆ  ทำให้ง่ายขึ้น
 
อดีต ผมมักจะแสดงให้เห็น
ก่อนที่  จะเปลี่ยน ไปใช้อะไรที่   เร็ว,ง่ายกว่า  
        แต่ผู้ใช้งานส่วนใหญ่  ก็มักจะไม่มั่นใจ  ที่จะนำ ของใหม่  ไปใช้อยู่ดี
       (ไม่ต้อง งง! ครับ  คนในกลุ่ม IT เองยังแสดงให้เห็นว่า  ไม่มั่นใจ  ฮาาา)

เราจะสร้าง  รายงานสรุป  จากตารางข้อมูล ตามตัวอย่างนี้กัน


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



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

2. เตรียมค่าพื้นฐานไว้ก่อน
    2.1 เปลี่ยน  ตารางข้อมูล  เป็น  Table

    2.1.1 คลิกใน พื้นที่  ที่จะสร้าง Table เช่น Cell = B4
    2.1.2 ตัวเลือกด้านบน  เลือก Insert > Table
          สังเกต  จะเห็น Excel พยายาม  เดาว่าตารางของเรา มีระยะ จากไหนถึงไหน



   2.2 ตั้งชื่อ  แต่ละ Column (ที่จะเรียกใช้บ่อยๆ) เป็น  "ชื่อ"
         เราจะเรียกใช้  เป็นกลุ่ม Column  (ตามภาษาพูด)  เช่น รายงานสรุปตาม "จังหวัด"
     2.2.1 เลือก พื้นที่คลุม  "จังหวัด" เช่น ฺB1:B11
     2.2.2 ด้านบน คลิก Formulas > Create from Selection



           * ทำซ้ำกับ จำนวน และ ราคา

3. สร้าง สรุปรายชื่อ "จังหวัด" ด้วย Advance Filter
    3.1 คลิกใน พื้นที่  Data เช่น Cell =B4
          ด้านบน เลือก Data > Advance Filter  (คัดกรองข้อมูล)
    3.2 ปรับ ให้ผลการคัดกรอง  copy ไปเริ่มแสดงที่ Cell = F2
                  เปลี่ยน ตัวเลือก เป็น  Copy to anather location
                  List Range (กรองในพื้นที่  จังหวัด)
                          คลิกที่ช่องนี้  แล้วไป  เลือกพื้นที่คลุม  "จังหวัด"
                                  เช่น  Cell = B1:B11
                                          หรือ   กด F3  แล้วเลือก "จังหวัด" (แสดงรายชื่อที่เรา  เตรียมไว้ในข้อ 2.2)
                  Criteria  (ไม่ใช้)
                  Copy To   ระบุ F2
                  เช็ค  Unique Record Only


    ผลลัพธ์ที่ได้


4. สร้าง  สรุป "จำนวน" ในแต่ละจังหวัด ด้วย SumIF  
    4.1  คลิกที่ Cell = G3  ป้อนสูตร =SUMIF()
           จากนั้น กดปุ่ม Fucntion (เพื่อให้ความหมาย,วิธีใช้) หรือ ป้อนโดยตรง  ตามนี้
                   Range    ป้อน "พื้นที่" รายการจังหวัด
                                 ป้อน B2:B11    หรือ ลากคลุมพื้นที่ B2:11
                                 หรือ   กด F3  แล้วเลือก "จังหวัด" (แสดงรายชื่อที่เรา  เตรียมไว้ในข้อ 2.2)
                   Criteria  ป้อน F2     ระบุว่า Sum เฉพาะจำนวนที่ตรงกับ  F2  
                   Sum_Ranเe   ป้อนพื้นที่ "จำนวน"
                                  ป้อน C2:C11   หรือ ลากคลุมพื้้นที่ C2:C11
                                  หรือ   กด F3  แล้วเลือก "จำนวน"


    ผลลัพธ์ที่ได้
      4.2  ลอกสูตรจาก G3 ไปยัง G4,G5  ตามลำดับ
             เลือกวิธีที่  ถนัด และ เร็วที่สุด เช่น
             - คลิก Cell= G3    แล้วกด  จุดสี่เหลี่ยม  มุมขวาล่าง
                       กดค้างไว้  แล้ว  ลากลงมาคลุม G4,G5

              - คลิกที่ Cell = G3   copy (กดปุ่ม Ctrl ค้างไว้ แล้วกด C)  หรือ กดที่ Home > Copy
                คลิกพื้นที่  G4:G5  แล้ว paste  (กดปุ่ม Ctrl ค้างไว้ แล้วกด V)  หรือ กดที่ Home > Paste

      ทำซ้ำกับ ราคา

สรุป

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

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

FAQ: 
Q: ทำไม Excel ไม่เรียงลำดับในหน้าจอเดียว  บอกลำดับ 1-2-3 ซะเลย
A: แนะนำได้แค่  สร้างทักษะ ครับ  (ทำหลายๆตัวอย่าง)
   idea นี้แจ๋ว  เหมาะกับ "ผู้เริ่มต้น"  จริงๆ 
   แต่เมื่อใช้งานเป็นแล้ว  จะพบว่า  "ไม่เหมาะ" เพราะ จะต้องมีเมนูเฉพาะ ให้เลือกใช้มากกว่า 500 รายการ (คราวนี้  มีมากกว่าตัวเลือกปัจจุบัน แล้ว)  
   โปรแกรมส่วนใหญ่  จึงมัก จัดกลุ่ม ตัวเลือกตาม "นิยาม"  
   แรกๆ มักก็น้อยดี  แต่หลังๆ  มีคนอยากให้ Excel ช่วยทำได้มากกว่านั้นอีก  ทำให้มีตัวเลือก ใหม่เพิ่มขึ้นมามาก (จะเห็นว่า จะทำ 1 เรื่อง  ทำได้หลายวิธี)     

Q: จะเรียนเทคนิคได้ที่ไหน
A: แบบฟรี   ก็ดู VDO ผ่าน You Tube ครับ  (มีให้เลือกดูมาก) มีวินัย  นั่งดูวันละ 10-20 นาทีก็พอ
     แบบเสียเงิน  มีเปิดสอนกันเต็มไปหมด 

Q: อยากเรียนรู้แบบ เร็ว และ ได้ดั่่งใจ
A: ต้องไปคุยกับ  ผู้สอน  เรียนแบบกำหนดรายละเอียดให้เหมาะกับ  องค์กร
     เคยมี หน่วยงานรัฐ,หลายองค์กร  เคยมาถามว่าอยากเรียนแบบนี้  ให้สอนคนทั้งองค์กร
              ส่วนตัว ผมจะตอบว่า  "อย่าเลย  ค่าใช้จ่าย สูง"  ได้ผลลัพธ์ไม่ค่อยชัด
              หลังเรียน  "ต้อง" ฝึกทำด้วย

              ผมมักจะแนะนำ ว่า  ให้สร้างทีมคนเก่ง ในองค์กร  แล้วให้กลุ่มนี้ ไปสอน และเป็นที่ปรึกษา น่าจะเหมาะที่สุด  (งบไม่บาน และเห็นผลชัดเจน)

วันอังคารที่ 19 สิงหาคม พ.ศ. 2557

Excel กราฟเส้นตรง - ทำให้เส้นต่อกัน ข้าม 0

Excel : LineChart  ทำให้เส้นกราฟ  ต่อกัน

ตย. อยากได้แบบนี้
 แต่กราฟที่สร้างทั่วไป   รายการที่เป็น 0 จะได้แบบนี้

 หลักการ - ก็เราระบุ ว่าเป็น 0   Excel ก็ทำตามที่เราระบุ ครับ
      ปรกติ  เมื่อค่าเป็น ""  Excel จะ  สร้างช่องว่าง (Gap) ให้
ขั้นตอน

  1. ต้องเปลี่ยนจาก 0 เป็น  ""  (ไม่มีค่า)  ซะ
    ถ้าค่า  มาจากการคำนวน  ให้เพิ่มสูตร เช่น   =IF(result <> 0,result,"")
  2. เปลี่ยนจาก Gap เป็น ต่อเส้น (connect data point with line)
    Right-Click ที่ Chart > เลือก    "Select Data"   ... จะเปิดหน้าต่างใหม่
    (Win:Select Data Source) กด [Hidden and Empty Cells]
    (Win:Hidden and Empy Cells] เปลี่ยน มาเลือก connect data point with line