ทำสูตรใน B2 แล้วต้อง drag ลงไปอีก 999 แถว — ถ้าเพิ่มข้อมูลใหม่แถว 1001 สูตรไม่ครอบคลุม ต้อง drag ใหม่ทุกครั้ง
ARRAYFORMULA ใส่สูตรครั้งเดียวใน B2 ทำงานกับทุกแถวอัตโนมัติ รวมถึงแถวที่เพิ่มใหม่ในอนาคต
ใช้ Excel อยู่? ไม่ต้องเรียนใหม่
Excel ใช้ Ctrl+Shift+Enter สำหรับ Array formula / Google Sheets ใช้ ARRAYFORMULA() function — ผลลัพธ์คล้ายกัน แต่ syntax ต่างกัน
ขั้นตอนทำทีละสเต็ป
เข้าใจ ARRAYFORMULA
แทนที่จะ =A2*B2 แล้ว drag — ใช้ =ARRAYFORMULA(A2:A*B2:B) ใน C2 ครั้งเดียว
ใช้กับ IF
=ARRAYFORMULA(IF(A2:A="","",A2:A*B2:B)) — ข้ามเซลล์ว่างเพื่อไม่แสดง 0 ในแถวว่าง
ใช้กับ TRIM LOWER
=ARRAYFORMULA(TRIM(LOWER(C2:C))) ทำความสะอาดทั้งคอลัมน์ใน 1 สูตร

สูตรปกติต้อง copy ลงทุกแถว
เทคนิคที่ใช้บ่อย
- ใส่ ARRAYFORMULA ใน row แรกของข้อมูล ไม่ใช่ header
- บาง function รองรับ array โดยตรง: SUMIF COUNTIF VLOOKUP ไม่ต้องใช้ ARRAYFORMULA
- Ctrl+Shift+Enter ใน Google Sheets ก็ใส่ ARRAYFORMULA ให้อัตโนมัติ

ARRAYFORMULA ใน 1 เซลล์ ทำงานทั้งคอลัมน์
Error ที่เจอบ่อยและวิธีแก้
ARRAYFORMULA ขัดกับ dropdown
ถ้าแถวที่ ARRAYFORMULA ครอบคลุมมี Data Validation dropdown จะขัดกัน — แยก column
#VALUE! หรือขยายเกิน
Range ไม่ตรงขนาดกัน — A2:A กับ B2:B ต้องเป็น open range ด้วยกัน

ARRAYFORMULA กับ IF TRIM ทำงานทั้ง column
คำถามที่ถามบ่อย (FAQ)
ARRAYFORMULA กับ LAMBDA ต่างกันไหม?
LAMBDA สร้าง custom function, ARRAYFORMULA ขยาย function ปกติให้ทำงานกับ array
ทำไม ARRAYFORMULA ไม่ขยายเกินข้อมูลที่มี?
ใช้ IF ห่อ: ARRAYFORMULA(IF(A2:A<>"", สูตร, "")) — จะหยุดที่แถวว่าง
ARRAYFORMULA ใช้กับ VLOOKUP ได้ไหม?
ได้ =ARRAYFORMULA(IFERROR(VLOOKUP(A2:A, ข้อมูล!A:B, 2, 0),"")) lookup ทั้งคอลัมน์
