UNION.RANGES
ฟังก์ชั่น UNION.RANGES จะส่งค่ากลับมาเป็นอาร์เรย์ที่แทนถึงคอลเลกชั่นที่แทนถึงจำนวนทั้งหมดของคอลเลกชั่นที่ระบุไว้
UNION.RANGES(โหมดกะทัดรัด, ช่วง, ช่วง…)
โหมดกะทัดรัด: ค่าโมดอลที่กำหนดลำดับของผลลัพธ์และรูปร่างของอาร์เรย์ที่จะส่งกลับมา
ชิดซ้าย (FALSE หรือ 0): ลบช่องว่าง (เซลล์ที่ไม่รวมอยู่ในช่วง) จากซ้ายไปขวา โดยเริ่มจากแถวแรกที่ประกอบด้วยเซลล์ที่รวมอยู่ในช่วงที่ระบุ นี่เป็นค่าเริ่มต้นของลำดับ
ชิดบน (TRUE หรือ 1): ลบช่องว่าง (เซลล์ที่ไม่รวมอยู่ในช่วง) จากบนลงล่าง โดยเริ่มจากคอลัมน์แรกที่ประกอบด้วยเซลล์ที่รวมอยู่ในช่วงที่ระบุ
ช่วง: คอลเลกชั่นของเซลล์ ช่วงคือคอลเลกชั่นที่ประกอบด้วยช่วงเดี่ยวของเซลล์ ซึ่งอาจประกอบด้วยค่าใดๆ ก็ได้
ช่วง...: อาจเลือกที่จะรวมคอลเลกชั่นตั้งแต่หนึ่งชุดขึ้นไปเพิ่มเติมก็ได้
หมายเหตุ
คอลเลกชั่นสามารถมีขนาดใดๆ และจำเป็นต้องใช้เพียงคอลเลกชั่นเดียวเท่านั้น ถ้าระบุคอลเลกชั่นไว้เพียงคอลเลกชั่นเดียวเท่านั้น อาร์เรย์ที่ถูกส่งกลับมาจะเหมือนกับคอลเลกชั่นที่ระบุ
UNION.RANGES จะพยายามสร้างกรอบสี่เหลี่ยมของคอลเลกชั่นจากคอลเลกชั่นที่ป้อนเข้าโดยลบช่องว่างระหว่างองค์ประกอบของอาร์เรย์ ถ้าอาร์เรย์ผลลัพธ์คือสี่เหลี่ยมแล้ว จะถูกส่งกลับมา ถ้าอาร์เรย์ผลลัพธ์ไม่ใช่สี่เหลี่ยม แถวจะถูกย้ายไปยังท้ายของแถวแรกที่หนึ่งหลังจากที่อื่นๆ ดังนั้นอาร์เรย์ที่จะถูกส่งกลับมาจะประกอบด้วยแถวเดียวที่แทนด้วยรายการของสมาชิกอาร์เรย์ทั้งหมด
ถ้าช่วงใดๆ ที่ระบุไว้ไม่ถูกต้อง ฟังก์ชั่นจะส่งข้อผิดพลาดของการอ้างอิงกลับมา
ฟังก์ชั่นนี้จะแทนที่การใช้ช่องว่างด้วยตัวดำเนินการจุดตัดในตารางขยายที่อ้างอิงในบางแอพสเปรดชีต รวมถึง Numbers '08 สำหรับ Mac และ Number '09 สำหรับ Mac
ตัวอย่างเช่น |
---|
กำหนดให้ตารางเป็นดังนี้: |
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
1 | 7 | 8 | ||||
2 | 19 | 20 | ||||
3 | ||||||
4 | ||||||
5 | 30 | 31 |
ในตัวอย่าง ค่าจากเซลล์ที่อยู่ในคอลเลกชั่นที่กำหนดนั้นประกอบด้วยสมาชิกของอาร์เรย์ที่อยู่ในเครื่องหมายวงเล็บ =UNION.RANGES(FALSE, A1, B2) จะส่งอาร์เรย์กลับมาเป็น 2 แถว 1 คอลัมน์ ค่านี้สามารถถูกคัดลอกหรือตัดทอนจากอาร์เรย์โดยใช้ฟังก์ชั่น INDEX ได้ =INDEX(UNION.RANGES(FALSE, A1, B2), 1, 1, 1) จะส่งค่ากลับมาเป็น 7 (A1) ซึ่งเป็นค่าในแถวแรกของอาร์เรย์ =INDEX(UNION.RANGES(FALSE, A1, B2), 2, 1, 1) จะส่งค่ากลับมาเป็น 20 (B2) ซึ่งเป็นค่าในแถวที่สองของอาร์เรย์ =UNION.RANGES(TRUE, A1, B2) จะส่งอาร์เรย์กลับมาเป็น 1 แถว 2 คอลัมน์ ค่าในคอลัมน์แรกของอาร์เรย์ คือ 7 (A1) ค่าในคอลัมน์ที่สองของอาร์เรย์ คือ 20 (B2) =VLOOKUP(7, UNION.RANGES(FALSE, A1, B2), 2, 0) จะส่งช่วงที่ผิดพลาดกลับมา เช่นเดียวกันกับตัวอย่างแรก ซึ่งอาร์เรย์ที่จะส่งกลับนั้นจะต้องมีคอลัมน์เดียวเท่านั้น =VLOOKUP(7, UNION.RANGES(TRUE, A1, B2), 2, 0) จะส่งค่ากลับมาเป็น 20 เช่นเดียวกันกับตัวอย่างสอง ซึ่งอาร์เรย์ที่จะส่งกลับนั้นเป็น 1 แถว 2 คอลัมน์ ค่าในคอลัมน์ที่สองที่สัมพันธ์กับค่าค้นหาของ 7 คือ 20 =UNION.RANGES(FALSE, A1:B1, E5) หรือ =UNION.RANGES(TRUE, A1:B1, E5) จะส่งอาร์เรย์กลับมาเป็น 1 แถว 3 คอลัมน์ ค่าในอาร์เรย์แถวที่หนึ่งเป็น 7 (A1), 8 (B1) และ 30 (E5) =UNION.RANGES(FALSE, A1:B2, D4:F5) จะส่งอาร์เรย์กลับมาเป็น 1 แถว 10 คอลัมน์ ค่าเป็น 7 (A1), 8 (B1), 19 (A2), 20 (B2), 0 (D4), 0 (E4), 0 (F4), 0 (D5), 30 (E5) และ 31 (F5) =UNION.RANGES(TRUE, A1:B2, D4:F5) จะส่งอาร์เรย์กลับมาเป็น 2 แถว 5 คอลัมน์ ค่าในแถวแรกเป็น 7 (A1), 8 (B2), 0 (D4), 0 (E4) และ 0 (F4) ค่าในแถวที่สองเป็น 19 (A2), 20 (B2), 0 (D5), 30 (E5) และ 31 (F5) |