ROW ส่งคืนหมายเลขแถว (Row Number) ของเซลล์หรือช่วงที่ระบุ ส่งคืนตัวเลขแถว 1, 2, 3… มีประโยชน์ในการกำหนดหมายเลขลำดับแบบไดนามิก และสร้างสูตรที่ปรับตัวตามตำแหน่ง
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| [reference]ไม่บังคับ | Reference | current_row | เซลล์ที่ต้องการทราบเลขแถว (ว่าง = เซลล์ปัจจุบัน) |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
ฟังก์ชัน ROW คืนหมายเลขแถวของเซลล์หรือช่วงที่ระบุ เป็นตัวเลข 1, 2, 3… นับจากแถวบนสุดของชีต ถ้าไม่ใส่ reference จะคืนเลขแถวของเซลล์ที่วางสูตรอยู่เอง
ใช้บ่อยตอนต้องการเลขลำดับที่ปรับตัวเองเมื่อเพิ่ม/ลบแถว เช่น สร้างเลขลำดับอัตโนมัติในตารางรายชื่อ, ทำ Alternate Row Shading ด้วย MOD(ROW(),2) ให้ตารางอ่านง่าย, ส่งเลขแถวเข้า INDEX/LARGE/OFFSET เพื่อดึงข้อมูลทีละแถว, หรือสร้างลำดับ 1 ถึง N แบบ spill array ในเวอร์ชัน Microsoft 365
ข้อควรระวัง: ROW ไม่ volatile เหมือน TODAY() หรือ RAND() มันจะคำนวณใหม่แค่ตอนแถวขยับจริงๆ เท่านั้น เลยไม่ทำให้ไฟล์หน่วงครับ แต่ถ้าใช้ ROW ทำเลขลำดับแล้ว sort ข้อมูล เลขจะขยับตามตำแหน่งใหม่ ถ้าต้องการล็อกเลขเดิมไว้ ต้อง Paste เป็นค่าก่อน sort
สมมติว่า SpecificCell เป็น Named Range ที่อ้างถึงเซลล์ A5
สูตรจะคืนค่า 5 ซึ่งเป็นหมายเลขแถวของ SpecificCell เพราะนับจากแถว 1 ที่หัวชีตขึ้นไป
หากไม่ระบุ Reference สูตรจะคืนค่าหมายเลขแถวของเซลล์ที่ใส่สูตรนี้ ใช้บ่อยตอนต้องการให้สูตรรู้ตำแหน่งตัวเองโดยไม่ต้องพิมพ์อ้างอิงตายตัว
สมมติว่า MyRange เป็น Named Range ที่อ้างถึงช่วง A1:A3
ใน Excel 365 สูตรจะคืนค่าหมายเลขแถวเป็น Array {1;2;3} spill ออกมาทันที แต่ถ้าเป็น Excel รุ่นเก่าก่อน 365 จะได้แค่เลขแถวแรก (1) กลับมาเท่านั้น
MOD(ROW(),2) หารเลขแถวปัจจุบันด้วย 2 แล้วเอาเศษ ถ้าเป็นแถวคู่เศษจะเป็น 0 ทำให้เงื่อนไข =0 เป็น TRUE
ใช้เป็นสูตรใน Conditional Formatting เพื่อลงสีสลับแถวคู่-คี่ ให้ตารางยาวๆ อ่านง่ายขึ้นโดยไม่ต้องไล่ทาสีทีละแถวเอง
ลบ 1 เพื่อหักลบแถวหัวตาราง ทำให้เลขลำดับเริ่มจาก 1 พอดีเมื่อข้อมูลแถวแรกอยู่ที่แถว 2
เทคนิคนี้ใช้สร้างคอลัมน์ลำดับ (No.) ที่ปรับเลขให้เองอัตโนมัติเมื่อลากสูตรลงมา
ROW ส่งคืนหมายเลขแถวเป็นตัวเลข (1-1048576 สำหรับ Excel modern)
ROW() ส่งคืนแถวปัจจุบัน ROW(A1) ส่งคืนแถวของเซลล์ A1 (เสมอ 1)
ได้ แต่ถ้า range มีหลายแถว จะส่งคืนหมายเลขแถวแรก
ได้ครับ เช่น =ROW()-header_row จะให้หมายเลขลำดับอัตโนมัติ
ใช้ได้ร่วมกัน เช่น =CONCATENATE(ROW(),"_",COLUMN()) สำหรับรหัสเซลล์
ใช้ INDIRECT("ROW") ล่าช้า หรือใช้ INDEX เพื่อให้สูตรอ้างอิง relative position
ฟังก์ชันที่ผู้เขียนโยงไว้กับ ROW จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
ADDRESS สร้างข้อความที่เป็นตำแหน่งเซลล์จากหมายเลขแถวและคอลัมน์ รองรับ Absolute Mixed Relative และสไตล์ R1C1 มักใช้คู่กับ INDIRECT เพื่อสร้าง Dynamic Reference
COLUMN ส่งคืนหมายเลขคอลัมน์ (Column Number) ของเซลล์หรือช่วงที่ระบุ ส่งคืนตัวเลขคอลัมน์ 1, 2, 3… (A=1, B=2 เป็นต้น) มีประโยชน์ในการระบุตำแหน่งคอลัมน์แบบไดนามิก
นับจำนวนคอลัมน์ทั้งหมดในช่วงข้อมูลหรืออาร์เรย์ที่ระบุ ใช้บ่อยคู่กับ OFFSET หรือ VLOOKUP เพื่อทำสูตรแบบ dynamic ที่ปรับตามขนาดตารางเอง
INDIRECT แปลงข้อความเป็นการอ้างอิงเซลล์จริง ช่วยให้สามารถเปลี่ยนตำแหน่งเซลล์ได้ไดนามิกโดยใช้ตัวเลขหรือชื่อเซลล์
ส่งกลับจำนวนแถวในอาร์เรย์หรือการอ้างอิง ใช้สร้างสูตรแบบ dynamic ที่ขยายขนาดตามข้อมูลจริง ไม่ต้องมานับแถวเองทุกครั้งที่ข้อมูลเปลี่ยน
GROWTH พยากรณ์การเติบโตแบบ Exponential จากข้อมูลในอดีต โดยใช้สูตร y = b*m^x แทนการเรียงแบบเส้นตรง
ตรวจสอบว่าค่าที่ระบุเป็นเลขคี่หรือไม่ ส่งกลับ TRUE ถ้าเป็นคี่ FALSE ถ้าเป็นคู่
SEQUENCE สร้างอาร์เรย์ของตัวเลขเรียงลำดับตามเงื่อนไขที่กำหนด สามารถสร้างได้ทั้งแนวตั้ง แนวนอน หรือเป็นตาราง 2 มิติ เป็นฟังก์ชัน Dynamic Array ที่ผลลัพธ์จะ Spill ไปยังเซลล์ข้างเคียงโดยอัตโนมัติ เหมาะสำหรับสร้าง Running Number, ตารางสูตรคูณ, หรือวันที่เรียงต่อเนื่อง
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่