ตัวดําเนินการอินเทอร์เซกชันโดยนัย: @

นำไปใช้กับ
Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel 2024 Excel 2021

Microsoft ได้เปิดตัวตัวดําเนินการอินเทอร์เซกชันโดยนัยเป็นส่วนหนึ่งของการอัปเกรดที่สําคัญไปยังภาษาสูตรของ Excel เพื่อสนับสนุนอาร์เรย์แบบไดนามิก อาร์เรย์แบบไดนามิกนําความสามารถในการคํานวณและฟังก์ชันการทํางานใหม่ๆ ที่สําคัญมาสู่ Excel

ภาษาสูตรที่อัปเกรดแล้ว

ภาษาสูตรที่ได้รับการอัปเกรดของ Excel เกือบจะเหมือนกับภาษาเก่า ยกเว้นว่าจะใช้ตัวดําเนินการ @ เพื่อระบุจุดที่มีจุดตัดโดยนัย ซึ่งภาษาเก่าจะดําเนินการแบบเงียบๆ ด้วยเหตุนี้ คุณอาจสังเกตเห็น @ ปรากฏในบางสูตรเมื่อคุณเปิดสูตรใน Excel อาร์เรย์แบบไดนามิก สูตรของคุณจะคํานวณต่อไปเช่นเดิม  

จุดตัดโดยนัยคืออะไร?

ตรรกะอินเทอร์เซกชันโดยนัยจะลดค่าหลายค่าให้เหลือเพียงค่าเดียว Excel ทําเช่นนี้เพื่อบังคับให้สูตรส่งกลับค่าเดียว เนื่องจากเซลล์หนึ่งค่าสามารถมีได้เพียงค่าเดียวเท่านั้น ถ้าสูตรของคุณส่งกลับค่าเดียว อินเตอร์เซกชันโดยนัยจะไม่ทํางานอะไร (แม้ว่าในทางเทคนิคจะทําอยู่เบื้องหลัง) ตรรกะทํางานดังนี้:

  • ถ้าค่าเป็นรายการเดียว ให้ส่งคืนรายการ
  • ถ้าค่าเป็นช่วง ให้ส่งกลับค่านั้นจากเซลล์บนแถวหรือคอลัมน์เดียวกันกับสูตร
  • ถ้าค่าเป็นอาร์เรย์ ให้เลือกค่าด้านบนซ้าย

ด้วยการถือกําเนิดของอาร์เรย์แบบไดนามิก Excel จะไม่จํากัดเพียงการส่งกลับค่าเดียวจากสูตรอีกต่อไป ดังนั้นการพิมพ์ตัดโดยนัยแบบไม่เงียบจึงไม่จําเป็นอีกต่อไป ซึ่งสูตรเก่าอาจทริกเกอร์จุดตัดโดยนัยที่มองไม่เห็น การเปิดใช้งานอาร์เรย์แบบไดนามิก Excel จะแสดงตําแหน่งที่มันจะเกิดขึ้นด้วย @  

ทําไมต้องเป็นสัญลักษณ์ @

สัญลักษณ์ @ ถูกใช้อยู่แล้วในการอ้างอิงตารางเพื่อระบุจุดตัดโดยนัย พิจารณาสูตรต่อไปนี้ในตาราง=[@Column1] @ ระบุว่าสูตรใช้อินเทอร์เซกชันโดยนัยเพื่อดึงค่าบนแถวเดียวกันจาก [Column1]  

คุณสามารถลบ @ ออกได้หรือไม่

บ่อยครั้งที่คุณสามารถทําได้ ขึ้นอยู่กับว่าส่วนของสูตรทางด้านขวาของ @ จะส่งกลับค่าอะไร:

  • ถ้าสูตรส่งกลับค่าเดียว (กรณีที่พบบ่อยที่สุด) จะไม่มีการเปลี่ยนแปลงเมื่อคุณนํา @ ออก
  • ถ้าส่งกลับช่วงหรืออาร์เรย์ การลบ @ จะทําให้ส ปิลล์ ไปยังเซลล์ข้างเคียง

ถ้าคุณนํา @ ที่เพิ่มโดยอัตโนมัติออก แล้วเปิดเวิร์กบุ๊กใน Excel เวอร์ชันที่เก่ากว่าในภายหลัง เวิร์กบุ๊กจะปรากฏเป็น สูตรอาร์เรย์ดั้งเดิม (ครอบด้วยวงเล็บปีกกา {}) ลักษณะการทํางานนี้ช่วยให้แน่ใจว่าเวอร์ชันที่เก่ากว่าจะไม่ทริกเกอร์จุดตัดโดยนัย

เมื่อใดเราจะเพิ่ม @ ลงในสูตรเก่า

โดยทั่วไปแล้ว ฟังก์ชันที่ส่งกลับช่วงแบบหลายเซลล์หรืออาร์เรย์จะมีคํานําหน้า @ ถ้าคุณเขียนใน Excel เวอร์ชันที่เก่ากว่า ไม่มีการเปลี่ยนแปลงใดๆ กับลักษณะการทํางานของสูตรของคุณ คุณสามารถเห็นจุดตัดโดยนัยที่มองไม่เห็นก่อนหน้านี้ได้แล้ว ฟังก์ชันทั่วไปที่ส่งกลับช่วงหลายเซลล์ ได้แก่ INDEX, OFFSET และฟังก์ชันที่ผู้ใช้กําหนดเอง (UDFs) ข้อยกเว้นทั่วไปคือ ถ้าถูกรวมไว้ในฟังก์ชันที่ยอมรับอาร์เรย์หรือช่วง (ตัวอย่างเช่น SUM() หรือ AVERAGE()) 

