1 คะแนน โดย GN⁺ 2023-08-23 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Microsoft เริ่มเปิดพรีวิวสาธารณะของความสามารถแบบบูรณาการสำหรับการ วิเคราะห์และการแสดงผลข้อมูลด้วย Python ภายใน Excel
  • สามารถเข้าถึง Python ได้จากริบบอนของ Excel โดยไม่ต้องติดตั้งแยก และปรับแต่งผลลัพธ์ร่วมกับ สูตร แผนภูมิ และ PivotTable ที่มีอยู่เดิมได้
  • ฟังก์ชัน PY ใหม่จะแสดงข้อมูลจาก Python บนกริดสเปรดชีต และด้วยความร่วมมือกับ Anaconda ทำให้สามารถใช้ pandas, statsmodels, Matplotlib และอื่น ๆ ใน Excel ได้
  • การประมวลผลจะรันบน Microsoft Cloud ไม่ใช่ในเครื่อง แล้วจึงส่งผลกลับมายังเวิร์กชีต พร้อมสร้างงานแสดงผลด้วย Matplotlib และ Seaborn ได้
  • พรีวิวสาธารณะเริ่มต้นบน Windows ใน Beta Channel ของ Microsoft 365 Insiders และหลังจบช่วงพรีวิว ฟีเจอร์บางส่วนจะถูกจำกัดหากไม่มีไลเซนส์แบบชำระเงิน

การวิเคราะห์ด้วย Python ที่เข้ามาอยู่ใน Excel

  • Microsoft เพิ่ม ความสามารถการทำงานร่วมกับ Python ใน Excel เพื่อให้สามารถจัดการและวิเคราะห์ข้อมูลได้ภายในสเปรดชีต
  • ผู้ใช้สามารถเข้าถึง Python ได้โดยตรงจากริบบอนของ Excel จึงทำงานวิเคราะห์ขั้นสูงต่อได้โดยไม่ต้องออกจากสภาพแวดล้อม Excel ที่คุ้นเคย
  • กราฟและผลลัพธ์จากไลบรารีที่สร้างด้วย Python สามารถนำมาผสานกับสูตร แผนภูมิ และ PivotTable ของ Excel เพื่อปรับแต่งต่อได้

แนวทางแบบฝังในตัวโดยไม่ต้องติดตั้งเพิ่ม

  • การทำงานร่วมกับ Python ถูกให้มาเป็นส่วนหนึ่งของ ตัวเชื่อมต่อในตัว ของ Excel และ Power Query
  • เข้าถึงได้โดยไม่ต้องติดตั้งซอฟต์แวร์เพิ่มหรือกำหนดค่าส่วนเสริมแยกต่างหาก
  • ฟังก์ชัน PY ใหม่จะแสดงข้อมูลจาก Python ภายในกริดสเปรดชีตของ Excel

ไลบรารีจาก Anaconda และการแสดงผลข้อมูล

  • Microsoft ร่วมมือกับ Anaconda ซึ่งเป็นคลังแพ็กเกจ Python สำหรับองค์กร เพื่อให้สามารถใช้ไลบรารี Python หลัก ๆ ได้ใน Excel
  • ไลบรารีที่ใช้งานได้มีดังนี้
    • pandas
    • statsmodels
    • Matplotlib
  • ผู้ใช้ Excel สามารถสร้างสูตร PivotTable และแผนภูมิจากข้อมูลของ Python ได้
  • ยังสามารถใช้ไลบรารีทำกราฟอย่าง Matplotlib และ Seaborn เพื่อสร้างงานแสดงผลต่อไปนี้
    • heatmap
    • violin plot
    • swarm plot

การประมวลผลทำบน Microsoft Cloud

  • แม้โค้ด Python จะถูกเขียนและใช้งานภายในสเปรดชีต Excel แต่การประมวลผลจะเกิดขึ้นบน Microsoft Cloud ไม่ใช่บน Excel ในเครื่อง
  • ผลลัพธ์จากการรันจะถูกส่งกลับมายังเวิร์กชีตของ Excel อีกครั้ง

