Python in Excel now in beta preview

Excel เขียน Python ได้แล้ว

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

ส่วนตัวแอดคิดว่านี่คือชะตาที่ไม่อาจเลี่ยงได้ 555+ ใครที่ใช้ Excel แบบเพียวๆมานาน แต่ยังไม่ได้ฝึก Python เลย ได้เวลาเริ่มเรียนจริงจังแล้ว

ช่วงนี้ meme เข้ารัวๆ 555+

บทความนี้แอดมาอัพเดทข่าวที่เรารู้ล่าสุดเกี่ยวกับ Python in Excel แชร์ resources วิธีการเริ่มต้นใช้งาน และคอร์สเรียนฟรี Python เบื้องต้น

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+

Tweet ของ Guido van Rossum

ต่อไปเราน่าจะทำ 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 ของเรา

Microsoft จับมือ Anaconda เปิดตัว Python in Excel
Introducing Python in Excel

ข้อดีของ 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

Microsoft 365 Insider Program

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 ใน Excel
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 อย่างพวกเรา
Microsoft demo วิธีการใช้งาน =PY() ใน Excel
Microsoft demo วิธีการใช้งาน =PY() ใน Excel

✅ เวลา 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 อื่นๆต่อได้ มีสอนเพียบ

คอร์สเรียนฟรี Intro to Python บน Microsoft Learn

หรือถ้าใครอยากเรียนแบบวีดีโอ แอดมีสอนพื้นฐานฟรี 3.5 ชั่วโมงบน YouTube ตั้งแต่การสร้างตัวแปร data types, data structures, function, control flow และ OOP

คอร์สฟรี Python Programming 101

Python Libraries

pandas คือ library ทรงพลังอันดับต้นๆใน Python ecosystem สำหรับใช้สร้างและจัดการ dataframe หัวใจหลักของงาน data analytics และ data science

import pandas as pd

✅ ถ้าใครอยากมาสายนี้ ต้องฝึกเขียน library นี้ให้คล่องๆ ได้ใช้ทุกวัน อ่านบทความสอนใช้งาน pandas เบื้องต้นได้ที่นี่

สำหรับ data science libraries ที่ Excel users น่าจะได้ใช้กันเยอะๆ เช่น

  • pandas ไว้จัดการ dataframe/ table
  • numpy สำหรับจัดการ array และ matrix
  • seaborn และ matplotlib สำหรับสร้างชาร์ท และ custom visualization
  • statsmodels และ SciPy วิเคราะห์และรันผลสถิติ
  • scikit-learn ไว้เทรนโมเดล machine learning

เราสามารถ import open-source libraries อื่นๆเข้ามาใช้งานใน Excel ได้ด้วย ขอบคุณ Anaconda มา ณ ที่นี่คร้าบ

Anaconda Add-In

Anaconda เตรียมเปิดตัว add-in [Anaconda Toolbox] เป็นตัวช่วยทำงานใน Excel กำลังจะเปิดให้ทดลองในช่วง beta ช่วงเดือน ก.ย. นี้เหมือนกัน แอดสมัครไปเรียบร้อย

ใช้ดีไม่ดียังไง เดี๋ยวแอดมาอัพเดทให้อ่านกันอีกที ฟีเจอร์หลักๆน่าจะเน้นที่งาน data science

Anacoda Toolbox Excel Add-In

References

อ่านบทความ tutorials [Excel Python] อื่นๆของ Microsoft ได้ที่นี่

💯 ถ้าแอดได้ใช้ฟีเจอร์นี้เต็มๆเมื่อไหร่ เดี๋ยวเขียนบทความสอนทำแบบละเอียดมาให้อ่านกันนะครับ ใครตื่นเต้นกับ move นี้ของ Microsoft บ้าง comment แชร์ไอเดียกันได้เลย

ปีนี้ Microsoft มาแรง ไม่แผ่วเลยจริงๆ 555+

8 responses to “Excel เขียน Python ได้แล้ว”

  1. ขอบคุณครับ

    1. ขอบคุณที่ติดตามเช่นกันนะครับ 💯

  2. ดีงามฝุดๆ จะได้เลิกเขียน R
    555

    1. เด๋วๆ อย่าทิ้งแอด 555+

  3. ขอบคุณมากเลยแอดทอยยยยย

    1. ขอบคุณที่ติดตามเช่นกันนะครับ เย้

  4. โหลดมาลองได้แล้วจ้า แต่รอ roll out ประมาณ 5 วันจ้า

  5. ขอบคุณมากครับ.

Leave a Reply