تابع ROWS در اکسل
تابع ROWS یکی از توابع ساده ولی بسیار کاربردی در اکسل است که برای شمارش تعداد سطرهای یک ارجاع (مرجع) یا آرایه به کار میرود. این تابع به ویژه در فرمولهای پویا، ترکیب با توابع آرایهای و ساخت نامهای محدوده پویا کاربرد فراوان دارد.
ساختار و سینتکس
سینتکس تابع ROWS بسیار ساده است:
=ROWS(array_or_reference)پارامتر array_or_reference میتواند یک محدوده (مثلاً A1:A10)، یک ارایه ثابت ({1,2;3,4}) یا نتیجهی تابع دیگری مثل FILTER یا UNIQUE باشد.
مثالهای پایه
- شمارش سطر در یک محدوده یک ستونی:
=ROWS(A1:A10)مقدار 10 برمیگرداند. - شمارش سطر در یک محدوده چند ستونی:
=ROWS(A1:C10)باز هم 10 برمیگرداند زیرا فقط تعداد سطرها مهم است. - آرایه ثابت:
=ROWS({1,2;3,4;5,6})مقدار 3 برمیگرداند چون آرایه سه سطری است.
| فرمول | خروجی | توضیح |
|---|---|---|
=ROWS(A1:A10) | 10 | تعداد سطرهای محدوده A1:A10 |
=ROWS(A1:C10) | 10 | چون محدوده 10 سطر دارد |
=ROWS({1,2;3,4}) | 2 | آرایه دو سطری |
کاربردهای واقعی و نکات حرفهای
در ادامه چند کاربرد عملی و پیشرفته از تابع ROWS را بررسی میکنیم:
- ایجاد شمارهگذاری پویا (Helper Column)
بسیاری از کاربران در ستون کمکی برای شمارهگذاری سطرها از ROWS استفاده میکنند. در سلول B2 فرمول زیر را وارد کنید و به پایین کپی کنید:=ROWS($B$2:B2)این فرمول برای هر سطر شمارهی ترتیبی تولید میکند چون با کپی کردن محدوده بزرگتر میشود و ROWS تعداد سطرهای مرجع فعلی را میشمارد.
- دریافت آخرین مقدار یک ستون
اگر محدودهتان ثابت باشد، میتوانید با استفاده از ROWS آخرین مقدار را بگیرید:=INDEX(A1:A10, ROWS(A1:A10))این فرمول مقدار سلول آخر (A10) را برمیگرداند. اگر محدوده پویا باشد یا سطرهای خالی وجود داشته باشند از توابع COUNTA یا ترکیبهای دیگر استفاده کنید.
- تعداد نتایج تابع FILTER یا UNIQUE
با ورود توابع آرایهای جدید در Excel 365/2021، ROWS برای شمارش نتایج مفید است:=ROWS(FILTER(A2:A100, B2:B100="Yes"))این فرمول تعداد سطرهایی را برمیگرداند که شرط B=”Yes” را دارند. مشابه آن:
=ROWS(UNIQUE(A2:A100))برای شمارش مقادیر یکتا در یک ستون. مزیت: سریع و خوانا، مخصوصاً در فایلهای دارای دادههای پویا.
- ایجاد آرایه شمارهها با SEQUENCE
در اکسلهای با Dynamic Array میتوانید از ROWS همراه با SEQUENCE استفاده کنید:=SEQUENCE(ROWS(A1:A10))این فرمول یک آرایه با تعداد عناصر برابر تعداد سطرهای محدوده میسازد (1 تا 10 در مثال).
- تعریف محدودههای پویا بدون OFFSET
بهجای استفاده از OFFSET (که volatile است و روی کارایی اثر میگذارد)، میتوانید INDEX/ROWS ترکیب کنید. برای مثال نامگذاری یک محدوده از سلول A1 تا آخرین سطر پر شده:=A1:INDEX(A:A, COUNTA(A:A))توجه: اینجا ROWS به صورت مستقیم لازم نیست اما در سناریوهای دیگر میتوان از ROWS برای تعیین طول محدوده استفاده کرد.
موارد قابل توجه و تلهها
- ROWS تعداد سطرهای ارجاع را برمیشمارد، حتی اگر سلولها خالی باشند. اگر بخواهید تعداد سلولهای غیرخالی را بدانید از COUNTA استفاده کنید.
- استفاده از ارجاعات به ستون کامل (مثل A:A) در فایلهای بزرگ ممکن است سرعت را کاهش دهد؛ در صورت امکان محدوده را محدود کنید.
- در آرایههای چندبعدی یا جدولهای ساختیافته، ROWS رفتار منطقی دارد: فقط سطرها را میشمارد. برای شمارش ستونها از COLUMNS استفاده کنید.
- اگر آرگومان تابع یک فرمول است که ارایه برمیگرداند (مثلاً FILTER)، ROWS تعداد سطرهای خروجی را بازمیگرداند که برای شمارش نتایج فیلتر یا بررسی خالی بودن خروجی مفید است.
مثالهای کاربردی پیشرفته
فرمول گرفتن nامین مقدار از پایین (مثلاً سومین مقدار از پایین) در یک محدوده:
=INDEX(A2:A100, ROWS(A2:A100)-3+1)این فرمول سطر متناظر با سومین مقدار از پایین را برمیگرداند. اگر تعداد سطرها کمتر از n باشد باید از IFERROR یا چکهای اضافی استفاده کنید.
ترکیب ROWS برای تولید آرایه شرطی مقداردهی شده (مثال برای علامتگذاری سطرهای دارای مقدار در ستون A):
=IF(A2:A100"", ROWS($A$2:A2), "")در نسخههای جدید اکسل این فرمول به صورت آرایه اسپیل میشود و میتواند برای ایجاد ستون شمارهگذاری شرطی مفید باشد. در نسخههای قدیمی باید فرمول را پایین درگ کنید.
نتیجهگیری
تابع ROWS تابعی ساده اما پایهای است که در ترکیب با توابع دیگر تبدیل به ابزاری قدرتمند برای ساخت فرمولهای پویا، تعریف محدودههای انعطافپذیر و پردازش نتایج آرایهای میشود. شناخت دقیق رفتار ROWS و تفاوت آن با توابعی مثل COUNTA یا COLUMNS کمک میکند فرمولهای بهینه و قابل اطمینان بسازید.
آیا این مطلب برای شما مفید بود ؟




