ตัวดําเนินการอินเทอร์เซกชันโดยนัยถูกนํามาใช้เป็นส่วนหนึ่งของการอัปเกรดที่สําคัญเป็นภาษาสูตรของ Excel เพื่อสนับสนุนอาร์เรย์แบบไดนามิก อาร์เรย์แบบไดนามิกนําความสามารถในการคํานวณและฟังก์ชันการทํางานใหม่ที่สําคัญมาใช้กับ Excel
ภาษาสูตรที่อัปเกรด
ภาษาของสูตรที่อัปเกรดของ Excel เกือบจะเหมือนกับภาษาเก่า เว้นแต่ว่า Excel จะใช้ตัวดําเนินการ @ เพื่อระบุตําแหน่งที่อินเทอร์เซกชันโดยนัยอาจเกิดขึ้น ในขณะที่ภาษาเก่าทําเช่นนี้โดยไม่แจ้งให้ทราบ ดังนั้น คุณอาจสังเกตเห็นว่า @'s ปรากฏในสูตรบางสูตรเมื่อเปิดในอาร์เรย์แบบไดนามิกของ Excel สิ่งสําคัญคือต้องทราบว่าสูตรของคุณจะยังคงคํานวณด้วยวิธีเดิมเสมอ
อินเทอร์เซกชันโดยนัยคืออะไร
ตรรกะอินเทอร์เซกชันโดยนัยจะลดค่าจํานวนมากให้เป็นค่าเดียว Excel ทําเช่นนี้เพื่อบังคับให้สูตรส่งกลับค่าเดียว เนื่องจากเซลล์สามารถมีค่าได้เพียงค่าเดียวเท่านั้น ถ้าสูตรของคุณส่งกลับค่าเดียว แล้วจุดตัดโดยนัยไม่ได้ทําอะไรเลย (แม้ว่าในทางเทคนิคแล้วจะดําเนินการอยู่เบื้องหลัง) ตรรกะทํางานดังนี้:
-
ถ้าค่าเป็นรายการเดียว ให้ส่งกลับรายการนั้น
-
ถ้าค่าเป็นช่วง ให้ส่งกลับค่าจากเซลล์ในแถวหรือคอลัมน์เดียวกันกับสูตร
-
ถ้าค่าเป็นอาร์เรย์ ให้เลือกค่าด้านบนซ้าย
ด้วยการโฆษณาอาร์เรย์แบบไดนามิก Excel จะไม่จํากัดการส่งกลับค่าเดี่ยวจากสูตรอีกต่อไป ดังนั้น จึงไม่จําเป็นต้องมีอินเทอร์เซกชันโดยนัยโดยไม่บอกล่วงหน้าอีกต่อไป ในกรณีที่สูตรเก่าอาจทริกเกอร์อินเทอร์เซกชันโดยนัยอย่างหลีกเลี่ยงไม่ได้ อาร์เรย์แบบไดนามิกที่เปิดใช้งาน Excel จะแสดงตําแหน่งที่จะเกิดกับ @
เพราะเหตุใดจึงมีสัญลักษณ์ @
สัญลักษณ์ @ ถูกใช้อยู่แล้วในการอ้างอิงตารางเพื่อระบุจุดตัดโดยนัย พิจารณาสูตรต่อไปนี้ในตาราง =[@Column1] ที่นี่ @ ระบุว่าสูตรควรใช้อินเทอร์เซกชันโดยนัยเพื่อเรียกใช้ค่าบนแถวเดียวกันจาก [คอลัมน์ 1]
คุณสามารถลบ @ได้หรือไม่
คุณมักจะทําได้ ขึ้นอยู่กับว่าส่วนใดของสูตรทางด้านขวาของ @ จะส่งกลับค่า:
-
ถ้าส่งกลับค่าเดียว (ตัวพิมพ์ทั่วไป) จะไม่มีการเปลี่ยนแปลงโดยการเอา @ ออก
-
ถ้าส่งกลับค่าช่วงหรืออาร์เรย์ การเอา @ ออกจะทําให้เซลล์ข้างบ้านหกกระเด็น
ถ้าคุณเอา @ ที่เพิ่มโดยอัตโนมัติออก และเปิดเวิร์กบุ๊กใน 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 คุณจะเห็นกล่องโต้ตอบต่อไปนี้:
ถ้าคุณเลือกที่จะปฏิเสธสูตรที่เสนอโดยกล่องโต้ตอบ สูตรผสม =A1:A10+@A1:A10 จะถูกยอมรับ ถ้าคุณเปิดสูตรนี้ในภายหลังในอาร์เรย์แบบไดนามิก Excel สูตรจะปรากฏเป็น =A1:A10+_xlfn SINGLE(A1:A10) ที่มี @'s ในสูตรผสมที่ปรากฏเป็น_xlfn SINGLE() เมื่อสูตรนี้ถูกประเมินโดยอาร์เรย์แบบไดนามิกล่วงหน้า Excel จะส่งกลับ #NAME! เป็นค่าความผิดพลาด
ต้องการความช่วยเหลือเพิ่มเติมไหม
คุณสามารถสอบถามผู้เชี่ยวชาญใน Excel Tech Community หรือรับการสนับสนุนใน ชุมชน