ดู ฟังก์ชัน Excel ที่ส่งกลับช่วงหรืออาร์เรย์สําหรับ รายละเอียดเพิ่มเติม

ตัวอย่าง

สูตรดั้งเดิม ตามที่เห็นในอาร์เรย์แบบไดนามิกของ Excel คำอธิบาย
=SUM(A1:A10) =SUM(A1:A10) ไม่มีการเปลี่ยนแปลง - ไม่มีอินเทอร์เซกชันโดยนัยเกิดขึ้นได้ เนื่องจากฟังก์ชัน SUM คาดว่าจะมีช่วงหรืออาร์เรย์
=A1+A2 =A1+A2 ไม่มีการเปลี่ยนแปลง - ไม่มีอินเทอร์เซกชันโดยนัยเกิดขึ้นได้
=A1:A10 =@A1:A10 เกิดอินเทอร์เซกชันโดยนัย และ Excel จะส่งกลับค่าที่เกี่ยวข้องกับแถวที่มีสูตรอยู่
=INDEX(A1:A10,B1) =@INDEX(A1:A10,B1) จุดตัดโดยนัยสามารถเกิดขึ้นได้ ฟังก์ชัน INDEX สามารถส่งกลับอาร์เรย์หรือช่วงเมื่ออาร์กิวเมนต์ที่สองหรือสามเป็น 0
=OFFSET(A1:A2,1,1) =@OFFSET(A1:A2,1,1) จุดตัดโดยนัยสามารถเกิดขึ้นได้ ฟังก์ชัน OFFSET สามารถส่งกลับช่วงแบบหลายเซลล์ได้ เมื่อเป็นเช่นนั้น จะทริกเกอร์จุดตัดโดยนัย
=MYUDF() =@MYUDF() จุดตัดโดยนัยสามารถเกิดขึ้นได้ สร้างฟังก์ชันแบบกําหนดเองใน Excel สามารถส่งกลับอาร์เรย์ได้ เมื่อทําได้ สูตรเดิมจะทริกเกอร์จุดตัดโดยนัย

การใช้ตัวดําเนินการ @ ในสูตรใหม่

ถ้าคุณเขียนหรือแก้ไขสูตรใน Excel อาร์เรย์แบบไดนามิกที่มีตัวดําเนินการ @ สูตรอาจปรากฏเป็น _xlfn SINGLE() ในอาร์เรย์ก่อนไดนามิก Excel

ลักษณะการทํางานนี้เกิดขึ้นเมื่อคุณยอมรับสูตรแบบผสม สูตรผสมคือสูตรทั้งที่ใช้การคํานวณอาร์เรย์และอินเทอร์เซกชันโดยนัย อาร์เรย์ก่อนไดนามิก Excel ไม่สนับสนุนการผสมนี้ อาร์เรย์ก่อนไดนามิก Excel สนับสนุนเฉพาะสูตรที่ทํา i) อินเทอร์เซกชันโดยนัย หรือ ii) การคํานวณอาร์เรย์ทั้งหมด

เมื่อเปิดใช้งานอาร์เรย์แบบไดนามิกแล้ว Excel จะตรวจหาการสร้างสูตรแบบผสม จะเสนอชุดรูปแบบของสูตรที่ใช้อินเทอร์เซกชันโดยนัยทั้งหมด ตัวอย่างเช่น ถ้าคุณใส่ =A1:A10+@A1:A10, คุณจะเห็นกล่องโต้ตอบต่อไปนี้:

สกรีนช็อตที่แสดงกล่องโต้ตอบที่ถามว่าคุณต้องการให้ fromula =@A1:A10 + @A1:A10 แทนหรือไม่

ถ้าคุณเลือกที่จะปฏิเสธสูตรที่เสนอโดยกล่องโต้ตอบ จะมีการยืนยันสูตรผสม=A1:A10+@A1:A10 ถ้าคุณเปิดสูตรนี้ในภายหลังใน Excel อาร์เรย์ก่อนไดนามิก จะปรากฏ =A1:A10+_xlfn.SINGLE(A1:A10) เป็นตัวดําเนินการ @ ในสูตรผสมที่ปรากฏเป็น _xlfn.SINGLE(). เมื่ออาร์เรย์ก่อนไดนามิก Excel ประเมินสูตรนี้ จะส่งกลับ #NAME! เป็นค่าความผิดพลาด 

ต้องการความช่วยเหลือเพิ่มเติมไหม

คุณสามารถสอบถามผู้เชี่ยวชาญใน ชุมชนด้านเทคนิคของ Excel หรือรับการสนับสนุนใน ชุมชนได้เสมอ

ดูเพิ่มเติม

ฟังก์ชัน FILTER

ฟังก์ชัน RANDARRAY

ฟังก์ชัน SEQUENCE

ฟังก์ชัน SORT

ฟังก์ชัน SORTBY

ฟังก์ชัน UNIQUE

ข้อผิดพลาด #SPILL! ใน Excel

ลักษณะการทำงานของอาร์เรย์แบบไดนามิกและอาร์เรย์ที่กระจายตัว