ฟังก์ชันเป็นสูตรที่กำหนดไว้ล่วงหน้าใน Excel และ Google ชีตที่มีจุดประสงค์เพื่อดำเนินการคำนวณเฉพาะในเซลล์ที่ตั้งอยู่
ข้อมูลในบทความนี้ใช้กับ Excel 2019, Excel 2016, Excel 2013 และ Google ชีต
ไวยากรณ์และอาร์กิวเมนต์ของฟังก์ชัน
ไวยากรณ์ของฟังก์ชันหมายถึงเลย์เอาต์ของฟังก์ชันและรวมถึงชื่อฟังก์ชัน วงเล็บเหลี่ยม ตัวคั่นด้วยจุลภาค และอาร์กิวเมนต์ เช่นเดียวกับสูตรทั้งหมด ฟังก์ชันเริ่มต้นด้วยเครื่องหมายเท่ากับ (=) ตามด้วยชื่อฟังก์ชันและอาร์กิวเมนต์:
- ชื่อฟังก์ชันจะบอก Excel ว่าต้องคำนวณอะไร
- อาร์กิวเมนต์อยู่ภายในวงเล็บหรือวงเล็บกลม และบอกฟังก์ชันว่าข้อมูลใดที่จะใช้ในการคำนวณเหล่านั้น
ตัวอย่างเช่น หนึ่งในฟังก์ชันที่ใช้มากที่สุดใน Excel และ Google ชีตคือฟังก์ชัน SUM:
=SUM (D1: D6)
ในตัวอย่างนี้:
- ชื่อบอกให้ Excel รวมข้อมูลในเซลล์ที่เลือกไว้
- อาร์กิวเมนต์ (D1:D6) เพิ่มเนื้อหาในช่วงเซลล์ D1 ถึง D6.
ฟังก์ชั่นการซ้อนในสูตร
ประโยชน์ของฟังก์ชันในตัวของ Excel สามารถขยายได้โดยการซ้อนฟังก์ชันอย่างน้อยหนึ่งฟังก์ชันภายในฟังก์ชันอื่นในสูตร ผลของฟังก์ชันการซ้อนคือการอนุญาตให้มีการคำนวณหลายรายการในเซลล์แผ่นงานเดียว
ในการทำเช่นนี้ ฟังก์ชันที่ซ้อนกันจะทำหน้าที่เป็นหนึ่งในอาร์กิวเมนต์สำหรับฟังก์ชันหลักหรือฟังก์ชันนอกสุด ตัวอย่างเช่น ในสูตรต่อไปนี้ ฟังก์ชัน SUM จะซ้อนอยู่ภายในฟังก์ชัน ROUND
=ROUND(SUM (D1: D6), 2)
เมื่อทำการประเมินฟังก์ชันที่ซ้อนกัน Excel จะเรียกใช้ฟังก์ชันที่ลึกที่สุดหรืออยู่ด้านในสุดก่อน จากนั้นจึงทำงานออกไปด้านนอก ด้วยเหตุนี้ สูตรข้างต้นจะเป็น:
- หาผลรวมของค่าในเซลล์ D1 ถึง D6.
- ปัดผลลัพธ์นี้เป็นทศนิยมสองตำแหน่ง
ตั้งแต่ Excel 2007 อนุญาตให้ใช้ฟังก์ชันที่ซ้อนกันได้ถึง 64 ระดับ ในเวอร์ชันก่อนหน้านี้ อนุญาตให้ใช้ฟังก์ชันที่ซ้อนกันได้เจ็ดระดับ
แผ่นงานเทียบกับฟังก์ชั่นที่กำหนดเอง
มีฟังก์ชันสองคลาสใน Excel และ Google ชีต:
- ฟังก์ชันแผ่นงาน
- ฟังก์ชันกำหนดเองหรือผู้ใช้กำหนด
เวิร์กชีตเป็นฟังก์ชันที่รวมอยู่ในโปรแกรม เช่น SUM และ ROUND ฟังก์ชันที่กล่าวถึงข้างต้น ในทางกลับกัน ฟังก์ชันแบบกำหนดเองคือฟังก์ชันที่เขียนหรือกำหนดโดยผู้ใช้
ใน Excel ฟังก์ชันที่กำหนดเองจะถูกเขียนด้วยภาษาโปรแกรมในตัว: Visual Basic for Applications หรือ VBA สั้นๆ ฟังก์ชันถูกสร้างขึ้นโดยใช้ตัวแก้ไข Visual Basic ซึ่งติดตั้งด้วย Excel
ฟังก์ชันที่กำหนดเองของ Google ชีตเขียนด้วย Apps Script ซึ่งเป็นรูปแบบของ JavaScript และสร้างขึ้นโดยใช้ตัวแก้ไขสคริปต์ที่อยู่ใต้ Toolsเมนู
ฟังก์ชันแบบกำหนดเองมักจะยอมรับรูปแบบการป้อนข้อมูลบางรูปแบบแต่ไม่เสมอไปและส่งคืนผลลัพธ์ในเซลล์ที่ตั้งอยู่
ด้านล่างคือตัวอย่างของฟังก์ชันที่ผู้ใช้กำหนดเองซึ่งคำนวณส่วนลดของผู้ซื้อที่เขียนด้วยรหัส VBA ฟังก์ชันดั้งเดิมที่ผู้ใช้กำหนด หรือ UDFs เผยแพร่บนเว็บไซต์ของ Microsoft:
ฟังก์ชั่น ส่วนลด(ปริมาณ, ราคา)
ถ้าปริมาณ >=100 แล้ว
ส่วนลด=ปริมาณราคา0.1
Else
ส่วนลด=0
End If
Discount=Application.รอบ(ส่วนลด 2)End Function
ข้อจำกัด
ใน Excel ฟังก์ชันที่ผู้ใช้กำหนดสามารถส่งกลับค่าไปยังเซลล์ที่พวกมันตั้งอยู่เท่านั้น พวกเขาไม่สามารถรันคำสั่งที่เปลี่ยนสภาพแวดล้อมการทำงานของ Excel เช่นการปรับเปลี่ยนเนื้อหาหรือการจัดรูปแบบของเซลล์
ฐานความรู้ของ Microsoft แสดงข้อจำกัดต่อไปนี้สำหรับฟังก์ชันที่ผู้ใช้กำหนด:
- การแทรก การลบ หรือการจัดรูปแบบเซลล์ในเวิร์กชีต
- เปลี่ยนค่าของข้อมูลในเซลล์อื่น
- การย้าย เปลี่ยนชื่อ ลบ หรือเพิ่มแผ่นงานในสมุดงาน
- เปลี่ยนตัวเลือกสภาพแวดล้อม เช่น โหมดการคำนวณหรือมุมมองหน้าจอ
- การตั้งค่าคุณสมบัติหรือดำเนินการวิธีการส่วนใหญ่
ฟังก์ชันที่กำหนดโดยผู้ใช้เทียบกับมาโครใน Excel
ในขณะที่ Google ชีตไม่รองรับในขณะนี้ แต่ใน Excel มาโครคือชุดของขั้นตอนที่บันทึกไว้ซึ่งจะทำให้งานในเวิร์กชีตที่ซ้ำกันโดยอัตโนมัติ ตัวอย่างของงานที่สามารถทำแบบอัตโนมัติได้ ได้แก่ การจัดรูปแบบข้อมูลหรือการดำเนินการคัดลอกและวาง
แม้ว่าทั้งคู่จะใช้ภาษาการเขียนโปรแกรม VBA ของ Microsoft แต่ก็มีความแตกต่างในสองประการ:
- UDF ทำการคำนวณ ในขณะที่มาโครดำเนินการ ดังที่กล่าวไว้ข้างต้น UDF ไม่สามารถดำเนินการที่ส่งผลต่อสภาพแวดล้อมของโปรแกรมได้ ในขณะที่มาโครสามารถทำได้
-
ในหน้าต่างตัวแก้ไข Visual Basic ทั้งสองสามารถแยกความแตกต่างได้เนื่องจาก:
UDF เริ่มต้นด้วยคำสั่ง Function และลงท้ายด้วย End Function.
- มาโครเริ่มต้นด้วยคำสั่ง Sub และลงท้ายด้วย End Sub.