0Pricing
Excel Formulas Academy · บทเรียน

ใช้สูตรกับคอลัมน์ด้วย ARRAYFORMULA

คำนวณทั้งคอลัมน์ด้วยสูตรเดียว

ใช้สูตรกับคอลัมน์ด้วย ARRAYFORMULA เป็นบทเรียน Excel Formulas Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Excel Formulas Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Excel Formulas Academy มีบทเรียนทั้งหมด 4 บทเรียน

ปัญหาของการลากสูตร

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

Google ชีตมีวิธีที่ดีกว่านั้นคือ ARRAYFORMULA สูตรเดียวในเซลล์เดียวสามารถคำนวณทั้งคอลัมน์ได้พร้อมกัน และขยายตามข้อมูลโดยอัตโนมัติ

ARRAYFORMULA ทำอะไร

ARRAYFORMULA สั่งให้ชีตใช้สูตรกับช่วงทั้งหมดแทนเซลล์เดียว ผลลัพธ์จะกระจายลงมาเพื่อเติมจำนวนแถวให้เท่ากับช่วงข้อมูลนำเข้า

ดังนั้น แทนที่จะเขียน =A2*B2 ซ้ำ 100 ครั้ง คุณสามารถเขียนสูตรเดียวที่อ้างอิง A2:A และ B2:B แล้วผลลัพธ์จะเติมลงมาเอง

ตัวอย่างแรก

สมมติว่าคอลัมน์ A มีจำนวนสินค้า และคอลัมน์ B มีราคา หากต้องการคำนวณยอดรวมของแต่ละแถว ให้ใส่สูตรเดียวนี้ใน C2

สูตรจะคูณค่าแต่ละค่าใน A กับค่าที่ตรงกันใน B ลงไปจนสุด และคุณไม่ต้องแตะต้อง C3 เป็นต้นไป

=ARRAYFORMULA(A2:A * B2:B)

ช่วงที่ไม่กำหนดจุดสิ้นสุด

สังเกตว่าใช้ A2:A แทน A2:A100 รูปแบบที่ไม่กำหนดจุดสิ้นสุดหมายถึงทุกแถวตั้งแต่แถวที่ 2 ลงไป ดังนั้นข้อมูลที่เพิ่มใหม่จะถูกรวมโดยอัตโนมัติ

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

=ARRAYFORMULA(A2:A + B2:B)

ปัญหาแถวว่าง

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

ให้ครอบการคำนวณด้วย IF ที่ตรวจสอบว่าแถวนั้นว่างหรือไม่ หาก A ว่าง ให้ส่งกลับสตริงว่าง มิฉะนั้นให้คำนวณตามปกติ

=ARRAYFORMULA(IF(A2:A = "", "", A2:A * B2:B))

การเพิ่มส่วนหัวในสูตรเดียวกัน

เคล็ดลับที่มีประโยชน์คือใส่ส่วนหัวของคอลัมน์ไว้ภายในสูตรอาร์เรย์ เพื่อให้ทั้งคอลัมน์ขับเคลื่อนด้วยเซลล์เดียว ให้ใส่สูตรนี้ใน C1

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

=ARRAYFORMULA({"Total"; IF(A2:A = "", "", A2:A * B2:B)})

การต่อข้อความข้ามแถว

ARRAYFORMULA ไม่ได้ใช้เฉพาะกับการคำนวณเท่านั้น แต่ยังทำงานร่วมกับฟังก์ชันข้อความได้ด้วย หากต้องการสร้างคอลัมน์ชื่อเต็มจากชื่อและนามสกุล ให้เชื่อมช่วงทั้งสองเข้าด้วยกัน

สูตรนี้จะเชื่อมชื่อใน A แต่ละรายการกับนามสกุลใน B ที่ตรงกัน โดยเว้นวรรคระหว่างกลาง และทำให้ทุกแถวเสร็จพร้อมกัน

=ARRAYFORMULA(A2:A & " " & B2:B)

ฟังก์ชันที่กระจายผลลัพธ์ได้อยู่แล้ว

ฟังก์ชันบางอย่างจัดการอาร์เรย์ได้ด้วยตัวเอง จึงไม่จำเป็นต้องใช้ ARRAYFORMULA SUMIF, FILTER, UNIQUE และ QUERY ทำงานกับช่วงข้อมูลได้อยู่แล้ว

โดยหลักแล้วคุณจะใช้ ARRAYFORMULA เมื่อการทำงานที่ปกติใช้กับเซลล์เดียว เช่น *, & หรือ LEFT ต้องนำไปใช้กับทุกแถว

