ข่าวใหญ่เมื่อวานนี้ (23 ส.ค. 2023) คือ Microsoft Excel เปิดตัว Python ยกระดับการทำงานด้าน Data Analytics และ Data Science ไปอีกหนึ่งระดับ ฝันที่เป็นจริง
ส่วนตัวแอดคิดว่านี่คือชะตาที่ไม่อาจเลี่ยงได้ 555+ ใครที่ใช้ Excel แบบเพียวๆมานาน แต่ยังไม่ได้ฝึก Python เลย ได้เวลาเริ่มเรียนจริงจังแล้ว

บทความนี้แอดมาอัพเดทข่าวที่เรารู้ล่าสุดเกี่ยวกับ Python in Excel แชร์ resources วิธีการเริ่มต้นใช้งาน และคอร์สเรียนฟรี Python เบื้องต้น
Table of Contents
History of Python
Python เป็นภาษาแบบ high-level เขียนง่าย ใช้งานคล่อง เปิดตัวครั้งแรกในปี 1991 โดย Guido van Rossum หรือที่เรารู้จักกันในนาม BDFL – Benevolent Dictator for Life ผู้นำสูงสุดของภาษา Python ในช่วง 30 ปีที่ผ่านมา
I’m excited that this excellent, tight integration of Python and Excel is now seeing the light of day.
Guido ลงจากตำแหน่ง BDFL ปี 2020 และเข้าร่วมกับ Microsoft ในฐานะ Distinguished Engineer เป็นผู้วางรากฐานสำคัญในการพัฒนา Python ให้ใช้งานได้จริงใน Excel วันนี้
ก็คือใช้เวลาแค่สามปี หลังจากแกเข้าไปอยู่กับบริษัท ทำไมไม่เข้าไปเร็วกว่านี้ หยอกๆ 555+

ต่อไปเราน่าจะทำ Python data science end-to-end จบใน Excel ได้เลย / Google Sheets สู้หน่อย 555+
Anaconda Partnership
Microsoft จับมือกับ Anaconda เปิดตัว Python Distribution สำหรับใช้ใน Excel ผู้ใช้งานไม่ต้องดาวน์โหลด Python มาติดตั้งในเครื่องให้ยุ่งยากเหมือนสมัยก่อน
เวลาเราเขียน Python ใน Excel (local) แล้วกดรัน ตัวโปรแกรมจะส่ง code เราไปรันบน Microsoft Cloud แล้วค่อยส่งผลกลับมาที่ laptop ของเรา

ข้อดีของ cloud คือไม่ต้องกังวลเรื่อง software update หรือพวก compatibility ได้ใช้ของใหม่อยู่ตลอด แต่ข้อเสียคือถ้าไม่มีอินเตอร์เน็ตอาจจะใช้งานฟังก์ชัน Python ไม่ได้ 555+
After the Preview, some functionality will be restricted without a paid license. More details will be available before General Availability.
จากที่แอดอ่านใน Microsoft Announcement พอเค้าเปิดให้ใช้งาน Python ในช่วง General Availability น่าจะต้องเสียเงิน subscription รายเดือนเพิ่มด้วย ไม่ฟรี 😭
How to Access Python in Excel
ถ้าใครอยากลองใช้งาน Python ใน Excel วันนี้เลย ร้อนวิชา 555+ ต้องกดเข้าร่วม Microsoft 365 Insider Program ก่อน
เปิดโปรแกรม Excel ขึ้นมา คลิกที่ File > Account แล้วกด Join เลือก Beta Channel
สำหรับทดลองฟีเจอร์ใหม่ๆ เสร็จแล้วอัพเดทโปรแกรมเป็นเวอร์ชัน 16.0.16818.20000

Python in Excel ใช้ได้เฉพาะ Windows เท่านั้นนะครับ Mac ต้องรอไปก่อน อาจจะได้ใช้ชาติหน้า ยั๊งงงง แซว 555+ ขนาด Power BI ทุกวันนี้ยังลงในเครื่องแมคตรงๆไม่ได้เลย แหะๆ
Note – แอดกดเข้าร่วม insider program แล้ว แต่ยังไม่เห็นฟีเจอร์ Python เลย น่าจะต้องรออีก 2-3 วัน กว่าเค้าจะ roll out ฟีเจอร์นี้ได้ครบ
⭐ รูปบางส่วนในบทความแอดยืมมาจาก Microsoft Support นะครับ ศึกษาเพิ่มเติมได้ที่หัวข้อ References
Getting Started
วิธีการเขียนโค้ด Python ไปที่เมนู Formulas > Insert Python

