ไมโครซอฟท์ประกาศเพิ่มฟีเจอร์สร้างฟังก์ชั่นในตัวเอง เรียกว่า LAMBDA หลังจากก่อนหน้านี้การสร้างฟังก์ชั่นใน Excel ต้องสร้างจากภาษาโปรแกรมอื่น เช่น Visual Basic หรือ JavaScript เท่านั้น พร้อมกับระบุว่า Excel เป็นภาษาโปรแกรมที่คนใช้มากที่สุดในโลก
ฟีเจอร์ LAMBDA ทำให้ผู้ใช้ Excel สามารถประกาศฟังก์ชั่นได้อย่างเป็นธรรมชาติ โดยสามารถใช้ฟังก์ชั่นต่างๆ ของ Excel ที่มีอยู่เดิมได้ โดย LAMBDA จะมาทดแทนการเขียนสูตรที่มีความซับซ้อนสูงๆ แล้ว copy ไปวางทีละเซลล์ แม้ว่า Excel จะสามารถลากสูตรไปตามตารางได้ก็ตาม แต่การลากสูตรไปวางก็สร้างความผิดพลาดได้ง่ายในหลายกรณี แถมตารางโดยรวมอ่านยาก
นอกจากการลดความซับซ้อนของสูตรในตารางแล้ว LAMBDA ยังทำให้ผู้ใช้สามารถเรียกฟังก์ชั่นแบบ recursive ได้ เหมือนภาษาโปรแกรมเต็มรูปแบบอื่นๆ
ฟีเจอร์ LAMBDA ยังเปิดให้ใช้งานเฉพาะผู้ใช้ Office 365 ที่สมัคร Beta Channel ไว้เท่านั้น
ที่มา - Excel Blog
ตัวอย่างการประกาศฟังก์ชั่น REPLACECHARS แบบเรียกตัวเองเป็น recursive
Comments
lambda นี่เคยเห็นครั้งสุดท้ายตอนที่รู้จักกับภาษา racket เลย
python น่าจะใช้กันเยอะนะครับ
lewcpe.com , @wasonliw
lambda function ที่มาจาก lambda calculus ไง ภาษา functional programming ทำได้หมด รวมถึงภาษา imperative programming หลายๆตัวเช่น python, javascript
ไมโครซอฟท์ระบุ Excel เป็นภาษาโปรแกรมที่คนใช้มากที่สุดในโลก
ไม่เห็นมีพูดถึงในเนื้อข่าว ผมไม่แน่ใจว่าพูดเอาจริงหรือจะแซะเรื่องการก๊อปสูตรกันแน่?
EDIT: อ้อ เห็นละ แอบอยู่หลังย่อหน้าแรกนี่เอง
บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P
ใน IF เขาใช้กันแบบนั้นเลยหรือ
The Dream hacker..
ผมเขียน Excel ซับซ้อนมากๆ ไม่เป็นเหมือนกันครับ แต่ตัวอย่างในภาพ เป็นของไมโครซอฟท์เอง
lewcpe.com , @wasonliw
ฟังก์ชั่น if ใน excel เขียนแบบนี้แหล่ะครับ ยิ่งมีการซ้อน if ด้วยยิ่งปวดตับ แต่มันก็มีความสามารถในการ copy สูตรมันก็เลยไม่ต้องเสียเวลาเขียนซ้ำหลายครั้ง
แบบนี้แหละคับ ถ้าจะให้ดูง่ายขึ่น ต้องเอาแต่ละ condition ไปแปะไว้ที่ cell อื่น แล้วค่อยเอามารวมกันทีหลัง
แต่ถ้าเอา function ยัดใน function แบบนั้นจะโหดร้ายตอนแก้มาก
Excel นี่ผมจะใช้ทีก็ search หาวิธีทำที
..: เรื่อยไป
เขียนกันประมาณนี้แหละครับแต่ถ้าบางสูตรซับซ้อนเกินไปแล้วเรียกใช้บ่อยๆก็จะเขียน User Defined Function แทน
Excel นี้เรื่องปวดหัวเลย ผมกับเห็นตรงกันข้ามว่าควรจะลดคุณสมบัติมัน เข้าไว้เน้นส่งรายงานก็พอ
ปัญหานี้เริ่มจาก Hardware เลย
ใครว่า คอมที่ใช้แค่ excel แล้วสเปคต้องพื้นๆ บอกเลย RAM 16GB ยังไม่พอ จอธรรมดาก็ไม่ถนัด
เรียกได้ว่า ต้องการสเปคสูงๆ ไม่่ต่างจากพวกเกมเมอร์
บริษัทลงทุนไปกับระบบ เช่น ERP หลายล้าน แต่เวลาทำงาน ดัน Export ข้อมูลเป็นแสนๆ record ออกมาทำใน excel เพื่อทำการจัดการกับข้อมูล แล้ว import กลับเข้าไปใหม่ทั้งที่จริงๆแล้ว การเล่นกับข้อมูลมันทำในระบบได้อยู่แล้วและดีกว่าด้วย ดึงออกมาเป็น excel มันควรจะดึงตอนสุดท้ายเป็นรายงานเท่านั้น
แต่เหมือน ms เองก็จะยิ่งตอบสนองกับ users กลุ่มนี้ต่อไป
บอกเลยว่าปวดหัวมาก
เคยใช้ celeron socket 478 Cell คำนวนไม่ทัน
Data Analysts มันไม่จำเป็นต้องเป็น Big Data เสมอไปไงครับ
บางที Sample แค่ 10,000-50,000 บรรทัด Excel ก็จัดการได้ดี
แต่เห็นด้วยเรื่องที่พอข้อมูลแตะหลัก 100,000 แล้ว Excel คือเอ๋อไปเลย
ปล.จะเรียกว่า Excel ตอบสนองกับการจัดการข้อมูลปริมาณน้อยๆดีกว่า ถ้าเยอะมากๆใช้ sql เถอะ
+1
ที่ บ โหลดดาต้ายอดขายออกมาที 100-200MB แล้วอัพเดตรายวัน เปิด Pivot ทีเครื่องยังกับโรงสี
มันมีหลายวิธีนะครับ ใช้ Excel เป็นแค่ Display แล้วเชื่อมต่อ Datasource เข้า Data warehouse ก็ได้ แล้วปล่อยข้อมูลมาให้เขาในรูปแบบ Pivot table เพื่อลดการประมวลผลในฝั่ง Excel เขาจะดูอันไหนก็ค่อย คลี่ Cell ออกดู อยู่ที่คนออกแบบระบบเลยล่ะครับ เอาจริงๆ งาน Data Analytic ที่ผมทำเมื่อก่อนแทบจะเรียกว่างาน Hand made เลย ด้านหลังเป็นทั้ง Data warehouse, ETL, แล้วก็ข้อมูลดิบ แต่ผมเขียน Script เพื่อประมวลเป็นข้อมูลดิบที่พอดีกับใช้งานบน Excel ไม่ใช่ raw data ทั้งหมดมีการสรุปให้เป็นบางส่วนแล้ว โดยจัดเป็น Set ข้อมูลในแต่ละกลุ่มงาน ส่งออกไปให้เขาในไฟล์ Excel ที่เขียน macro + store procedure เอาไว้ โดย macro จะอ่านเองว่ามี store ใหม่อะไรเข้ามา ดังนั้นเวลาเพิ่มก็เพิ่มแค่ store procedure ในระบบ เขาจะใช้อะไรก็เลือกชุดข้อมูลกดปุ่มเอาข้อมูลดิบออกไป เพื่อทำต่อ อันนี้คงต้องคุยกับ User ให้เยอะครับเขาจะบอกเองว่าชุดข้อมูลที่เหมาะสมคืออะไร
แต่เดี๋ยวนี้ง่ายกว่าแต่ก่อนเยอะ ใช้ datasource + pivot table ก็ทำงาน Data Analytic ได้ครบ เพียงแต่อาจต้องขั้น layer ตรงกลางด้วย Data warehouse
ผมมองว่าใช้งานผิดประเภทมากกว่าครับแต่ก็ใช่แหละ ดันทำให้มันใข้งานได้นี่
ใช้แค่ =sum() นี่ก็นับด้วยใช่มั้ย
เขียนสูตรยาวๆ แล้วใช้ ArrayFormula ลากลงมา
จากคนที่ไม่เคยใช้อะไรกับ Excel เลย ไม่คิดว่าจะมาจนถึงวันที่เขียนสูตรเซลละเป็นพันอักขระ T_T
ตอนแรกก็คิดว่าคล้าย แต่สรุปมันเป็น programming language จริงๆ สินะ
งงสุดคือฟังก์ชันคล้ายกัน แต่ต่างกันด้วยเงื่อนไขบางอย่างนิดหน่อย แล้วทำไมไม่ใช้ด้วยกันได้... เช่น concadenate / join / textJoin
@ Virusfowl
I'm not a dev. not yet a user.