یکی از نیازهای کاربران Excel و Google Sheets که جداولی طولانی از اطلاعات دارند این است که ردیفهای تکراری را حذف کنند. برای حذف کردن ردیفهای تکراری یا Duplicate، میتوان از تابع Unique، افزونهها و همینطور اسکریپتنویسی استفاده کرد.
در این مقاله به سه روش حذف کردن دادههای تکراری در گوگل شیتس میپردازیم. با ما باشید.
اگر از نرمافزار Excel مایکروسافت استفاده میکنید، برای حذف کردن دادههای تکراری از صفحات فایل، به مقالهی زیر مراجعه فرمایید:
برای رنگی کردن این دادهها نیز میتوانید از راهنمای زیر استفاده کنید:
در گوگل شیتس هم انجام این امور ساده است و در ادامه چند روش جالب را بررسی میکنیم.
استفاده از تابع Unique برای حذف دادههای تکراری
یکی از روشهای حذف کردن دادههای تکراری در جداول Google Sheets این است که دادههای یکتا یا غیرتکراری را جدا کنید! برای این کار میتوانید از تابع UNIQUE استفاده کنید و البته پس از جدا کردن این دادهها، ستون حاوی دادههای تکراری را حذف کنید.
و اما روش کار: ابتدا فایل موردنظر را باز کنید و صفحه یا Sheet حاوی دادهها را انتخاب کنید.
روی سلولی خالی در ستون و ردیفی که میخواهید دادههای تکراری در آن و سلولهای مابعد آن قرار بگیرد کلیک کنید. سپس کلید = را فشار دهید و کلمهی UNIQUE را تایپ کنید. گوگل شیتس به صورت خودکار تابع یونیک را پیشنهاد میدهد.
روی این پیشنهاد کلیک کنید تا پرانتز شروع تابع اضافه شود. البته میتوانید خودتان به روش دستی هم پرانتز شروع را تایپ کنید. گام بعدی این است که رنج سلولها را انتخاب کنید. میتوانید با کلیک و درگ کردن موس، تمام سلولهای جدول را انتخاب کنید. روش دیگر این است که نام سلول شروع و سپس علامت : و در نهایت نام سلول پایان جدول را تایپ کنید. در نهایت پرانتز را ببندید و Enter را فشار دهید.
همانطور که در تصویر زیر مشاهده میکنید، تمام موارد غیرتکراری و یکتا در سلول موردنظر و سلولهای بعد از آن نمایش داده میشود.
اکنون نوبت به حذف کردن دادههای اصلی میرسد اما دقت کنید که با حذف کردن این موارد، با توجه به اینکه فرمولنویسی کردهاید، جدول اطلاعات غیرتکراری نیز خالی میشود! لذا ابتدا سلولهای حاوی دادههای یونیک را انتخاب کنید و با کلید میانبر Ctrl + C کپی کنید.
اکنون روی محلی که میخواهید دادههای غیرتکراری قرار بگیرد، راستکلیک کنید و گزینهی Paste special و سپس Paste values only را انتخاب نمایید. به این ترتیب فقط مقدار سلول پیست میشود و نه فرمول به کار رفته برای یافتن مقادیر یونیک.
اکنون میتوانید دادههای اصلی را حذف کنید و مشکلی ایجاد نمیشود.
نحوه حذف سلولهای تکراری با افزونههای گوگل شیتس
برای حذف کردن دادههای تکراری موجود در جدول، میتوانید از افزونه یا Add-On استفاده کنید چرا که Google Sheets از چند ماه پیش قابلیت نصب کردن افزونهها را پیدا کرده و افزونههای مختلفی برای آن منتشر شده است. برای حذف کردن دادههای تکراری هم افزونهای به اسم Remove Duplicates منتشر شده است:
اگر با افزونههای گوگل شیتس و شیوهی نصب کردن افزونهها در گوگل شیتس آشنایی ندارید، به مقالهی زیر مراجعه فرمایید:
البته این افزونهی خاص رایگان نیست بلکه دورهی آزمایشی ۳۰ روزه دارد. برای خرید افزونه باید سالانه ۳۳.۶ دلار پرداخت کرد!
برای نصب کردن این افزونه، از منوی Add-ons گزینهی Get add-ons را انتخاب کنید.
در کادر جستجو عبارت Duplicates را تایپ کنید و سپس روی دکمهی Free روبروی افزونهی Remove Duplicates کلیک کنید تا نصب افزونه انجام شود.
حساب کاربری که میخواهید ادآن موردبحث در آن نصب شود را انتخاب کنید.
در نهایت دسترسی لازم را کلیک روی Allow، به افزونهی Remove Duplicates بدهید. البته در مورد دادههای مهم شخصی یا شغلی، میبایست قبل از مجاز کردن دسترسیها، مواردی که در توضیحات دسترسیها و شرایط استفاده ذکر شده را مطالعه کنید تا مبادا مشکلی از نظر حریم خصوصی و حفاظت اطلاعات به وجود بیاید.
برای استفاده از این افزونه، میابیست ابتدا یک ستون یا چند ردیف را انتخاب کنید. در این مثال میخواهید موارد تکراری در ردیفها را شناسایی و حذف کنیم اما روش کار مشابه حالت دیگر است. ابتدا سلولهای ردیفهای موردنظر را انتخاب کنید. سپس از منوی Add-ons روی گزینهی Remove Duplicates و سپس Find duplicate or unique rows کلیک کنید.
پس از نمایان شدن پنجرهی این افزونه، بررسی کنید که رنج سلولها صحیح باشد و اگر اشتباهی رخ داده، رنج سلولها را تصحیح کنید. سپس روی Next کلیک کنید.
در مرحلهی بعدی گزینهی Duplicates را انتخاب کنید و روی Next کلیک کنید.
در مرحلهی سوم آپشنهای اضافی را مشخص کنید. به عنوان مثال اگر جدول شما دارای ردیف عنوان یا Headers است و نمیخواهید این ردیف حذف شود، تیک گزینهی My table has headers را حذف کنید. به همین ترتیب اگر نیاز است برای یکسان در نظر گرفتن حروف بزرگ و کوچک، تیک گزینهی Case sensitive را حذف کنید.
با کلیک روی Next به مرحلهی آخر میرسید که انتخاب عملی برای سلولهای تکراری است. اگر گزینهی Delete row within selection را انتخاب کنید، ردیفهای تکراری حذف میشود و اگر Clear values را انتخاب کنید، دادههای این ردیفها پاکسازی میشود. روی Finish کلیک کنید.
با انجام بررسی، نتیجه نمایش داده میشود. میتوانید روی Close کلیک کنید و پنجرهی افزونه را ببندید و همینطور میتوانید روی Start over کلیک کنید و مراحل یافتن دادههای تکراری را برای مقصودی دیگر، از ابتدا آغاز کنید.
نتیجه را در تصویر زیر مشاهده میکنید:
استفاده از Google Script Editor برای نوشتن تابع حذف سلولهای Duplicate
روش بعدی برای یافتن دادههای تکراری و حذف کردن این موارد در گوگل شیتس این است که از ابزار ویرایش اسکریپت در گوگل شیتس استفاده کنید. با این ابزار ساده و قدرتمند، میتوانید هر تابع و دستوری که نیاز دارید را بنویسید که البته نیاز به تجربه و دانش برنامهنویسی دارد. خوشبختانه استفاده از Google App Script رایگان است. قبلاً یک نمونهی جالب از کاربردهای اسکریپتنویسی در گوگل شیتس را بررسی کردیم:
در راهنمای استفاده از Google App Script، مثالهای زیادی ذکر شده که یکی از موارد، اسکریپت سادهای برای حذف کردن دادههای تکراری در Google Sheets است!
برای شروع کار از منوی Tools گزینهی Script editor را انتخاب کنید.
همانطور که مشاهده میکنید پنجرهی Google Apps Script در یک تب جدید باز میشود و اسکریپت خالی و در واقع شامل یک تابع بدون دستوری خاص است.
با زدن Ctrl + A آنچه موجود است را انتخاب کرده و با زدن کلید Del حذف کنید. سپس خطوط زیر را کپی کرده و با زدن Ctrl + V پیست کنید:
//Removes duplicate rows from the current sheet.
function removeDuplicates() {
//Get current active Spreadsheet
var sheet = SpreadsheetApp.getActiveSheet();
//Get all values from the spreadsheet's rows
var data = sheet.getDataRange().getValues();
//Create an array for non-duplicates
var newData = [];
//Iterate through a row's cells
for (var i in data) {
var row = data[i];
var duplicate = false;
for (var j in newData) {
if (row.join() == newData[j].join()) {
duplicate = true;
}
}
//If not a duplicate, put in newData array
if (!duplicate) {
newData.push(row);
}
}
//Delete the old Sheet and insert the newData array
sheet.clearContents();
sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}
اسکریپت را ذخیره کنید و نامی برای آن تایپ کنید. در نهایت روی آیکون اجرای اسکریپت یا Run کلیک کنید.
اسکریپت برای حذف کردن دادهها، نیازی به دسترسی به فایل شما دارد و پیامی نمایان میشود. روی Review Permissions کلیک کنید.
دسترسیها را در صورت نیاز بررسی کنید و در نهایت روی Allow کلیک کنید تا مجوز لازم صادر شود.
به این ترتیب ردیفهای تکراری حذف میشود، درست مثل روش قبلی که استفاده از افزونه بود.
متأسفانه این اسکریپت پس از حذف کردن ردیفهای تکراری از جداول، اندازهی جدول را از نو تنظیم نمیکند. لذا باید جدول را از نو با روش دستی تعریف کنید.
howtogeekسیارهی آیتی