หรือจะพิมพ์ function =PY()
ใน cell เลยก็ได้
=PY(## your python code ##)

ตัวอย่างการสร้าง dataframe ง่ายๆด้วยฟังก์ชัน xl()
โดย xl คือ custom function ที่ใช้อ้างอิง cell ใน worksheet เช่น A1:B3

dataframe = xl("A1:B3", headers=True)
ถ้าเราโหลดข้อมูลใส่ Excel เป็น Table เราสามารถใช้ structured references ในฟังก์ชัน xl()
ได้เลย อันนี้สะดวกมาก น่าจะถูกใจ Excel users ทุกคน 555+
ตัวอย่างนี้ เราใช้ #ALL
เพื่อ refer ทุกคอลัมน์ในตาราง Customers
ตอนเราประกาศสร้าง dataframe (จริงๆ dataframe ไม่ต่างอะไรกับ table ปกติเลย)
dataframe =xl("Customers[#All]", headers=True)
มาลองเขียน python script ง่ายๆกัน โดยทั่วไปโค้ด python จะรันบนจากบนลงล่าง นอกจากเราจะเขียน control flow เช่น if, for หรือ while ใน script ของเราด้วย
บรรทัดสุดท้ายใน =PY()
จะเป็นการส่งค่า output ออกมาจากฟังก์ชัน ง่ายจนงง 555+
=PY(
# create variables
x = xl("A1")
y = xl("B1")
# return x+y as output
x+y
)
พอเราเขียน Python ใน Excel ได้แล้ว จะสามารถทำเรื่องพวกนี้ได้สะดวกขึ้นเยอะเลย
- ทำความสะอาด ปรับหน้าตาข้อมูล ใช้ร่วมกับ Power Query ได้ด้วย
- สร้าง Custom Visualization ด้วย library Seaborn + Matplotlib
- รันผลสถิติ และสร้างโมเดล Machine Learning ง่ายๆ
- ฟีเจอร์อื่นๆที่สร้างขึ้นมาสำหรับ Data Analyst อย่างพวกเรา

✅ เวลา code ถูกส่งไปรันบน cloud เราจะเห็น cell ขึ้นเป็นคำว่า #BUSY!
ถ้าเราเขียน syntax ผิด จะเจอ error #PYTHON!
Python in Excel Limitation
ตอนนี้เหมือน Python ใน Excel จะสามารถประมวลผลข้อมูลได้สูงสุด 100 MB ถ้าเรารันโค้ดกับข้อมูลขนาดใหญ่มากๆ จะเจอ error #CALC!
ลองปรับข้อมูลให้เล็กลง น่าจะช่วยได้เบื้องต้น
คิดว่าในอนาคตน่าจะมีวิธีการ bypass ให้เราวิเคราะห์ข้อมูลขนาดใหญ่มากๆได้ เหมือนการใช้ Power Pivot กับ Pivot Table คู่กัน
ข้อจำกัดที่สำคัญสุดของ Excel + Python คือต้องต่ออินเตอร์เน็ตตลอดเวลา ถ้าอยากจะใช้ฟังก์ชัน Python เพราะโค้ดเราถูกส่งไปรันบน cloud ถ้า connection เราหลุด จะเจอ error #CONNECT!
ให้ลองกด reset runtime ที่แท๊บ Formulas
✅ ถ้าเขียน code แล้วเจอ bugs อื่นๆ สามารถอ่านวิธีแก้ไขเบื้องต้นได้ที่ Troubleshoot
Free Python Courses, It’s Time!
ใครยังไม่เคยเขียน Python มาก่อนเลย ลองดูคอร์สเรียนฟรี Introduction to Python บน Microsoft Learn ได้นะครับ เรียนจบ search คอร์ส Python อื่นๆต่อได้ มีสอนเพียบ

หรือถ้าใครอยากเรียนแบบวีดีโอ แอดมีสอนพื้นฐานฟรี 3.5 ชั่วโมงบน YouTube ตั้งแต่การสร้างตัวแปร data types, data structures, function, control flow และ OOP
Python Libraries
pandas
คือ library ทรงพลังอันดับต้นๆใน Python ecosystem สำหรับใช้สร้างและจัดการ dataframe หัวใจหลักของงาน data analytics และ data science
import pandas as pd
✅ ถ้าใครอยากมาสายนี้ ต้องฝึกเขียน library นี้ให้คล่องๆ ได้ใช้ทุกวัน อ่านบทความสอนใช้งาน pandas เบื้องต้นได้ที่นี่
สำหรับ data science libraries ที่ Excel users น่าจะได้ใช้กันเยอะๆ เช่น
pandas
ไว้จัดการ dataframe/ tablenumpy
สำหรับจัดการ array และ matrixseaborn
และmatplotlib
สำหรับสร้างชาร์ท และ custom visualizationstatsmodels
และSciPy
วิเคราะห์และรันผลสถิติscikit-learn
ไว้เทรนโมเดล machine learning
เราสามารถ import open-source libraries อื่นๆเข้ามาใช้งานใน Excel ได้ด้วย ขอบคุณ Anaconda มา ณ ที่นี่คร้าบ
Anaconda Add-In
Anaconda เตรียมเปิดตัว add-in [Anaconda Toolbox] เป็นตัวช่วยทำงานใน Excel กำลังจะเปิดให้ทดลองในช่วง beta ช่วงเดือน ก.ย. นี้เหมือนกัน แอดสมัครไปเรียบร้อย
ใช้ดีไม่ดียังไง เดี๋ยวแอดมาอัพเดทให้อ่านกันอีกที ฟีเจอร์หลักๆน่าจะเน้นที่งาน data science

References
อ่านบทความ tutorials [Excel Python] อื่นๆของ Microsoft ได้ที่นี่
- Introduction to Python in Excel – Microsoft Support
- Getting started with Python in Excel – Microsoft Support
- Python in Excel DataFrames – Microsoft Support
- Open-source libraries and Python in Excel – Microsoft Support
- Using Power Query data with Python in Excel – Microsoft Support
- Troubleshoot Python in Excel errors – Microsoft Support
💯 ถ้าแอดได้ใช้ฟีเจอร์นี้เต็มๆเมื่อไหร่ เดี๋ยวเขียนบทความสอนทำแบบละเอียดมาให้อ่านกันนะครับ ใครตื่นเต้นกับ move นี้ของ Microsoft บ้าง comment แชร์ไอเดียกันได้เลย
ปีนี้ Microsoft มาแรง ไม่แผ่วเลยจริงๆ 555+
Leave a Reply