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

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

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

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

ภาษาสูตรที่ได้รับการอัปเกรดของ Excel เกือบจะเหมือนกับภาษาเก่า ยกเว้นว่าจะใช้ตัวดําเนินการ @ เพื่อระบุจุดที่มีจุดตัดโดยนัย ซึ่งภาษาเก่าจะดําเนินการแบบเงียบๆ ด้วยเหตุนี้ คุณอาจสังเกตเห็น@'s appear in some formulas when opened in dynamic array Excel. It'ว่า เป็นสิ่งสําคัญที่ต้องทราบว่าสูตรของคุณจะยังคงคํานวณต่อไปในลักษณะเดิมที่เคยเป็นมา  

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

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

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

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

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

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

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

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

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

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

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

กล่าวโดยทั่วไป ฟังก์ชันที่ส่งกลับช่วงหลายเซลล์หรืออาร์เรย์จะถูกนําหน้าด้วย @ ถ้าถูกเขียนใน Excel เวอร์ชันที่เก่ากว่า โปรดทราบว่าไม่มีการเปลี่ยนแปลงในลักษณะการทํางานของสูตร คุณสามารถเห็นจุดตัดโดยนัยที่มองไม่เห็นก่อนหน้านี้ได้แล้ว ฟังก์ชันทั่วไปที่สามารถส่งกลับช่วงหลายเซลล์ ได้แก่ INDEX, OFFSET และฟังก์ชันที่ผู้ใช้กําหนดเอง (UDF)  ข้อยกเว้นทั่วไปคือ ถ้าถูกรวมอยู่ในฟังก์ชันที่ยอมรับอาร์เรย์หรือช่วง (เช่น 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 อาร์เรย์แบบไดนามิกที่มีตัวดําเนินการ @ สูตรอาจปรากฏเป็น _xlfn SINGLE() ในอาร์เรย์ก่อนไดนามิก 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

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