Tags:
Node Thumbnail

ไมโครซอฟท์ประกาศเพิ่มฟีเจอร์สร้างฟังก์ชั่นในตัวเอง เรียกว่า LAMBDA หลังจากก่อนหน้านี้การสร้างฟังก์ชั่นใน Excel ต้องสร้างจากภาษาโปรแกรมอื่น เช่น Visual Basic หรือ JavaScript เท่านั้น พร้อมกับระบุว่า Excel เป็นภาษาโปรแกรมที่คนใช้มากที่สุดในโลก

ฟีเจอร์ LAMBDA ทำให้ผู้ใช้ Excel สามารถประกาศฟังก์ชั่นได้อย่างเป็นธรรมชาติ โดยสามารถใช้ฟังก์ชั่นต่างๆ ของ Excel ที่มีอยู่เดิมได้ โดย LAMBDA จะมาทดแทนการเขียนสูตรที่มีความซับซ้อนสูงๆ แล้ว copy ไปวางทีละเซลล์ แม้ว่า Excel จะสามารถลากสูตรไปตามตารางได้ก็ตาม แต่การลากสูตรไปวางก็สร้างความผิดพลาดได้ง่ายในหลายกรณี แถมตารางโดยรวมอ่านยาก

นอกจากการลดความซับซ้อนของสูตรในตารางแล้ว LAMBDA ยังทำให้ผู้ใช้สามารถเรียกฟังก์ชั่นแบบ recursive ได้ เหมือนภาษาโปรแกรมเต็มรูปแบบอื่นๆ

ฟีเจอร์ LAMBDA ยังเปิดให้ใช้งานเฉพาะผู้ใช้ Office 365 ที่สมัคร Beta Channel ไว้เท่านั้น

ที่มา - Excel Blog

No Description

ตัวอย่างการประกาศฟังก์ชั่น REPLACECHARS แบบเรียกตัวเองเป็น recursive

Get latest news from Blognone

Comments

By: xyz123 on 5 December 2020 - 23:40 #1188702
xyz123's picture

lambda นี่เคยเห็นครั้งสุดท้ายตอนที่รู้จักกับภาษา racket เลย

By: lew
FounderJusci's WriterMEconomicsAndroid
on 5 December 2020 - 23:46 #1188703 Reply to:1188702
lew's picture

python น่าจะใช้กันเยอะนะครับ


lewcpe.com, @wasonliw

By: เอี้ยก้วย ณ แอนฟิลด์ on 6 December 2020 - 00:46 #1188709 Reply to:1188702

lambda function ที่มาจาก lambda calculus ไง ภาษา functional programming ทำได้หมด รวมถึงภาษา imperative programming หลายๆตัวเช่น python, javascript

By: itpcc
ContributoriPhoneRed HatUbuntu
on 5 December 2020 - 23:47 #1188704
itpcc's picture

ไมโครซอฟท์ระบุ Excel เป็นภาษาโปรแกรมที่คนใช้มากที่สุดในโลก

ไม่เห็นมีพูดถึงในเนื้อข่าว ผมไม่แน่ใจว่าพูดเอาจริงหรือจะแซะเรื่องการก๊อปสูตรกันแน่?

EDIT: อ้อ เห็นละ แอบอยู่หลังย่อหน้าแรกนี่เอง


บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P

By: Aize
ContributorWindows PhoneAndroidWindows
on 6 December 2020 - 00:39 #1188707
Aize's picture

ใน IF เขาใช้กันแบบนั้นเลยหรือ


The Dream hacker..

By: lew
FounderJusci's WriterMEconomicsAndroid
on 6 December 2020 - 00:47 #1188710 Reply to:1188707
lew's picture

ผมเขียน Excel ซับซ้อนมากๆ ไม่เป็นเหมือนกันครับ แต่ตัวอย่างในภาพเป็นของไมโครซอฟท์เอง


lewcpe.com, @wasonliw

By: akira on 6 December 2020 - 07:00 #1188714 Reply to:1188707

ฟังก์ชั่น if ใน excel เขียนแบบนี้แหล่ะครับ ยิ่งมีการซ้อน if ด้วยยิ่งปวดตับ แต่มันก็มีความสามารถในการ copy สูตรมันก็เลยไม่ต้องเสียเวลาเขียนซ้ำหลายครั้ง

By: beersonic
AndroidWindows
on 6 December 2020 - 09:16 #1188721 Reply to:1188707

แบบนี้แหละคับ ถ้าจะให้ดูง่ายขึ่น ต้องเอาแต่ละ condition ไปแปะไว้ที่ cell อื่น แล้วค่อยเอามารวมกันทีหลัง