การครอบฟังก์ชันข้อความ

โดยปกติฟังก์ชันอย่าง LEFT, UPPER และ TRIM จะทำงานกับเซลล์เดียว เมื่ออยู่ภายใน ARRAYFORMULA ฟังก์ชันเหล่านี้จะทำงานกับทั้งช่วง

สูตรนี้จะเปลี่ยนอีเมลทุกค่าในคอลัมน์ A ให้เป็นตัวพิมพ์ใหญ่ได้ในครั้งเดียว หากไม่มีสูตรครอบ คุณจะเปลี่ยนรูปแบบได้เฉพาะเซลล์แรกเท่านั้น

=ARRAYFORMULA(UPPER(A2:A))

แป้นพิมพ์ลัด

คุณไม่จำเป็นต้องพิมพ์ชื่อฟังก์ชันนี้เสมอไป ใน Google ชีต ให้พิมพ์สูตรพร้อมการอ้างอิงช่วง จากนั้นกด Ctrl บวก Shift บวก Enter (บน Mac ให้กด Cmd บวก Shift บวก Enter)

ชีตจะครอบสูตรด้วย ARRAYFORMULA ให้คุณโดยอัตโนมัติ วิธีนี้เป็นวิธีที่รวดเร็วในการเปลี่ยนสูตรที่เคยลากลงมาให้กลายเป็นสูตรเดียวที่กระจายผลลัพธ์

ข้อผิดพลาดที่พบบ่อย: ช่วงมีขนาดไม่ตรงกัน

สำหรับการทำงานแบบจับคู่ทีละรายการ ช่วงข้อมูลควรมีความสูงเท่ากัน การผสม A2:A กับ B2:B50 อาจทำให้เกิดข้อผิดพลาดหรือผลลัพธ์ไม่ตรงแถวกัน

ให้ใช้ช่วงที่ไม่กำหนดจุดสิ้นสุดทั้งสองฝั่ง (A2:A และ B2:B) หรือกำหนดจุดสิ้นสุดให้มีขนาดเท่ากัน ความสม่ำเสมอจะช่วยให้ผลลัพธ์ตรงกันทีละแถว

=ARRAYFORMULA(IF(A2:A = "", "", A2:A * B2:B))

แบบทดสอบสั้นๆ

ทดสอบความเข้าใจ ARRAYFORMULA ของคุณ

สรุป

คุณได้เรียนรู้การคำนวณทั้งคอลัมน์ด้วยสูตรเดียว:

  • ARRAYFORMULA ดำเนินการกับช่วงข้อมูลทั้งหมด
  • ช่วงข้อมูลแบบไม่กำหนดจุดสิ้นสุด เช่น A2:A จะรวมแถวใหม่โดยอัตโนมัติ
  • ครอบด้วย IF(A2:A = "", "", ...) เพื่อข้ามเซลล์ว่าง
  • ใช้ได้กับการคำนวณทางคณิตศาสตร์ การต่อข้อความ และฟังก์ชันอย่าง UPPER
  • กด Ctrl/Cmd ร่วมกับ Shift และ Enter เพื่อเพิ่มส่วนครอบให้โดยอัตโนมัติ

เซลล์เดียว คอลัมน์ที่อัปเดตอยู่เสมอ

=ARRAYFORMULA({"Total"; IF(A2:A = "", "", A2:A * B2:B)})

คำถามที่พบบ่อย

บทเรียน “ใช้สูตรกับคอลัมน์ด้วย ARRAYFORMULA” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ใช้สูตรกับคอลัมน์ด้วย ARRAYFORMULA” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Excel Formulas Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Excel Formulas Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ใช้สูตรกับคอลัมน์ด้วย ARRAYFORMULA”

คำนวณทั้งคอลัมน์ด้วยสูตรเดียว คุณปฏิบัติ Excel Formulas Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Excel Formulas Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Excel Formulas Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “ใช้สูตรกับคอลัมน์ด้วย ARRAYFORMULA” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Excel Formulas Academy นี้ได้ไหม

ได้ บทเรียน Excel Formulas Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. สืบค้นข้อมูลด้วย QUERY
  2. จัดเรียงและจัดกลุ่มใน QUERY
  3. ใช้สูตรกับคอลัมน์ด้วย ARRAYFORMULA
  4. ดึงข้อมูลด้วย IMPORTRANGE
← กลับไปที่ Excel Formulas Academy