ฟังก์ชันที่มีชื่อจะช่วยให้คุณสร้างฟังก์ชันที่กำหนดเองซึ่งใช้สูตรสำเร็จรูปของชีตได้ เราได้เพิ่มความสามารถในการนำเข้าฟังก์ชันที่มีชื่อเพื่อให้ใช้งานได้ในชีตมากกว่า 1 ชีต
หากต้องการดูสเปรดชีตตัวอย่างและทำตามขั้นตอนต่างๆ ไปพร้อมกับวิดีโอ ให้คลิก "ทำสำเนา" ด้านล่าง
เปิดฟังก์ชันที่มีชื่อ
- ในสเปรดชีตใหม่หรือสเปรดชีตที่มีอยู่ ให้คลิกข้อมูล ฟังก์ชันที่มีชื่อ
สําหรับเซลล์ที่มีสูตร:
- คลิกขวาที่เซลล์ที่มีสูตร
- คลิกดูการดำเนินการเพิ่มเติมของเซลล์ กำหนดฟังก์ชันที่มีชื่อ
สร้างฟังก์ชันที่มีชื่อ
เมื่อสร้างฟังก์ชันที่มีชื่อ ให้ใช้ข้อความเป็นตัวยึดตำแหน่งสำหรับอินพุต
ตัวอย่างเช่น ฟังก์ชัน IF
รับอาร์กิวเมนต์ได้สูงสุด 3 อาร์กิวเมนต์
IF(logical_expression, value_if_true, value_if_false)
หากคุณแทรกข้อความ "logical_expression
", "value_if_true
" หรือ "value_if_false
" เป็นอาร์กิวเมนต์ในเซลล์ คุณจะได้รับข้อผิดพลาด เนื่องจากอาร์กิวเมนต์เหล่านี้คือตัวยึดตำแหน่งและคำอธิบายประเภทของอินพุตที่ฟังก์ชันคาดหวัง หากต้องการป้อนอินพุตหลายรายการลงในฟังก์ชัน คุณต้องกำหนดตัวยึดตำแหน่งอาร์กิวเมนต์เมื่อเขียนฟังก์ชันที่มีชื่อ
ก่อนหน้านี้ คุณสร้างฟังก์ชันที่กำหนดเองโดยใช้ได้เพียง App Script เท่านั้น ซึ่งทำให้คุณต้องเขียน JavaScript แต่ฟังก์ชันที่มีชื่อจะช่วยให้คุณสร้างฟังก์ชันที่กำหนดเองได้ด้วยอินเทอร์เฟซที่ใช้งานง่ายโดยไม่ต้องเขียนโค้ดใดๆ
คอมโพเนนต์หลัก 4 รายการในฟังก์ชันที่มีชื่อ ได้แก่
- ชื่อฟังก์ชัน
- ชื่อของฟังก์ชันที่คุณใช้แทรกฟังก์ชันในเซลล์ ส่วนนี้จะเป็นตัวอักษรตัวพิมพ์ใหญ่
- ข้อกำหนด
- ตั้งชื่อเป็นชื่อเดียวกับฟังก์ชันชีตในตัว เช่น
SUM
ไม่ได้ - ตั้งชื่อเป็น
TRUE
หรือFALSE
ไม่ได้ - ต้องไม่อยู่ในรูปแบบไวยากรณ์ "A1" หรือ "R1C1"
- เช่น หากคุณตั้งชื่อฟังก์ชันเป็น "A1" หรือ "AA11" คุณจะได้รับข้อผิดพลาด
- เริ่มต้นด้วยตัวเลขไม่ได้
- ต้องมีอักขระไม่เกิน 255 ตัว
- ต้องไม่มีเว้นวรรค
- ต้องไม่มีสัญลักษณ์พิเศษ ยกเว้นขีดล่าง
- ตั้งชื่อเป็นชื่อเดียวกับฟังก์ชันชีตในตัว เช่น
- คำอธิบายของฟังก์ชัน
- คําอธิบายฟังก์ชันที่ปรากฏในส่วน "เกี่ยวกับ" ของช่องความช่วยเหลือของฟังก์ชัน
- ตัวยึดตำแหน่งสำหรับอาร์กิวเมนต์ (ไม่บังคับ)
- ตัวยึดตําแหน่งคือคําอธิบายประเภทของอินพุตที่ฟังก์ชันคาดหวัง เช่น ชื่ออาร์กิวเมนต์ "
CELL
" หรือ "RANGE
" มีไว้สําหรับเมื่ออินพุตที่คาดหวังเป็นเซลล์เดียว หรือเป็นช่วงของเซลล์ ตามลําดับ - ข้อกำหนด
- ต้องมีชื่อต่างจากตัวยึดตำแหน่งอาร์กิวเมนต์อื่นในฟังก์ชันที่มีชื่อ
- ต้องไม่อยู่ในรูปแบบไวยากรณ์ "A1" หรือ "R1C1"
- เช่น หากคุณตั้งชื่อตัวยึดตำแหน่งเป็น "A1" หรือ "AA11" คุณจะได้รับข้อผิดพลาด
- ต้องไม่มีเว้นวรรค
- ต้องไม่มีสัญลักษณ์พิเศษ ยกเว้นขีดล่าง
- ตัวยึดตําแหน่งคือคําอธิบายประเภทของอินพุตที่ฟังก์ชันคาดหวัง เช่น ชื่ออาร์กิวเมนต์ "
- คำนิยามของสูตร
- เป็นสูตรแบบเขียนที่คุณแทรกลงในเซลล์ เมื่อคุณรวมอาร์กิวเมนต์ที่กําหนดไว้ ฟังก์ชันจะคาดหวังอินพุตสําหรับอาร์กิวเมนต์แต่ละรายการเมื่อแทรกฟังก์ชันในเซลล์
- ข้อกำหนด
- ต้องเป็นสูตรที่แยกวิเคราะห์ได้
- ต้องไม่มีวงเล็บที่ขาดหายไป
- ต้องไม่มีคอมมาที่อยู่ผิดที่
รายละเอียดอื่นๆ
หลังจากตั้งค่าคอมโพเนนต์หลักข้างต้นแล้ว คุณจะเพิ่มรายละเอียดเพิ่มเติมในหน้าที่ 2 ได้ สําหรับตัวยึดตําแหน่งอาร์กิวเมนต์ทั้งหมดที่คุณกําหนด ช่องเหล่านี้จะพร้อมใช้งาน
- คำอธิบายอาร์กิวเมนต์
- นี่คือคําอธิบายสั้นๆ ว่าฟังก์ชันนี้คาดหวังอะไรสําหรับอาร์กิวเมนต์นี้ เช่น "ค่า 1 ค่าที่คุณกําลังค้นหา"
- ตัวอย่างของอาร์กิวเมนต์
- นี่คือตัวอย่างอินพุตสําหรับอาร์กิวเมนต์นี้ เช่น อาร์กิวเมนต์ที่ควรเป็นช่วงของเซลล์คือ "B3:B14"
ระบบจะใช้รายละเอียดเพิ่มเติมเหล่านี้พร้อมด้วยคอมโพเนนต์หลักในการป้อนข้อมูลในกล่องความช่วยเหลือของฟังก์ชันเมื่อเพิ่มฟังก์ชันที่มีชื่อไปยังเซลล์ ดังนี้
นำเข้าฟังก์ชันที่มีชื่อ
เมื่อคุณสร้างฟังก์ชันที่มีชื่อเพิ่ม หรือเริ่มค้นพบฟังก์ชันที่เป็นประโยชน์ซึ่งบุคคลอื่นสร้างขึ้น แล้วต้องการใช้งานฟังก์ชันเหล่านั้นในชีตอื่น คุณก็สามารถนำฟังก์ชันที่มีชื่อที่สร้างขึ้นไปใช้ซ้ำได้ด้วยการนำเข้าฟังก์ชันเหล่านั้นจากชีตอื่นลงในชีตปัจจุบัน โดยทำดังนี้
- เปิด Google ชีตในคอมพิวเตอร์
- เปิดชีตที่ต้องการนำเข้าฟังก์ชันที่มีชื่อ
- ที่ด้านบน ให้คลิกข้อมูล ฟังก์ชันที่มีชื่อ นำเข้าฟังก์ชัน
- เลือกชีตที่ต้องการนำเข้า
- เลือกฟังก์ชันที่มีชื่อที่ต้องการนำเข้า
- หากต้องการนำเข้าฟังก์ชันที่มีชื่อทั้งหมดจากไฟล์ ให้คลิกนำเข้าทั้งหมด
- คลิกนำเข้า
เคล็ดลับ
- หากฟังก์ชันที่มีชื่อที่คุณเลือกให้นำเข้ามามีชื่อเหมือนกับฟังก์ชันที่มีชื่อซึ่งมีอยู่แล้วในไฟล์ที่ใช้งานอยู่ ฟังก์ชันที่นำเข้านั้นจะลบล้างฟังก์ชันที่มีอยู่แล้ว
- หากฟังก์ชันที่มีชื่อที่คุณเลือกให้นำเข้ามานั้นมีความเชื่อมโยงกับฟังก์ชันที่มีชื่อรายการอื่น เช่น คำจำกัดความของสูตร ในกรณีนี้ชีตจะเตือนคุณเกี่ยวกับความเชื่อมโยงนั้นและไฮไลต์ฟังก์ชันที่เชื่อมโยงกัน
- หากฟังก์ชันที่มีชื่อที่คุณเลือกให้นำเข้านั้นใช้สูตรที่มีการโต้ตอบกับแหล่งที่มาภายนอก เช่น
IMAGE
ชีตจะเตือนคุณเกี่ยวกับการโต้ตอบนั้น
ตัวอย่าง
ฟังก์ชันที่มีชื่อที่มีตัวยึดตําแหน่งสําหรับอาร์กิวเมนต์ 2 รายการ
- ชื่อฟังก์ชัน
CONTAINS
- คำอธิบาย: ตรวจสอบว่าค่าปรากฏในช่วงหรือไม่ ระบบจะแสดงผล
TRUE
หากค่าปรากฏขึ้น และFALSE
หากไม่ปรากฏขึ้น - ตัวยึดตําแหน่งสําหรับอาร์กิวเมนต์:
search_query
,search_range
- คำอธิบาย:
=NOT(ISERROR(MATCH(search_query,search_range,0)))
- รายละเอียดเพิ่มเติม
- คำอธิบายอาร์กิวเมนต์:
search_query
- ค่าที่คุณกำลังค้นหา
- ตัวอย่างของอาร์กิวเมนต์:
search_query
- B3
- คำอธิบายอาร์กิวเมนต์:
search_range
- ช่วงที่คุณค้นหาค่า
- ตัวอย่างของอาร์กิวเมนต์:
search_range
- B3:B14
- คำอธิบายอาร์กิวเมนต์:
ฟังก์ชันที่มีชื่อที่ไม่มีตัวยึดตําแหน่งอาร์กิวเมนต์
- ชื่อฟังก์ชัน
NAMED_FUNCTIONS_SLOGAN
- คำอธิบาย: แสดงผลลัพธ์เป็นประโยคที่ชัดเจนที่อธิบายฟังก์ชันที่มีชื่อ
- คำอธิบาย:
="Named functions help make my formulas easier to use and read."
ฟังก์ชันที่มีชื่อที่ใช้การเกิดซ้ำ
- ชื่อฟังก์ชัน
REVERSE_WORDS
- คําอธิบาย: กลับลําดับคําในสตริง
- ตัวยึดตำแหน่ง:
str
- คำอธิบาย:
=IF(ISERROR(FIND(" ", str)), str, REVERSE_WORDS(RIGHT(str, LEN(str)-FIND(" ", str)))&" "&LEFT(str, FIND(" ",str)-1))
- รายละเอียดเพิ่มเติม
- คำอธิบายอาร์กิวเมนต์:
str
- String you need reversed (สตริงที่ต้องการให้ย้อนกลับ)
- ตัวอย่างของอาร์กิวเมนต์:
str
- "reversed need you String"
- คำอธิบายอาร์กิวเมนต์:
ฟังก์ชันที่มีชื่อที่ใช้ LAMBDA
- ชื่อฟังก์ชัน
COUNT_FORMULAS
- คําอธิบาย: คํานวณจํานวนสูตรสําหรับช่วงที่ระบุ
- ตัวยึดตำแหน่ง:
range
- คำอธิบาย:
=COUNTIF(MAP(range,LAMBDA(cell, ISFORMULA(cell))),"TRUE")
- รายละเอียดเพิ่มเติม
- คำอธิบายอาร์กิวเมนต์:
range
- ช่วงที่คุณค้นหาสูตร
- ตัวอย่างของอาร์กิวเมนต์:
search_range
- A2:D7
- คำอธิบายอาร์กิวเมนต์:
คำถามที่พบบ่อย
ฉันจะสร้างช่วงแบบสัมพัทธ์ในฟังก์ชันที่มีชื่อได้หรือไม่ไม่ได้ ช่วงทั้งหมดที่อยู่ในคำจำกัดความของสูตรเป็นค่าสัมบูรณ์ หากไม่อยู่ในคำจำกัดความในรูปแบบนั้น ระบบจะแปลงเป็นช่วงสัมบูรณ์ เช่น ระบบจะแก้ไข "A1:B3" เมื่อบันทึกลงในชีต "1!$A$1:$B$3" คุณสามารถส่งช่วงแบบสัมพัทธ์ในรูปแบบอาร์กิวเมนต์ไปยังฟังก์ชันที่มีชื่อได้
ได้ คุณสามารถตั้งชื่อตัวยึดตําแหน่งอาร์กิวเมนต์ให้เป็นชื่อเดียวกับฟังก์ชันในตัว ตัวอย่างเช่น คุณอาจตั้งชื่อตัวยึดตําแหน่งสําหรับอาร์กิวเมนต์ว่า "SUM" ได้ แต่หากใช้ด้วยกัน ตัวยึดตําแหน่งสําหรับอาร์กิวเมนต์จะมีลําดับความสําคัญเหนือกว่าฟังก์ชันในตัว
ได้ ชื่อที่กำหนดโดยไม่มีพารามิเตอร์สามารถนำเข้าไปยังชีตได้ แต่ควรเรียกใช้โดยไม่มีวงเล็บ
ได้ ชีตจะอัปเดตชื่อที่กำหนดไว้ให้เป็นไปตามไวยากรณ์ของฟังก์ชันที่มีชื่อในชีต โดยคุณต้องเพิ่มวงเล็บลงในการอ้างอิงเซลล์ทั้งหมด
ไม่ได้ คุณไม่สามารถสร้างฟังก์ชันที่มีชื่อโดยใช้ชื่อเดียวกับฟังก์ชันสคริปต์ของแอปที่กำหนดเองซึ่งมีอยู่ในชีตได้ แต่คุณสามารถเพิ่มฟังก์ชันที่กำหนดเองในชีตได้โดยใช้ชื่อเดียวกับฟังก์ชันที่มีชื่อที่มีอยู่แล้ว แต่ฟังก์ชันที่มีอยู่นี้จะมีผลแทนฟังก์ชันที่คุณกำหนดเอง
ปัญหานี้อาจเกิดขึ้นจาก 2 กรณี ดังนี้
- การคํานวณสูตรใช้เวลานานเกินไป
- ใช้หน่วยความจํามากเกินไป
หากต้องการแก้ไขปัญหานี้ ให้ใช้สูตรที่ง่ายกว่านี้เพื่อลดความซับซ้อน
ช่วงที่ตั้งชื่อแล้วจะมีความสำคัญเหนือกว่าฟังก์ชันที่มีชื่อ