ขอบเขตการให้บริการและเงื่อนไขไลเซนส์

  • พรีวิวสาธารณะของ Python in Excel เปิดให้ใช้ใน Beta Channel ของ Microsoft 365 Insiders
  • ช่วงแรกจำกัดเฉพาะ Windows
  • Microsoft มีแผนขยายไปยังแพลตฟอร์มอื่นในภายหลัง
  • ในช่วงพรีวิว ฟีเจอร์นี้รวมอยู่ในการสมัครใช้งาน Microsoft 365
  • หลังจบช่วงพรีวิว หากไม่มีไลเซนส์แบบชำระเงิน ฟีเจอร์บางส่วนจะถูกจำกัด

1 ความคิดเห็น

 
GN⁺ 2023-08-23
ความคิดเห็นจาก Hacker News
  • ในฐานะคนที่เคยทำงานเป็น นักพัฒนา Excel และเคยพยายามใส่ Python เข้าไปใน Excel แต่ไม่สำเร็จ ข่าววันนี้จึงเป็นเรื่องน่าประหลาดใจที่น่ายินดี
    ประมาณ 7 ปีก่อน ผมมีโอกาสจะออกจากทีม Excel ตอนนั้นหัวหน้าของหัวหน้าผมรู้ว่าผมอยากใส่ Python เข้าไปใน Excel และบอกว่าถ้าอยู่ต่อจะให้รับผิดชอบงานนี้ สิ่งที่คิดว่าเป็นงาน 6 เดือน กลายเป็นโปรเจกต์ประมาณ 3 ปี และในที่สุดก็เปิดตัวในทิศทางของการใส่ ฟังก์ชันกำหนดเองด้วย JavaScript เข้าไปใน Excel โดยฝั่ง Python ค่อย ๆ เลือนหายไป
    Python ก็เคยถูกรัน “บนคลาวด์” โดยใช้ AzureML v1 เป็นฐาน แต่มีการถกเถียงกันว่าจะให้รันในเครื่องด้วยหรือไม่ ทีมพาร์ตเนอร์ AzureML มีการปรับโครงสร้างองค์กร รีลอนช์ รับคนใหม่ และ PM ลาออก ขณะเดียวกันทีมพาร์ตเนอร์อีกทีมสังเกตว่าโค้ดของเราสามารถใช้รัน JavaScript ในโปรเซสภายนอกได้ เราจึงใช้เวลาไปกับการปล่อยฟีเจอร์นั้นมากกว่า Python
    งานหลักคือการเปลี่ยน calculation engine ของ Excel เพื่อให้ฟังก์ชันสามารถทำ การคำนวณแบบอะซิงโครนัส ได้ ทำให้ผู้ใช้ยังทำงานกับส่วนอื่นของสเปรดชีตต่อได้ ระหว่างที่ endpoint ระยะไกลกำลังคำนวณ ไม่ว่าจะเป็น JavaScript, Python หรืออย่างอื่น ก่อนหน้านี้สเปรดชีตจะถูกล็อกระหว่างคำนวณ ซึ่งไม่เหมาะกับการคำนวณที่ใช้เวลานานและไม่รู้ว่าจะจบเมื่อไร สงสัยเหมือนกันว่าบางส่วนที่เราทำไว้ได้ถูกนำมาใช้ในฟีเจอร์นี้หรือเปล่า
    “Recalc or die”

    • ฟังก์ชัน JavaScript แบบอะซิงโครนัสทำให้สามารถปล่อย ฟังก์ชันกำหนดเอง ที่เสถียรด้วย xlwings และ Python ได้
      ปัญหาของ Office.js คือสำหรับผู้ใช้ Excel ทั่วไป การเริ่มต้นยากเกินไปเพราะกอง dependency ของ npm และแม้แต่นักพัฒนามืออาชีพก็ยังลำบากพอสมควร จุดที่ทำให้ผู้ใช้ไม่ต้องใช้ Node.js เป็นเรื่องที่น่าพอใจ: https://docs.xlwings.org/en/latest/pro/server/officejs_custo...
    • เมื่อหลายปีก่อน ผมเคยทำ “Python ใน Excel” ที่ใช้งานได้แล้ว และยังรัน SQL กับ Matlab/R จากระยะไกลได้ด้วย
      ตอนนี้เป็นโปรเจกต์ที่ทิ้งไปแล้ว: https://alphawolfxl.com/
      ตอนขอให้บางคนช่วยทดสอบเบต้า พวกเขาบอกว่า “บริษัทคงไม่ยอมจ่ายเงิน” ทำให้รู้สึกว่าเสียเวลาเปล่าและเลิกทำไป พอมาเห็นสิ่งนี้ตอนนี้ก็รู้สึกซับซ้อน
    • สงสัยว่าทำไม Microsoft ถึงไม่ทำตัวอย่างที่ดีของเทคโนโลยีใหม่ออกมา ตัวอย่างไม่กี่อันที่ให้มาก็มีแต่สำหรับโปรแกรมเมอร์
      โดยรวมแล้วขาด โค้ดที่ใช้งานได้จริง สำหรับดูว่า JavaScript ทำงานใน Excel อย่างไร และตอนนี้รู้สึกแทบเหมือนระดับ “วิธีวาดนกฮูก”
    • เราใช้ ฟังก์ชันกำหนดเองด้วย JavaScript เพื่อเรียก internal analytics API อยู่ และทำงานด้วยค่อนข้างดี
  • ผมหวังว่าจะรองรับ การรัน Python ในเครื่อง ด้วย ไม่ใช่ใช้เฉพาะ Microsoft Cloud แต่แค่ฟีเจอร์นี้อย่างเดียวก็น่าจะทำให้ Excel ทันสมัยขึ้นได้มาก
    อาจทำให้ความต้องการเว็บไซต์สำหรับแสดงข้อมูลประเภทนี้หมดไปด้วย ที่ทำงานเก่าผมเคยสร้างเว็บไซต์วิเคราะห์สำหรับใช้กันไม่กี่คนภายใน ถ้าตอนนั้นมีฟีเจอร์แบบนี้ ก็น่าจะใช้สิ่งนี้แทนได้เพียงพอ

    • พอพูดเรื่องนี้ทีไร มักเจอแรงต้านเสมอ ผู้ใช้แค่อยากวิเคราะห์ข้อมูลได้อย่างอิสระใน Excel แต่ฝ่าย IT ที่ผมสังกัดกลับพยายามจะทำเว็บแอปให้แทน สุดท้ายผู้ใช้ก็ไม่พอใจ เพราะสิ่งที่เขาต้องการตั้งแต่แรกคือ Excel
      ผมอธิบายซ้ำ ๆ ว่าแค่สร้าง data mart ด้วย SQL Server แล้วใช้เครื่องมือ ETL เติมข้อมูลที่จำเป็นต่อการวิเคราะห์เข้าไปก็พอ ไม่ต้องให้เข้าถึงข้อมูลต้นทาง แต่ทุกคนก็ยังมองแปลก ๆ แล้วแทนที่จะทำแบบนั้นกลับอยากทำโปรเจกต์นำ Tableau มูลค่าหลายล้านดอลลาร์มาใช้ ทั้งที่ผู้ใช้ไม่ได้ต้องการ มันน่าเหลือเชื่อจริง ๆ
    • ผมทำงานในทีม Excel อยู่ ถ้าสรุปได้ว่าทำไมเรื่องนั้นถึงสำคัญแล้วส่งมาที่ bgruenbaum@microsoft.com ผมจะส่งต่อให้ PM
      หรือจะส่งผ่าน UI feedback ของ Excel เว็บ/เดสก์ท็อปก็ได้ PM อ่าน feedback พวกนั้นทั้งหมด
    • มีเหตุผลสำคัญหลายข้อที่ต้องรันใน คอนเทนเนอร์แบบแยกด้วยไฮเปอร์ไวเซอร์ บน Azure ที่ไม่มีการเข้าถึงอินเทอร์เน็ต
      เราสามารถรับประกันประสบการณ์ที่สม่ำเสมอให้ผู้ใช้ทุกคนได้ ลองคิดภาพว่าเมื่อเวลาผ่านไป เวอร์ชันเริ่มแตกแขนง แล้วแต่ละคนต้องดูแล Python distribution ในเครื่องของตัวเองและต้องรับประกันว่ามันทำงานกับ Excel ได้ น่ากลัวมาก
      เมื่อแชร์เวิร์กบุ๊ก Excel กับผู้ใช้อีกคน ต้องทำให้การคำนวณทำงานได้ทันที ถ้าพึ่งพาการติดตั้ง Python ในเครื่องที่ไม่เหมือนกันก็ทำไม่ได้ และผู้ใช้จะหงุดหงิดมาก
      เรื่องความปลอดภัยก็ใหญ่ ลองนึกถึงการเปิดไฟล์ Excel ที่สามารถรันโค้ด Python ด้วยสิทธิ์ของผู้ใช้ในเครื่องได้
      ผมเห็นด้วยเต็มที่กับประเด็นที่สองเช่นกัน การสร้างแอปภายในด้วย Python ให้ผสานกับโครงสร้างพื้นฐาน IT เดิมนั้น อย่างดีที่สุดก็เป็นเรื่องน่าหงุดหงิด Excel แทบจะเป็นส่วนหนึ่งของโครงสร้างพื้นฐาน IT อยู่แล้วแทบทุกที่ และเป็นแคนวาสแบบตอบสนองที่เขียนโปรแกรมได้
      เปิดเผยข้อมูล: ผมทำงานอยู่ในทีมออกแบบฟีเจอร์นี้
    • การที่มันรันบน Microsoft Cloud กลับอาจทำให้มีประโยชน์กว่ามาโครสำหรับบริษัทเรา
      ที่นี่มองว่ามาโครเป็นช่องทางให้รันมัลแวร์บนเครื่องลูกข่าย และเห็นว่าประโยชน์ของมันไม่ได้มากพอให้รับความเสี่ยงนั้น
    • การจำกัดไว้บนคลาวด์ก็สมเหตุสมผลอยู่ระดับหนึ่ง ถ้าทำให้ Python กลายเป็นส่วนหลักของรูปแบบไฟล์ Excel ความสามารถในการพกพา จะลดลง และต่อไปอาจเกิดปัญหาความเข้ากันได้สารพัดแบบ
  • ตรงนี้เห็นสัญญาณอันตรายชัดเจน พลังโดยเนื้อแท้ของ Excel มาจากการที่เวิร์กบุ๊กสามารถ ดำรงอยู่ได้อย่างอิสระ แต่ตอนนี้กระบวนการจะถูกผูกติดกับคลาวด์ไปตลอด
    อีก 3 ปีข้างหน้า เมื่อต้องเปิดเวิร์กบุ๊กของเพื่อนร่วมงานที่เสียชีวิตไปแล้ว ก็จะขึ้นอยู่กับว่าผู้ขายยังคงรองรับฟีเจอร์ผสานรวมนี้ต่อไปหรือไม่
    ถ้างานอะไรก็ตามมีขั้นแรกเป็น “หาวิธีทำให้ซอฟต์แวร์กลับมาทำงานได้อีกครั้ง” ก็น่ากลัวมาก ตลอดหลายทศวรรษที่ผ่านมาเคยเจอแบบนี้หลายครั้งกับ add-in ต่าง ๆ ของ Excel, Outlook, Word และ add-in เหล่านั้นก็ไม่ได้ประมวลผลจากระยะไกลด้วยซ้ำ

    • “คุณจะไม่ได้เป็นเจ้าของอะไรเลย แต่คุณจะมีความสุข” ตอนนี้ลามมาถึง สเปรดชีต แล้วหรือ แม้แต่สิ่งที่สร้างขึ้นจากการนั่งทำงานรับค่าจ้างหน้าโต๊ะก็ยังจะไม่ได้เป็นเจ้าของ
    • พูดตรง ๆ แบบนี้ดูจัดการง่ายกว่า เพราะใช้ Anaconda distribution อยู่แล้ว ถ้าผูกเวิร์กบุ๊กแต่ละไฟล์กับ distribution เฉพาะ และให้มีทางอัปเดต/ย้อนกลับได้ ก็น่าจะง่ายกว่าการจัดการการติดตั้งในเครื่องมาก
    • ไม่ได้ผูกกับแค่คลาวด์ แต่ยังผูกกับ การสมัครสมาชิก ด้วย ถ้ายกเลิก subscription หรือไม่มี subscription ตัวนั้นที่ในประกาศบอกว่าอาจเป็นโมดูลแบบเสียเงิน หรือเป็น Excel ที่ผู้จัดจำหน่ายให้มาเลยไม่มี subscription ก็จะเริ่มมีปัญหาในการใช้ชีต Excel นั้นแล้ว
    • ราว ๆ 7 ปีที่ผ่านมาแทบไม่ได้ใช้สเปรดชีตที่ไม่ใช่คลาวด์เลย อย่างไรก็ตาม จะไม่ใช้ Excel กับงานที่สำคัญมากและมีอายุการใช้งานยาว ส่วนใหญ่ใช้เพื่อระดมความคิดหรือเอา screenshot ไปใส่ในสไลด์นำเสนอ
    • ไม่ว่าจะใช้คลาวด์หรือไม่ ปัญหานี้ก็มีอยู่แล้ว เวิร์กชีต Excel สามารถมี ลิงก์ภายนอก ไปยังเว็บหรือไฟล์อื่นได้อยู่แล้ว และถ้าเว็บรีซอร์สหรือไฟล์นั้นหายไปก็จบ ไฟล์เก่า ๆ อาจเปิดได้เฉพาะในซอฟต์แวร์ที่ไม่สามารถรันบนเครื่องสมัยใหม่ได้อีกต่อไป
      ดังนั้นจึงสำคัญที่จะลองกู้คืน backup จริง ๆ เป็นครั้งคราว หรือในกรณีแบบนี้ก็ตรวจสอบไฟล์สำคัญให้แน่ใจ
  • ตอนแรกตื่นเต้นกับ “Python ใน Excel” แต่พอเห็นคำว่า “รันบนคลาวด์” ก็หมดไฟ ดูเหมือนไม่มีเหตุผลอื่นนอกจากพยายามผูกเราไว้กับบริการคลาวด์ ความรู้สึกคล้ายกันมากกับการบอกว่าจะปกป้องฉันจากหมึกพิมพ์ที่ไม่ปลอดภัย
    ปกติผมชอบผลิตภัณฑ์ MS Office และพยายามมองในแง่ดี ถ้ามีเหตุผลที่ดีและฟังขึ้นว่าทำไมต้องบังคับให้รัน Python บนคลาวด์ นอกเหนือจาก lock-in ก็อยากให้บอกหน่อย

    • เป็นสัญญาณอันตราย M$ กำลังดันคนเข้าไปอยู่ในคลาวด์ของตัวเอง วิธีที่ OneDrive แทรกเข้ามายึดระบบไฟล์ในเครื่องเป็นตัวอย่างที่ดีที่หลายคนเจอมาแล้ว
      คิดว่าจุดที่ควรหนีออกจาก M$ นั้นเลยมาแล้วสัก 5 ปี ผลิตภัณฑ์ทุกอย่างตั้งแต่ Windows ไปจนถึง Office มี ฟีเจอร์ต้านผู้บริโภค อยู่แล้ว
    • การไม่ให้ลูกค้าต้องจัดการการติดตั้ง Python ในเครื่องเองก็อาจเป็นเหตุผลได้
      แน่นอนว่าเข้าใจด้วยว่าผู้ใช้ขั้นสูงของ Excel+Python มีแนวโน้มจะคุ้นเคยกับการนำและดูแล Python runtime ของตัวเองอยู่แล้ว
    • น่าจะเพราะผู้ใช้ Excel ส่วนใหญ่ไม่เคยติดตั้งและรัน Python มาก่อน แม้แต่คนที่รู้จัก Python ก็ยังค่อนข้างยุ่งยาก
      ยังมีคนที่ใช้ Excel บนอุปกรณ์ iOS และ Android ด้วย วิธีนี้ทำให้พวกเขาใช้และอ่าน Python ภายในสเปรดชีตได้เช่นกัน
    • ยังมี Grist ด้วย ไม่ใช่โคลนของ Excel แต่เป็นสเปรดชีต/ฐานข้อมูลแบบไฮบริด จึงทำงานคล้ายกันได้บางส่วน และที่สำคัญที่สุดคือใช้ Python ในสูตรได้ แถมถ้าอยากรันในเครื่องเองก็มีตัวเลือก self-hosting
  • ในปี 2005 ผมกับเพื่อน ๆ ตั้งบริษัทชื่อ Resolver Systems และสร้าง Resolver One ซึ่งเป็นสเปรดชีตที่ใช้ Python ได้
    น่าเสียดายที่ไม่ประสบความสำเร็จในตลาด จึงเปลี่ยนทิศไปสร้าง PythonAnywhere ซึ่งเป็นสภาพแวดล้อมเขียนโค้ดและโฮสติ้งออนไลน์ ตัวนี้ไปได้ค่อนข้างดี และเมื่อปีที่แล้วถูก Anaconda เข้าซื้อ ตอนนี้ก็เหมือนวงจรปิดครบแล้ว
    ขอพูดให้ชัดว่า ทีมที่ทำฟีเจอร์นี้ภายใน Anaconda เป็นคนละทีมกับทีม PythonAnywhere โดยสิ้นเชิง ถ้าเป็นคนกลุ่มเดียวกันก็คงเป็นเรื่องเล่าแบบฮอลลีวูดได้พอดี

    • เป็นผลิตภัณฑ์ที่ดี จำ pitch นั้นได้ และเคยเจอกันหลายครั้งที่งาน London Python finance meetup จำ “Enthought Python Distribution” ได้ด้วย
      แต่ปัญหาคือ Resolver อิงกับ IronPython จึงมีไลบรารีจำนวนไม่น้อยที่ทำงานไม่ถูกต้อง
    • ผมสร้างแอปแรกบน PythonAnywhere มีบางอย่างที่ยังรันอยู่ที่นั่นมาเกือบ 10 ปีแล้ว
      ชอบมากที่สามารถแก้ไขเล็ก ๆ น้อย ๆ ได้โดยตรงจากเว็บแอป PythonAnywhere และพอเริ่มใช้ GCP/AWS ก็คิดถึงฟีเจอร์แบบนั้นมาก
    • PythonAnywhere ยอดเยี่ยมมาก เหมือนกับอีกหลายคน ที่นั่นเป็นจุดเริ่มต้นของผมในการเข้าสู่การเขียนโปรแกรมเว็บ
    • พอได้ยินข่าวนี้ Resolver Systems ก็ผุดขึ้นมาในหัวทันที
  • พอเห็นประโยคว่า “การคำนวณ Python จะรันบน Microsoft Cloud” เพื่อนร่วมงานก็พูดเล่นว่า “ขนาด Microsoft ยังจัดการการติดตั้ง Python ในเครื่องบน Windows ไม่ได้เลยสินะ…”
    แต่ก็สนุกดีถ้าลองจินตนาการว่า Microsoft แก้ปัญหา การตั้งค่าสภาพแวดล้อม Python ในเครื่อง ได้จริง ๆ ในที่สุด และ Excel กลายเป็นตัวจัดการแพ็กเกจ Python มาตรฐานทั่วทั้งระบบปฏิบัติการ
    $ excelpip install fastapi==9.11.23
    กำลังค้นหา fastapi version 11.09.2023…

    • ตั้งแต่ได้ลองใช้ apt ของ Debian เมื่อ 20 ปีก่อน ผมก็รอให้ Microsoft แก้ปัญหา การจัดการแพ็กเกจ ของ Windows มาตลอด ไม่ได้พูดประชดนะ เมื่อดูจากความซับซ้อนของผลิตภัณฑ์ Microsoft และความหมกมุ่นกับ backward compatibility แล้ว กลับดูเหมือนเป็นผู้เล่นที่น่าจะผลักดันการจัดการซอฟต์แวร์ให้ก้าวหน้าได้
      ผมนึกว่าจะขุดลึกลงไปในพื้นที่ปัญหานี้ แล้วคิดค้น package manager ขึ้นใหม่ที่ไปไกลกว่าสิ่งที่ฝั่งโอเพนซอร์สทำมา
      แต่แทนที่จะเป็นแบบนั้น ตอนนี้เรามี Windows Update, Windows Features, Microsoft Store, Software Center, winget โดย winget คือ package manager สำหรับ Windows ที่ Microsoft ทำขึ้น แต่เป็นเครื่องมือที่ต้องติดตั้งจาก package manager สำหรับ Windows อีกตัวที่ Microsoft ทำขึ้นเช่นกัน
    • นึกถึงปัญหาแบบนี้ขึ้นมา Microsoft ควรต้องตรึง ชุดแพ็กเกจ LTSC ไว้หรือไม่? $GOV_AGENCY ที่ใช้ Excel เวอร์ชันล้าหลังไปหนึ่งรุ่นจะร่วมงานกับโลกภายนอกอย่างไร?
  • LibreOffice น่าจะอ่านทิศทางให้ออกตั้งนานแล้ว โดยหลักการแล้วการเขียนสคริปต์ด้วย Python ทำได้ แต่ยุ่งยากและเลอะเทอะเกินไป และก็ดูเหมือนไม่มีโรดแมปสำหรับปรับปรุงด้วย
    คำเตือนเดียวกันนี้ใช้ได้กับเดสก์ท็อป Linux และแอปโดยรวมเช่นกัน แพลตฟอร์มแบบปิดจำนวนมากขึ้นเรื่อย ๆ จะย้ายไปอยู่บนคลาวด์ และมักจะเพิ่มส่วนขยายความสามารถ “AI” ขั้นสูงให้แอปเดิมผ่าน Python API
    น่าเสียดายที่หลายกระแสในโลกโอเพนซอร์สถูกทำให้เป็น ไซโล มากเกินไป ศักยภาพที่ควรจะมากกว่าผลรวมของแต่ละส่วนกำลังถูกปล่อยให้สูญเปล่า

    • ในหลายกรณี สิ่งที่ทำให้ผู้คนยังติดอยู่กับ Excel และผลิตภัณฑ์ปิดอื่น ๆ ไม่ใช่ฟีเจอร์ขั้นสูง แต่เป็นเรื่องที่ดูเล็กน้อย
      สิ่งที่ไม่พอใจที่สุดในสเปรดชีต LibreOffice และ Apple Numbers คือการจัดการ การคัดลอก/วางช่วงที่เลือกแบบไม่ต่อเนื่อง
      ตัวอย่างเช่น ในข้อมูล 5 แถว 3 คอลัมน์ หากเลือกแถว 1 2 3, 7 8 9, a b c แล้วคัดลอก จากนั้นวางใต้ d e f Excel จะต่อเฉพาะแถวที่เลือกเข้าด้วยกัน ส่วน LibreOffice และ Numbers จะรักษาแถวว่างตรงกลางไว้ด้วย
      ผมหาการตั้งค่าที่เปลี่ยนพฤติกรรมนี้ไม่เจอ ถึง Excel เองก็อาจทำให้คนที่ต้องการรักษาช่องว่างหงุดหงิดในทางกลับกันได้ แต่ผมแทบไม่เคยต้องการรักษาช่องว่างเลย LibreOffice และ Numbers จึงใช้งานไม่สะดวก
    • LibreOffice มี การเขียนสคริปต์ด้วย Python มาตั้งแต่แทบจะช่วงแรก ๆ แล้ว
      เหตุผลที่ผู้คนไม่ค่อยใส่ใจนักคือกรณีใช้งานยอดนิยมที่สุดของชุดออฟฟิศคือการทำงานร่วมกับรูปแบบไฟล์ของ Microsoft
    • ควรลองดู ScriptForge: https://help.libreoffice.org/latest/en-US/text/sbasic/shared...
      หากต้องการรันสคริปต์ใน LibreOffice แนะนำให้ใช้ APSO script organiser: https://extensions.libreoffice.org/en/extensions/show/apso-a...
    • ผมมองกลับกันด้วยซ้ำ Python เขียนสคริปต์ง่ายเกินไปจนเหมือน Excel กำลังตอกตะปูปิดฝาโลงตัวเอง
      เมื่อกลุ่มผู้ใช้สูงวัยที่ไม่เคยใช้ภาษาโปรแกรมมิงมาก่อนแก่ตัวลงและเกษียณไป คนที่เรียนรู้วิธีผสาน Python เข้ากับ Excel สุดท้ายก็จะชอบ Python มากกว่า เพราะยืดหยุ่นและขยายได้มากกว่า
      นอกจากใช้เป็นกระดานคำนวณพื้นฐานแล้ว ก็ไม่มีเหตุผลต้องใช้ Excel ถ้ามีใครขอสเปรดชีต ผมจะทำระบบสร้างด้วย Python อัตโนมัติให้ เพื่อจะได้ไม่ต้องไปจัดการเองอีก
    • LibreOffice มีปัญหาอื่นอีกมากที่ต้องแก้ก่อน มันช้าเกินไป
  • น่าผิดหวัง
    “Python ใน Excel ขณะนี้พร้อมให้ผู้ใช้ที่รัน Beta Channel บน Windows ใช้งาน ฟีเจอร์นี้จะเริ่มปล่อยให้ Excel สำหรับ Windows ก่อนตั้งแต่บิลด์ 16.0.16818.2000 แล้วจึงตามไปยังแพลตฟอร์มอื่น” [1]
    “Python ใน Excel ใช้งานได้ใน Excel สำหรับ Windows ฟีเจอร์นี้ยังใช้ไม่ได้ใน Excel สำหรับ Mac, Excel สำหรับเว็บ, Excel สำหรับ iPad, Excel สำหรับ iPhone และ Excel สำหรับ Android บนแพลตฟอร์มที่ไม่รองรับ คุณสามารถดูเวิร์กบุ๊กที่มี Python ได้ แต่เมื่อคำนวณเซลล์ Python ใหม่จะแสดงข้อผิดพลาด” [2]
    [1] https://techcommunity.microsoft.com/t5/excel-blog/announcing...
    [2] https://support.microsoft.com/en-us/office/introduction-to-p...

  • “การคำนวณด้วย Python ทำงานบน Microsoft Cloud” งั้นขอผ่าน

    • ส่วนนั้นสะดุดตาผมเหมือนกัน สงสัยว่าทำไมถึงเลือกรูปแบบนี้
    • ผมอยากได้ การผสาน Python ที่ยอดเยี่ยมในชุดสเปรดชีตอย่างมาก แต่แบบนี้ไม่มีแม้แต่ความคิดจะลอง
  • เดี๋ยวก่อน LibreOffice มี Python มาหลายปีแล้ว แต่ไม่มีใครสนใจ แล้วกลับบ่นกันว่า “งานจริงจัง” ต้องมี VBA ที่เข้ากันได้ 100% คนพวกนั้นตอนนี้อยู่ไหนกัน?

    • อยู่นี่แหละ ปัญหาไม่ใช่แค่ VBA ที่เข้ากันได้ 100% แต่คือต้องเรียนรู้ API ใหม่ทั้งหมดเพื่อสร้างสเปรดชีตที่อิง VBA ซึ่งจะรันบน Excel ไม่ได้
      ถ้า LibreOffice VBA เข้ากันได้กับ Office VBA ก็คงไม่มีเหตุผลต้องเก็บระบบ Windows เก่า ๆ ไว้ที่ไหนสักแห่งต่อไป
      เหตุผลที่เราทำสิ่งนี้ก็เพื่อหาเงิน และไม่มีใครอยากซื้อสเปรดชีต Excel ที่รันบน Excel ไม่ได้
    • ไม่ใช่ว่ารู้สึกแย่ที่ Excel ทำอะไรได้มากกว่า แต่ยังอาจไม่สะดวกอยู่เพราะ LibreOffice ไม่มีฟีเจอร์ที่คุ้นเคยหรือฟีเจอร์ที่จำเป็นต้องใช้
    • ถ้าลูกค้าคนไหนใช้ LibreOffice ผมก็ยินดีใช้ แต่ไม่มีใครใช้เลย
      ผมทำงานบน Linux ด้วย LibreOffice Calc และ Excel ก็รองรับ Linux เป็นศูนย์ ดังนั้นถ้ามี ความเข้ากันได้ ในระดับที่ส่งให้ลูกค้าได้โดยไม่มีปัญหาก็คงดี แต่ตอนนี้ยังห่างไกลจากจุดนั้นมาก
    • ถ้าฟีเจอร์ไม่ดี คนก็ไม่ใช้
      ถ้าไม่รู้ว่ามีอยู่ คนก็ไม่ใช้
      ถ้าคุ้นกับอย่างอื่น คนก็จะเรียกร้องสิ่งนั้น
    • ปัญหาของ LibreOffice คือการรองรับ Python มีอยู่แค่บนเอกสารเท่านั้น