ข่าวใหญ่มากเมื่อไม่กี่ชั่วโมงที่ผ่านมาคือ Excel ใช้ Python ได้แล้ว!
สำหรับผม นี่คือ Game Changer เลยนะ เพราะ Python ทำอะไรได้เยอะมาก และอาจเปลี่ยนรูปแบบการทำงาน (ของคนวิเคราะห์ข้อมูล) ไปตลอดกาล
การใช้ Python ใน Excel มีข้อดียังไง ผมจะสรุปให้ฟัง 😊
1. ไม่ต้องลงโปรแกรมเพิ่ม
ถ้าใครเคยใช้ไพธอนจะพบว่ามีขั้นตอนยุ่งยาก เพราะต้องลงโปรแกรม Jupyter Notebook หรือใช้งานผ่าน Google Colab
แต่ถ้าใช้ไพธอนใน Excel ไม่ต้องทำอะไรเพิ่ม ใช้งานได้เลย
แค่พิมพ์ในเซลล์ใด ๆ ว่า =py แล้วกด tab จากนั้นก็เขียนโค้ดของไพธอน เช่น
df = xl( "A1:B10", headers = True )
คำสั่งนี้แปลว่า ให้เชื่อมกับข้อมูลในเซลล์ A1:B10 โดยให้บรรทัดบนสุดเป็นหัวตาราง (header)
(ไพธอนเพิ่มคำสั่งชื่อว่า xl เพื่อใช้เชื่อมโยงกับข้อมูลใน Excel)
หรือใช้คำสั่งอื่น เช่น
df.describe()
คำสั่งนี้แปลว่า ให้อธิบายข้อมูล (A1:B10) โดยใช้สถิติเชิงพรรณา (Descriptive Statistics)
df.groupby("Product").Revenue.sum()
คำสั่งนี้เทียบเท่าการใช้ Pivot Table แล้วสรุปยอดขายของสินค้าแต่ละตัว
(ใช่, บรรทัดเดียวจบ!)
Note: คำสั่งไพธอนทั้งหมดรันบน Microsoft Cloud ดังนั้นจึงต้องต่อเน็ต (และอาจช้าในบางครั้ง)
2. ใช้งานร่วมกับฟีเจอร์ปกติของ Excel ได้เลย
ไม่ว่าจะเป็น กราฟ, Pivot Table, Conditional Formatting หรือแม้กระทั่ง Power Query ก็ใช้งานร่วมกับไพธอนได้เลย
จะมองว่า Excel เป็น interface สำหรับใส่ input และแสดงผลข้อมูล (Output) ก็ได้
ใช่, เขียนคำสั่งด้วยภาษาไพธอน แต่แสดงผลด้วย Excel
สุดยอด!
3. ใช้งานร่วมกับ Library ของ Python
จุดเด่นของไพธอนคือมี Library ให้เลือกใช้มากมาย (คล้ายห้องสมุดที่มีคำสั่งจำแนกเป็นเรื่องต่าง ๆ)
Library ของไพธอนที่มีใน Excel (ค่าดีฟอลต์) คือ
- Pandas (งานด้าน Data Analysis)
- Matplotlib (งานด้าน Data Visualization)
- Seaborn (Data Visualization, กราฟไฮโซ)
- NumPy (การคำนวณทางคณิตศาสตร์)
- statsmodels (การวิเคราะห์ทางสถิติ)
แปลว่าใช้งาน Library เหล่านี้ได้เลย
แต่ถ้าเป็น Library อื่น เช่น
re (การตัดเฉพาะคำที่ต้องการ, Regular Expression)
ต้องเขียนคำสั่งเพื่อเรียกใช้งาน (import)
แต่ก็เขียนสั้น ๆ บรรทัดเดียว เช่น
import re
แปลว่าเอาไพธอนมาประยุกต์ใช้ใน Excel ได้หลากหลายมาก
จะสร้างกราฟไฮไซ วิเคราะห์ข้อมูล ตัดเฉพาะคำที่ต้องการ ทำได้หมด 😊
4. Python ใช้แทน VBA ได้
จุดเด่นของ VBA (ที่ยังไม่มีฟีเจอร์อื่นใน Excel ทำได้) คือคำสั่งวนลูป และการทำงานร่วมกับ object อื่น
แต่ข้อเสียของ VBA คือต้องเซฟไฟล์เป็นนามสกุล .xlsm หรือ .xlsb ซึ่งบางบริษัทไม่ยอมให้ใช้ไฟล์ประเภทนี้ (ด้วยเหตุผลด้านความปลอดภัย)
ปัญหาเหล่านี้จะหมดไป เพราะไพธอนมีคำสั่งวนลูปที่ทำงานได้เหมือน VBA (คำสั่ง for, while) รวมถึงยังทำงานกับ object อื่นได้ดีกว่า VBA เสียอีก
แปลว่าเราใช้ไพธอนแทน VBA ได้เลย!
แถมไม่ต้องเซฟไฟล์เป็น .xlsm (.xlsb) ด้วย
แล้วมีข้อเสียไหม?
ข้อเสียคือ ใช้ได้กับ Microsoft 365 และต้องใช้งานบน Windows (ใช้บน Mac ไม่ได้)
ตอนนี้ (23 สิงหาคม 203) ยังใช้ได้เฉพาะคนที่สมัครเป็น Microsoft 365 Insider และใช้เวอร์ชัน Beta Channel เท่านั้น
สำหรับคนที่ใช้ Microsoft 365 แต่ไม่ได้สมัครเป็น Insider อาจต้องรอสักพักครับ 😅
นอกจากเรื่องเวอร์ชันแล้ว คนที่เคยชินกับ Excel (เช่นผม) ต้องปรับตัวกับไพธอนพอสมควร เพราะโครงสร้างของภาษาต่างกัน
โครงสร้างของภาษาใน Excel คือ Functional Language
เวลาใช้งานจะเขียนเป็นฟังก์ชันซ้อน ๆ กัน
แต่โครงสร้างภาษาของไพธอนคือ OOP (Objected-Oriented Programming)
เวลาใช้งานจะเขียนเป็นบรรทัด และใช้งานผ่าน method ต่าง ๆ
ตัวอย่างคลาสสิกคือ การเขียน if ซ้อนกัน 2 ชั้น
ถ้าใช้ Excel จะเขียนแบบนึง (IF .. IF )
แต่ถ้าใช้ไพธอน จะเขียนอีกแบบนึง (if .. elif .. else ..)
ด้วยโครงสร้างของภาษาที่ต่างกัน รวมถึงไพธอนเป็น case-sensitive (ตัวพิมพ์เล็ก-พิมพ์ใหญ่ ให้ความหมายต่างกัน) ทำให้ต้องปรับตัวไม่น้อยเลย 😭
แล้วจะแก้ไขยังไง?
ให้ Chat GPT ช่วยสอน!
เพราะไพธอนเป็นภาษาที่แพร่หลายและมีมานานแล้ว Chat GPT จึงเก่งไพธอนมาก
(Chat GPT ไม่เก่งภาษา DAX หรือ M Code)
อยากรู้อะไร อยากเขียนโค้ดอะไร ให้ Chat GPT ช่วยไกด์ได้เลย 😊
อ้อ, แนะนำให้ใช้ Chat GPT Plus (GPT-4) แล้วใช้โหมด Code Interpreter จะให้ผลลัพธ์ที่ดีกว่านะ
เป็นยังไงบ้างกับไพธอนใน Excel ผมว่ามันเจ๋งสุด ๆ เลยนะ
แต่.. ตอนนี้ผมยังใช้ไพธอนไม่คล่องเลย ขอตัวไปศึกษาเพิ่มก่อนนะครับ 😅