تابع DROP در اکسل
تابع DROP در اکسل (نسخههای جدید Office 365 / Excel for the web) ابزاری ساده و قدرتمند برای حذف تعداد مشخصی از سطرها یا ستونها از ابتدای آرایه/محدوده است. این تابع در الگوهای دادهای پویا (Dynamic Arrays) بسیار مفید است و همراه با توابعی مثل TAKE، FILTER و INDEX میتواند پردازش سریع دادهها را ممکن سازد.
سینتکس و پارامترها
سینتکس کلی:
=DROP(array, rows, [columns])توضیحات پارامترها:
- array: آرایه یا محدودهای که میخواهید از آن بخشی را حذف کنید.
- rows: عدد صحیح که نشاندهنده تعداد سطرهایی است که باید حذف شوند. مقدار مثبت از بالا حذف میکند، مقدار منفی از پایین حذف میکند.
- columns (اختیاری): عدد صحیح که نشاندهنده تعداد ستونهایی است که باید حذف شوند. مقدار مثبت از چپ حذف میکند، مقدار منفی از راست حذف میکند.
قوانین کلی رفتار
- اگر rows برابر صفر باشد، سطرها حذف نمیشوند.
- مقادیر مثبت و منفی رفتار متفاوتی دارند: مثبت → حذف از ابتدای (بالا/چپ)، منفی → حذف از انتها (پایین/راست).
- اگر مقادیر بیشتر از اندازهٔ آرایه وارد شوند، احتمال رخداد خطا وجود دارد یا اکسل خروجی خالی/خطا بازمیگرداند (وابسته به نسخه و شرایط). بهتر است قبل از اعمال DROP اندازهٔ آرایه را بررسی کنید.
مثالهای عملی
فرض کنید در محدوده A1:C6 جدولی دارید (ستونها: نام، گروه، مقدار). نمونه فرمولها و توضیحات در ادامه آمدهاند.
| فرمول | توضیح |
|---|---|
| اولین سطر (مثلاً هدر یا سطر نامطلوب) را از بالا حذف میکند و سطرهای 2 تا 6 را بازمیگرداند. |
| یک سطر از پایین مجموعه حذف میکند (آخرین سطر را حذف میکند). |
| هیچ سطری حذف نمیشود اما اولین ستون از چپ حذف میشود (ستون A حذف). |
| یک سطر از بالا و یک ستون از چپ حذف میکند — نتیجۀ 2D باقیمانده نمایش مییابد. |
نمونه کد و توضیح
=DROP(A2:C10,1)این فرمول سطر اول از محدودهٔ A2:C10 را حذف میکند. معمولاً وقتی سطر اول هدر یا عنوان است و میخواهید فقط دادههای واقعی را پردازش کنید، همین روش کاربردی است. خروجی یک آرایهی جدید (Spill) خواهد بود که از سطر بعدی شروع میشود.
=DROP(B1:E20,-2)این فرمول دو سطر آخر محدودهٔ B1:E20 را حذف میکند. استفاده از عدد منفی برای آرایههای زمانی مفید است که بخواهید انتهای داده را کوتاه کنید (مثلاً حذف جمع کل یا سطرهای خلاصه).
=DROP(A1:D100,1,1)حذف یک سطر از بالا و یک ستون از چپ. این ترکیب برای زمانی مناسب است که هم هدر سطر و هم ستون اول متادیتا هستند و میخواهید ماتریس خام داده را بدست آورید.
ترکیبهای مفید با توابع دیگر
- DROP + FILTER: ابتدا با FILTER دادهها را محدود کنید سپس با DROP ردیف/ستونهای اضافی را بردارید.
=DROP(FILTER(A1:C100, C1:C100>100),1)همانطور که مشاهده میکنید، ابتدا تمام رکوردهایی که مقدار ستون C آنها بیش از 100 است فیلتر میشوند و سپس سطر اول (مثلاً هدر) حذف میشود.
- DROP + TAKE: برش دقیقتر نواحی — مثال: گرفتن 5 رکورد بعد از حذف اولین سطر.
=TAKE(DROP(A1:C100,1),5)در اینجا ابتدا سطر اول حذف میشود و سپس 5 سطر اول از باقیمانده گرفته میشود.
- جایگزین توابع قدیمی: در نسخههای قدیمی که تابع DROP وجود ندارد، میتوانید با INDEX/OFFSET/INDEX+SEQUENCE به نتایج مشابه برسید، اما DROP خواناتر و سریعتر است.
مقایسه با روشهای قدیمی و نکات سازگاری
| نسخه اکسل | قابلیت |
|---|---|
| Excel for Microsoft 365 / Excel for the web | پشتیبانی از DROP و توابع آرایهای پویا |
| Excel 2019 / 2016 / قدیمیتر | معمولاً DROP پشتیبانی نمیشود — باید از OFFSET، INDEX، یا فرمولهای پیچیدهتر استفاده کنید |
نکات عملی:
- قبل از استفاده از DROP در داشبوردها یا فایلهایی که کاربران مختلف دارند، بررسی کنید که همه از نسخهٔ اکسل سازگار استفاده کنند.
- در صورتی که ممکن است تعداد سطر یا ستون مرجع متغیر باشد، از توابعی مثل ROWS و COLUMNS برای جلوگیری از خطا استفاده کنید.
- اگر احتمال دارد مقدار rows یا columns از اندازهٔ آرایه بیشتر شود، از MIN/ABS برای کنترل مقدار ورودی بهره ببرید تا خطا جلوگیری شود.
مثال پیشرفته — جلوگیری از خطا
=DROP(A1:C100, MIN(ROWS(A1:C100)-1, 1))این فرمول تضمین میکند که شما بیش از اندازه از آرایه حذف نمیکنید؛ مقدار حذفشونده برابر کوچکترین عدد بین 1 و (تعداد سطرها منهای 1) خواهد بود. اگر آرایه تنها یک سطر داشته باشد، حذف بیش از حد رخ نمیدهد.
موارد کاربردی در دنیای واقعی
- حذف ردیفهای هدر قبل از پردازش آماری یا پیشبینی.
- حذف جمعوتفریق یا سطرهای خلاصه در انتهای گزارش برای ایجاد ماتریسهایی که به مدلهای ماشین لرنینگ یا PivotTable میدهید.
- چینش مجدد دادهها برای گزارشهای داشبورد: مثال حذف ستونهای متادیتا و ارائه فقط ستونهای عددی.
خلاصه
تابع DROP یک ابزار ساده و در عین حال قدرتمند برای حذف سطرها یا ستونها در محیط Dynamic Array اکسِل است. این تابع خواناتر از راهحلهای قدیمی است و وقتی با توابع دیگر مثل FILTER، TAKE و INDEX ترکیب شود، میتواند پردازش و پاکسازی دادهها را بسیار سریعتر و قابلفهمتر کند. فقط به سازگاری نسخهٔ اکسل و مدیریت مقادیر بیش از حد توجه کنید.
آیا این مطلب برای شما مفید بود ؟




