حذف سطرها و ستونهای خالی در اکسل با ۵ روش تکنیکی
گاهاً در صفحات اکسل سطرها و ستونهای خالی زیادی به چشم میخورد که عمداً برای خوانا تر شدن دادهها ایجاد میشوند. ولی در برخی موارد نیز، این سطرها و ستونهای خالی به صورت ناخواسته در میان دادهها ظاهر میشوند. حذف سطرها و ستونهای خالی در اکسل راهکارهای گوناگونی دارد. بسته به حجم دادهها، تعداد سطر و ستونهای خالی، تعداد دفعات تکرار عملیات حذف و سطح توانایی کاربر، یکی از این راهکارها استفاده میشود.
ضرورت حذف سطرها و ستونهای خالی در اکسل
اگر میخواهید دادههای خود را که در اکسل دارای سطر و ستون خالی هستند به نرمافزار دیگری مانند Access منتقل کنید یا اگر قصد دارید بر روی این دادهها عملیات محاسباتی طولانی و پیچیدهای انجام دهید، با وجود سطرها و ستونهای خالی کارتان دشوار میشود و بعضاً نتیجه مطلوب را از کار بر روی این گونه دادهها، به دست نخواهید آورد. از سویی دیگر در ارائه گزارش کاغذی از صفحات اکسل، چاپ کردن دادههایی که دارای سطر و ستون خالی هستند چندان رضایت بخش نیست. لذا در این موقعیت ها مجبور به حذف سطرها و ستونهای خالی در اکسل خواهید شد.
برای حذف سطرها و ستونهای خالی در اکسل ۴ روش گوناگون وجود دارد:
حذف سطرها و ستونهای خالی در اکسل با انتخاب مستقیم
زمانی که تعداد سطرها و ستونهای خالی کم باشد، به سادگی میتوان آنها را تک تک انتخاب کرده و در منوی راست کلیک با انتخاب گزینه Delete حذف کرد.
حذف سطرها و ستونهای خالی در اکسل با Go To Special
برای انجام این کار، ابتدا تمامی محدوده دادهها را انتخاب کنید. از منوی HOME به زیر منوی Editing بروید. در بخش Find & Replace کلیک کنید. در منوی کرکرهای باز شده گزینه Go To Special را انتخاب کنید (یا کلید میانبر Ctrl+G را زده و Special را انتخاب کنید). سپس در پنجره باز شده دکمه رادیویی Blank را زده و OK کنید. سطرها و ستونهایی که دارای سلول خالی هستند انتخاب میشوند.
برای حذف کردن سطرها و ستونهای خالی به زیر منوی Cells از منوی HOME بروید. در بخش Delete کلیک کنید. در این قسمت بسته به نحوه پراکندگی سلولهای خالی در میان دادهها، سناریوهای مختلفی در پیش روی شما قرار خواهد گرفت.
- اگر سلولهای خالی فقط در سطرها باشند، یعنی سطرهایی که دارای داده هستند هیچ سلول خالیی نداشته باشند، (سلول خالی دیگری در ستونها نباشد) با انتخاب گزینه Delete Rows قادر خواهید بود تمام سطرهای خالی را حذف کنید.
- اگر سلولهای خالی فقط در ستونها باشند، یعنی ستونهایی که دارای داده هستند هیچ سلول خالیی نداشته باشند، (سلول خالی دیگری در سطرها نباشد) با انتخاب گزینه Delete Columns قادر خواهید بود تمام ستونها خالی را حذف کنید.
- اگر سلولهای خالی به صورت شطرنجی (سطرها و ستونها یکی در میان پر و خالی) باشند. از ترکیب دو مورد بالا استفاده کنید. به عنوان مثال ابتدا گزینه Delete Rows را انتخاب کنید. سطرهای خالی حذف خواهند شد. در مرحله بعد با انتخاب دوباره محدوده دادهها، همان فرآیند را تکرار کرده و اینبار با انتخاب گزینه Delete Columns اقدام به حذف ستونهای باقی مانده کنید.
- اگر سلولهای خالی الگوی خاصی نداشته باشند، مسئله دیگر حذف سطرها یا ستونهای خالی نخواهد بود ( خارج از موضوع این پست).
حذف سطرها و ستونهای خالی در اکسل با عملکرد Find
برای این کار نیز ابتدا کل محدوده دادهها را انتخاب نمایید. از منوی HOME به زیر منوی Editing بروید. در بخش Find & Replace کلیک کنید. در منوی باز شده گزینه Find را انتخاب کنید (یا کلید میانبر Ctrl+F را بزنید). در پنجره باز شده بر روی دکمه Options کلیک نماید. پنجره گسترده تر خواهد شد. در قسمت کرکرهای Look in مقدار Values را انتخاب نمایید و در قسمت Find What چیزی ننویسد و دکمه Find All را بفشارید. با اینکار جاهای خالی را بر حسب مقدار جستجو کردهاید. نتایج جستجو در قسمت پایین پنجره نمایش داده میشود. بر روی آدرس یکی از سلولها که در ستون Cell دیده میشود کلیک کنید. کلید میانبر Ctrl+A را از صفحه کلیدتان بفشارید. تمامی سطرها یا ستون ها خالی انتخاب خواهند شد. بسته به پراکندگی سلولهای خالی با یکی از روشها گفته شده در بالا، سطرها و ستونهای خالی را حذف کنید.
حذف سطرهای خالی در اکسل با عملکرد Filter
برای حذف سطرهای خالی در این روش کل محدوده دادهها را انتخاب نمایید. از منوی HOME به زیر منوی Editing بروید. در بخش Sort & Filter کلیک کنید. در منوی باز شده گزینه Filter را انتخاب کنید (یا کلید میانبر Ctrl+Shift+L را بزنید). تمامی ستونها فیلتر خواهند شد.
پس از فیلتر کردن ستونها، بر روی علامت فیلتر در سر ستون یکی از ستونها کلیک کنید. پنجره فیلتر باز خواهد شد. تیک کنار Select All را بردارید تا هیچ یک از گزینهها در انتخاب نباشند. به قسمت پایین کادر رفته و تیک کنار Blank را بزنید تا فقط سلولهای خالی انتخاب شوند. به روش گفته شده در بالا از زیر منوی Cell سطرهای خالی را حذف کنید.
توجه داشته باشید که با این روش فقط سطرهای خالی را میتوان حذف کرد.
حذف سطرهای خالی در اکسل با ماکرو نویسی
گرچه ماکرو نویسی از پیچیده ترین قسمت های اکسل است، ولی با استفاده از این ابزار، تقریباً هر عملیاتی در اکسل قابل انجام است. در کل اگر عملیاتی به دفعات زیاد و به صورت تکراری انجام میشود، پیشنهاد میشود از یک کد ویژوال بیسیک در قالب ماکرو استفاده کنید.
کد ماکرو برای حذف سطرهای خالی در اکسل به صورت زیر است:
Sub DeleteBlankRows()
Dim Rw As Range
If WorksheetFunction.CountA(Selection) = 0 Then
MsgBox "No blank rows found", vbOKOnly
Exit Sub
End If
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
Selection.SpecialCells(xlCellTypeBlanks).Select
For Each Rw In Selection.Rows
If WorksheetFunction.CountA(Selection.EntireRow) = 0 Then
Selection.EntireRow.Delete
End If
Next Rw
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
MsgBox "Blank Rows Removed"
End Sub
در فایل اکسل مورد نظر به برگهای که سطرهای خالی در آن قرار دارند منتقل شوید. کلید Alt+F11 را بفشارید. محیط ویژوال بیسیک اکسل باز خواهد شد. از منوی Insert بخش Module را انتخاب کنید تا یک ماژول جدید ایجاد شود. کد بالا را کپی کرده و در ماژول جدید paste کنید.
پس از نوشتن کد مورد نظر در محیط ویژوال بیسیک آن را ذخیره کرده و به برگه ذکر شده برگردید. محدوده سطرهای خالی را انتخاب کنید. کلید Alt+F8 را بفشارید تا فهرست ماکروهای موجود را ببینید. از بین این ماکروها، ماکروی DeleteBlankRows را انتخاب و اجرا کنید. برای توضیحات بیشتر در مورد نوشتن و ذخیره کردن ماکروها به آموزش ماکرو نویسی در اکسل مراجعه نمایید.
پس از اجرای ماکرو، اکسل سطرها خالی را حذف کرده و نتیجه کار به شکل زیر خواهد بود.