แต่ถ้าเอา function ยัดใน function แบบนั้นจะโหดร้ายตอนแก้มาก

By: btoy
ContributorAndroidWindows
on 6 December 2020 - 09:45 #1188724 Reply to:1188707
btoy's picture

Excel นี่​ผมจะใช้​ทีก็​ search หาวิธี​ทำที


..: เรื่อยไป

By: bosszz
Android
on 7 December 2020 - 13:37 #1188811 Reply to:1188707
bosszz's picture

เขียนกันประมาณนี้แหละครับ
แต่ถ้าบางสูตรซับซ้อนเกินไปแล้วเรียกใช้บ่อยๆก็จะเขียน User Defined Function แทน

By: sMaliHug on 6 December 2020 - 08:37 #1188719

Excel นี้เรื่องปวดหัวเลย ผมกับเห็นตรงกันข้ามว่าควรจะลดคุณสมบัติมัน เข้าไว้เน้นส่งรายงานก็พอ

ปัญหานี้เริ่มจาก Hardware เลย
ใครว่า คอมที่ใช้แค่ excel แล้วสเปคต้องพื้นๆ บอกเลย RAM 16GB ยังไม่พอ จอธรรมดาก็ไม่ถนัด
เรียกได้ว่า ต้องการสเปคสูงๆ ไม่่ต่างจากพวกเกมเมอร์

บริษัทลงทุนไปกับระบบ เช่น ERP หลายล้าน แต่เวลาทำงาน ดัน Export ข้อมูลเป็นแสนๆ record ออกมาทำใน excel เพื่อทำการจัดการกับข้อมูล แล้ว import กลับเข้าไปใหม่
ทั้งที่จริงๆแล้ว การเล่นกับข้อมูลมันทำในระบบได้อยู่แล้วและดีกว่าด้วย ดึงออกมาเป็น excel มันควรจะดึงตอนสุดท้ายเป็นรายงานเท่านั้น

แต่เหมือน ms เองก็จะยิ่งตอบสนองกับ users กลุ่มนี้ต่อไป

บอกเลยว่าปวดหัวมาก

By: deaknaew on 6 December 2020 - 17:13 #1188745 Reply to:1188719

เคยใช้ celeron socket 478 Cell คำนวนไม่ทัน

By: bosszz
Android
on 7 December 2020 - 13:40 #1188812 Reply to:1188719
bosszz's picture

Data Analysts มันไม่จำเป็นต้องเป็น Big Data เสมอไปไงครับ

บางที Sample แค่ 10,000-50,000 บรรทัด Excel ก็จัดการได้ดี

แต่เห็นด้วยเรื่องที่พอข้อมูลแตะหลัก 100,000 แล้ว Excel คือเอ๋อไปเลย

ปล.จะเรียกว่า Excel ตอบสนองกับการจัดการข้อมูลปริมาณน้อยๆดีกว่า ถ้าเยอะมากๆใช้ sql เถอะ

By: psemanssc
Blackberry
on 7 December 2020 - 14:39 #1188818 Reply to:1188719

+1

ที่ บ โหลดดาต้ายอดขายออกมาที 100-200MB แล้วอัพเดตรายวัน เปิด Pivot ทีเครื่องยังกับโรงสี

By: akira on 7 December 2020 - 14:43 #1188819 Reply to:1188719

มันมีหลายวิธีนะครับ ใช้ 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

By: langisser
In Love
on 7 December 2020 - 17:06 #1188839 Reply to:1188719

ผมมองว่าใช้งานผิดประเภทมากกว่าครับ
แต่ก็ใช่แหละ ดันทำให้มันใข้งานได้นี่

By: checkmate95
ContributorAndroid
on 6 December 2020 - 08:44 #1188720
checkmate95's picture

ใช้แค่ =sum() นี่ก็นับด้วยใช่มั้ย

By: Virusfowl
ContributorAndroidSymbianWindows
on 8 December 2020 - 22:55 #1189079

เขียนสูตรยาวๆ แล้วใช้ ArrayFormula ลากลงมา
จากคนที่ไม่เคยใช้อะไรกับ Excel เลย ไม่คิดว่าจะมาจนถึงวันที่เขียนสูตรเซลละเป็นพันอักขระ T_T
ตอนแรกก็คิดว่าคล้าย แต่สรุปมันเป็น programming language จริงๆ สินะ

งงสุดคือฟังก์ชันคล้ายกัน แต่ต่างกันด้วยเงื่อนไขบางอย่างนิดหน่อย แล้วทำไมไม่ใช้ด้วยกันได้... เช่น concadenate / join / textJoin


@ Virusfowl

I'm not a dev. not yet a user.