วิธีใช้สูตรอาร์เรย์ใน Google ชีต

เผยแพร่แล้ว: 2023-06-10

ในช่วงต้นปี 2023 Google ได้เปิดตัวฟังก์ชันใหม่หลายอย่างสำหรับชีต รวมถึงแปดฟังก์ชันสำหรับการทำงานกับอาร์เรย์ เมื่อใช้ฟังก์ชันเหล่านี้ คุณสามารถแปลงอาร์เรย์เป็นแถวหรือคอลัมน์ สร้างอาร์เรย์ใหม่จากแถวหรือคอลัมน์ หรือต่อท้ายอาร์เรย์ปัจจุบัน

ด้วยความยืดหยุ่นที่มากขึ้นในการทำงานกับอาร์เรย์และเหนือกว่าฟังก์ชัน ARRAYFORMULA พื้นฐาน มาดูวิธีใช้ฟังก์ชันอาร์เรย์เหล่านี้กับสูตรใน Google ชีต

สารบัญ

    เคล็ดลับ : ฟังก์ชันบางอย่างเหล่านี้อาจดูคุ้นเคยหากคุณใช้ Microsoft Excel ด้วย

    แปลงอาร์เรย์: TOROW และ TOCOL

    หากคุณมีอาร์เรย์ในชุดข้อมูลที่คุณต้องการแปลงเป็นแถวหรือคอลัมน์เดียว คุณสามารถใช้ฟังก์ชัน TOROW และ TOCOL ได้

    ไวยากรณ์สำหรับแต่ละฟังก์ชันจะเหมือนกัน TOROW(อาร์เรย์ เพิกเฉย สแกน) และ TOCOL(อาร์เรย์ เพิกเฉย สแกน) โดยที่อาร์กิวเมนต์แรกเท่านั้นที่จำเป็นสำหรับทั้งสอง

    • Array : อาร์เรย์ที่คุณต้องการแปลงรูปแบบเป็น “A1:D4”
    • ละเว้น : ตามค่าเริ่มต้น จะไม่มีพารามิเตอร์ใดถูกละเว้น (0) แต่คุณสามารถใช้ 1 เพื่อละเว้นช่องว่าง 2 เพื่อละเว้นข้อผิดพลาด หรือ 3 เพื่อละเว้นช่องว่างและข้อผิดพลาด
    • Scan : อาร์กิวเมนต์นี้กำหนดวิธีการอ่านค่าในอาร์เรย์ ตามค่าเริ่มต้น ฟังก์ชันจะสแกนตามแถวหรือใช้ค่า False แต่คุณสามารถใช้ True เพื่อสแกนตามคอลัมน์ได้หากต้องการ

    มาดูตัวอย่างการใช้ฟังก์ชัน TOROW และ TOCOL และสูตรของฟังก์ชันเหล่านี้กัน

    ในตัวอย่างแรกนี้ เราจะใช้อาร์เรย์ A1 ถึง C3 และเปลี่ยนเป็นแถวโดยใช้อาร์กิวเมนต์เริ่มต้นที่มีสูตรนี้:

    =TOROW(A1:C3)

    อย่างที่คุณเห็น ตอนนี้อาร์เรย์อยู่ในแถว เนื่องจากเราใช้อาร์กิวเมนต์ การสแกน เริ่มต้น ฟังก์ชันจึงอ่านจากซ้ายไปขวา (A, D, G) ลง จากนั้นอ่านจากซ้ายไปขวาอีกครั้ง (B, E, H) จนกระทั่งเสร็จสิ้น—สแกนทีละแถว

    หากต้องการอ่านอาร์เรย์ตามคอลัมน์แทนแถว เราสามารถใช้ True สำหรับอาร์กิวเมนต์ การสแกน ได้ เราจะปล่อยให้ การละเว้น อาร์กิวเมนต์ว่างไว้ นี่คือสูตร:

    =TOROW(A1:C3,,TRUE)

    ตอนนี้คุณเห็นฟังก์ชันอ่านอาร์เรย์จากบนลงล่าง (A, B, C) จากบนลงล่าง (D, E, F) และบนลงล่าง (G, H, I)

    ฟังก์ชัน TOCOL ทำงานในลักษณะเดียวกัน แต่แปลงอาร์เรย์เป็นคอลัมน์ ใช้ช่วงเดียวกัน A1 ถึง C3 ต่อไปนี้เป็นสูตรที่ใช้อาร์กิวเมนต์เริ่มต้น:

    =TOCOL(A1:C3)

    อีกครั้ง โดยใช้ค่าดีฟอลต์สำหรับอาร์กิวเมนต์ การสแกน ฟังก์ชันจะอ่านจากซ้ายไปขวาและให้ผลลัพธ์เช่นนั้น

    หากต้องการอ่านอาร์เรย์ตามคอลัมน์แทนแถว ให้ใส่ True สำหรับอาร์กิวเมนต์ การสแกน ดังนี้:

    =TOCOL(A1:C3,,จริง)

    ตอนนี้คุณเห็นฟังก์ชันอ่านอาร์เรย์จากบนลงล่างแทน

    สร้างอาร์เรย์ใหม่จากแถวหรือคอลัมน์: CHOOSEROWS และ CHOOSECOLS

    คุณอาจต้องการสร้างอาร์เรย์ใหม่จากอาร์เรย์ที่มีอยู่ วิธีนี้ช่วยให้คุณสร้างช่วงเซลล์ใหม่โดยมีค่าเฉพาะจากเซลล์อื่น สำหรับสิ่งนี้ คุณจะใช้ฟังก์ชัน CHOOSEROWS และ CHOOSECOLS ของ Google ชีต

    ไวยากรณ์สำหรับแต่ละฟังก์ชันจะคล้ายกันคือ CHOOSEROWS (อาร์เรย์, row_num, row_num_opt) และ CHOOSECOLS (อาร์เรย์, col_num, col_num_opt) โดยที่ทั้งสองอาร์กิวเมนต์จำเป็นต้องมีอาร์กิวเมนต์สองตัวแรก

    • Array : อาร์เรย์ที่มีอยู่ซึ่งจัดรูปแบบเป็น “A1:D4”
    • Row_num หรือ Col_num : จำนวนแถวหรือคอลัมน์แรกที่คุณต้องการส่งคืน
    • Row_num_opt หรือ Col_num_opt : ตัวเลขสำหรับแถวหรือคอลัมน์เพิ่มเติมที่คุณต้องการส่งคืน Google แนะนำให้คุณใช้จำนวนลบเพื่อส่งกลับแถวจากล่างขึ้นบนหรือคอลัมน์จากขวาไปซ้าย

    ลองดูตัวอย่างการใช้ CHOOSEROWS และ CHOOSECOLS และสูตรของพวกเขา

    ในตัวอย่างแรกนี้ เราจะใช้อาร์เรย์ A1 ถึง B6 เราต้องการคืนค่าในแถวที่ 1, 2 และ 6 นี่คือสูตร:

    =CHOOSEROWS(A1:B6,1,2,6)

    อย่างที่คุณเห็น เราได้รับสามแถวนั้นเพื่อสร้างอาร์เรย์ใหม่ของเรา

    อีกตัวอย่างหนึ่ง เราจะใช้อาร์เรย์เดียวกัน คราวนี้เราต้องการคืนแถว 1, 2 และ 6 แต่ให้ 2 และ 6 เรียงกลับกัน คุณสามารถใช้จำนวนบวกหรือลบเพื่อรับผลลัพธ์เดียวกัน

    การใช้จำนวนลบ คุณจะใช้สูตรนี้:

    =CHOOSEROWS(A1:B6,1,-1,-5)

    เพื่ออธิบาย 1 คือแถวแรกที่จะกลับ -1 คือแถวที่สองที่จะกลับซึ่งเป็นแถวแรกที่เริ่มต้นที่ด้านล่าง และ -5 คือแถวที่ห้าจากด้านล่าง

    เมื่อใช้จำนวนบวก คุณจะใช้สูตรนี้เพื่อให้ได้ผลลัพธ์เดียวกัน:

    =CHOOSEROWS(A1:B6,1,6,2)

    ฟังก์ชัน CHOOSECOLS ทำงานคล้ายกัน ยกเว้นว่าคุณจะใช้เมื่อต้องการสร้างอาร์เรย์ใหม่จากคอลัมน์แทนแถว

    เมื่อใช้อาร์เรย์ A1 ถึง D6 เราสามารถคืนค่าคอลัมน์ 1 (คอลัมน์ A) และ 4 (คอลัมน์ D) ด้วยสูตรนี้:

    =CHOOSECOLS(A1:D6,1,4)

    ตอนนี้เรามีอาร์เรย์ใหม่ที่มีเพียงสองคอลัมน์นั้น

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

    =CHOOSECOLS(A1:D6,4,2,1)

    =CHOOSECOLS(A1:D6,4,-3,-4)

    ดังที่คุณเห็นในภาพหน้าจอด้านบน ด้วยสูตรในเซลล์แทนที่จะเป็นแถบสูตร เราได้รับผลลัพธ์เดียวกันโดยใช้ทั้งสองตัวเลือก

    หมายเหตุ : เนื่องจาก Google แนะนำให้ใช้ตัวเลขที่เป็นลบเพื่อกลับตำแหน่งของผลลัพธ์ โปรดระลึกไว้เสมอว่าหากคุณไม่ได้รับผลลัพธ์ที่ถูกต้องโดยใช้ตัวเลขที่เป็นบวก

    ตัดเพื่อสร้างอาร์เรย์ใหม่: WRAPROWS และ WRAPCOLS

    หากคุณต้องการสร้างอาร์เรย์ใหม่จากอาร์เรย์ที่มีอยู่แต่รวมคอลัมน์หรือแถวด้วยค่าจำนวนหนึ่งในแต่ละค่า คุณสามารถใช้ฟังก์ชัน WRAPROWS และ WRAPCOLS

    ไวยากรณ์สำหรับแต่ละฟังก์ชันเหมือนกัน WRAPROWS (range, count, pad) และ WRAPCOLS (range, count, pad) โดยที่อาร์กิวเมนต์สองตัวแรกจำเป็นสำหรับทั้งสอง

    • ช่วง : ช่วงเซลล์ที่มีอยู่ที่คุณต้องการใช้สำหรับอาร์เรย์ ซึ่งจัดรูปแบบเป็น “A1:D4”
    • จำนวน : จำนวนเซลล์สำหรับแต่ละแถวหรือแต่ละคอลัมน์
    • Pad : คุณสามารถใช้อาร์กิวเมนต์นี้เพื่อวางข้อความหรือค่าเดียวในเซลล์ว่าง ซึ่งจะแทนที่ข้อผิดพลาด #N/A ที่คุณจะได้รับสำหรับเซลล์ว่าง รวมข้อความหรือค่าไว้ในเครื่องหมายคำพูด

    มาดูตัวอย่างการใช้ฟังก์ชัน WRAPROWS และ WRAPCOLS และสูตรของฟังก์ชันเหล่านี้กัน

    ในตัวอย่างแรกนี้ เราจะใช้ช่วงเซลล์ A1 ถึง E1 เราจะสร้างแถวการรวมอาร์เรย์ใหม่โดยมีค่าสามค่าในแต่ละแถว นี่คือสูตร:

    =WRAPROWS(A1:E1,3)

    อย่างที่คุณเห็น เรามีอาร์เรย์ใหม่พร้อมผลลัพธ์ที่ถูกต้อง มีค่าสามค่าในแต่ละแถว เนื่องจากเรามีเซลล์ว่างในอาร์เรย์ ข้อผิดพลาด #N/A จึงปรากฏขึ้น สำหรับตัวอย่างถัดไป เราจะใช้อาร์กิวเมนต์ pad เพื่อแทนที่ข้อผิดพลาดด้วยข้อความ “ไม่มี” นี่คือสูตร:

    =WRAPROWS(A1:E1,3,”ไม่มี”)

    ตอนนี้ เราสามารถเห็นคำแทนข้อผิดพลาดของ Google ชีต

    ฟังก์ชัน WRAPCOLS ทำสิ่งเดียวกันโดยสร้างอาร์เรย์ใหม่จากช่วงเซลล์ที่มีอยู่ แต่ทำได้โดยการล้อมคอลัมน์แทนแถว

    ในที่นี้ เราจะใช้อาร์เรย์เดียวกัน A1 ถึง E3 ล้อมคอลัมน์ด้วยค่าสามค่าในแต่ละคอลัมน์:

    =WRAPCOLS(A1:E1,3)

    เช่นเดียวกับตัวอย่าง WRAPROWS เราได้รับผลลัพธ์ที่ถูกต้องแต่ยังมีข้อผิดพลาดเนื่องจากเซลล์ว่าง ด้วยสูตรนี้ คุณสามารถใช้อาร์กิวเมนต์ แพด เพื่อเพิ่มคำว่า "ว่าง":

    =WRAPCOLS(A1:E1,3,”ว่าง”)

    อาร์เรย์ใหม่นี้ดูดีขึ้นมากด้วยคำแทนข้อผิดพลาด

    รวมเพื่อสร้างอาร์เรย์ใหม่: HSTACK และ VSTACK

    สองฟังก์ชันสุดท้ายที่เราจะพิจารณามีไว้สำหรับต่อท้ายอาร์เรย์ ด้วย HSTACK และ VSTACK คุณสามารถเพิ่มช่วงเซลล์ตั้งแต่สองช่วงขึ้นไปเข้าด้วยกันเพื่อสร้างเป็นอาร์เรย์เดียว ในแนวนอนหรือแนวตั้ง

    ไวยากรณ์สำหรับแต่ละฟังก์ชันจะเหมือนกัน HSTACK (range1, range2,…) และ VSTACK (range1, range2,…) โดยที่ต้องมีอาร์กิวเมนต์แรกเท่านั้น อย่างไรก็ตาม คุณมักจะใช้อาร์กิวเมนต์ที่สอง ซึ่งรวมช่วงอื่นเข้ากับช่วงแรก

    • ช่วง 1 : ช่วงเซลล์แรกที่คุณต้องการใช้สำหรับอาร์เรย์ ซึ่งจัดรูปแบบเป็น “A1:D4”
    • Range2,… : ช่วงเซลล์ที่สองที่คุณต้องการเพิ่มในช่วงเซลล์แรกเพื่อสร้างอาร์เรย์ คุณสามารถรวมช่วงเซลล์ได้มากกว่าสองช่วง

    ลองดูตัวอย่างการใช้ HSTACK และ VSTACK และสูตรของมัน

    ในตัวอย่างแรกนี้ เราจะรวมช่วง A1 ถึง D2 กับ A3 ถึง D4 โดยใช้สูตรนี้:

    =HSTACK(A1:D2,A3:D4)

    คุณสามารถดูช่วงข้อมูลของเรารวมกันเพื่อสร้างอาร์เรย์แนวนอนเดียว

    ตัวอย่างเช่น ฟังก์ชัน VSTACK เรารวมสามช่วงเข้าด้วยกัน โดยใช้สูตรต่อไปนี้ เราจะใช้ช่วง A2 ถึง C4, A6 ถึง C8 และ A10 ถึง C12:

    =VSTACK(A2:C4,A6:C8,A10:C12)

    ตอนนี้ เรามีหนึ่งอาร์เรย์ที่มีข้อมูลทั้งหมดของเราโดยใช้สูตรในเซลล์เดียว

    จัดการอาร์เรย์ได้อย่างง่ายดาย

    แม้ว่าคุณจะใช้ ARRAYFORMULA ในบางสถานการณ์ เช่น กับฟังก์ชัน SUM หรือฟังก์ชัน IF สูตรอาร์เรย์เพิ่มเติมของ Google ชีตเหล่านี้สามารถช่วยคุณประหยัดเวลาได้ พวกเขาช่วยให้คุณจัดเรียงแผ่นงานของคุณตรงตามที่คุณต้องการและด้วยสูตรอาร์เรย์เดียว

    สำหรับบทช่วยสอนเพิ่มเติมเช่นนี้แต่มีฟังก์ชันที่ไม่ใช่อาร์เรย์ โปรดดูวิธีใช้ฟังก์ชัน COUNTIF หรือ SUMIF ใน Google ชีต