حذف موارد تکراری سلول در اکسل یکی از فعالیتهای رایج و مهم در کار با دادهها است و بسیاری از کاربران اکسل با آن سروکار دارند. این فرآیند بیشتر در زمانی که با مجموعهای از دادهها کار میکنید، به چشم میخورد، اما در برخی موارد نیاز است تا موارد تکراری موجود در یک سلول خاص نیز حذف شوند.
به عنوان مثال، فرض کنید یک لیست از نامها، مناطق یا عناوینی دارید که در یک سلول بهصورت تکراری ذکر شدهاند و هدف شما این است که این موارد تکراری را حذف کنید تا فقط موارد منحصر به فرد باقی مانده و نمایش داده شوند.
استفاده از حذف موارد تکراری سلول در اکسل با توابع جدید
اگر شما از نسخههای جدید اکسل، نظیر Microsoft 365، بهرهمند هستید، میتوانید از توابع نوین مانند UNIQUE و TEXTSPLIT برای انجام این کار بهسادگی استفاده کنید. این توابع شما را قادر میسازند تا بهسرعت موارد تکراری را حذف کرده و تنها مقادیر منحصربهفرد را در اختیار داشته باشید.
به طور خاص، فرض کنید دادههای شما در سلولهای A2 تا A4 قرار دارد و همهی این دادهها با یک کاما و فضای خالی از هم تفکیک شدهاند. فرمولی که میتواند این کار را انجام دهد به صورت زیر است:
=TEXTJOIN(", ", TRUE, UNIQUE(TEXTSPLIT(A2, , ", ")))
در این فرمول، تابع TEXTSPLIT محتویات سلول A2 را با استفاده از کاما (،) به بخشهای مجزا تقسیم میکند. سپس با استفاده از تابع UNIQUE، تنها مقادیر منحصر به فرد انتخاب شده و در نهایت با TEXTJOIN، دادهها بهوسیله کاما و فاصله دوباره به یک رشته واحد ترکیب خواهند شد.
مدیریت جداکنندههای متنوع
اگر در سلول خود دادههایی دارید که با چندین نوع جداکننده مختلف (مثل کاما، خط تیره، نیمفاصله و…) از هم جدا شدهاند، میتوانید با یک تغییر جزئی در فرمول بالا به این هدف برسید. بهعنوان نمونه، اگر بخواهید دادهها را با چهار نوع جداکننده تفکیک کنید، از فرمول زیر استفاده کنید:
=TEXTJOIN(", ", TRUE, UNIQUE(TRIM(TEXTSPLIT(A2, , {",", "-", "|", ";"}))))
در اینجا، تابع TEXTSPLIT برای جدا کردن مقادیر بر اساس چهار نوع جداکننده طراحی شده است.
استفاده از VBA برای حذف موارد تکراری سلول در اکسل
اگر دسترسی به توابع جدید اکسل ندارید، میتوانید با استفاده از کد VBA یک تابع سفارشی برای حذف موارد تکراری ایجاد کنید.به این نوع تابع، تابع تعریف شده توسط کاربر (UDF) گفته میشود. کد زیر نمونهای از یک تابع VBA برای این منظور است:
Function DeDupCells(CellRef As String, Optional Delimiter As String = ", ") As String Dim dict As Object Set dict = CreateObject("Scripting.Dictionary") dict.CompareMode = vbTextCompare Dim item As Variant For Each item In Split(CellRef, Delimiter) If Trim(item) <> "" And Not dict.Exists(Trim(item)) Then dict.Add Trim(item), Nothing End If Next item If dict.Count > 0 Then DeDupCells = Join(dict.Keys, Delimiter) End If End Function
مراحل ایجاد و استفاده از تابع VBA
۱. باز کردن ویرایشگر VBA: برای باز کردن ویرایشگر، کلیدهای Alt + F11 را فشار دهید. همچنین میتوانید از زبانه Developer و دکمه Visual Basic استفاده کنید.
۲. ایجاد ماژول جدید: در ویرایشگر VBA، به منو بروید، روی Insert کلیک کنید و سپس Module را انتخاب کنید.
۳. کپی کد: کد VBA فوق را در پنجره ماژول جدید پیست کنید.
۴. بستن ویرایشگر: پس از اتمام کار، ویرایشگر را ببندید.
۵. استفاده از تابع در کاربرگ: پس از ایجاد تابع، میتوانید بهسادگی از آن در کاربرگ اکسل استفاده کنید. بهعنوان نمونه، برای حذف موارد تکراری از سلول A2 میتوانید از این فرمول استفاده کنید:
=DeDupCells(A2)![]()
در این مقاله، دو روش مفید برای حذف موارد تکراری در یک سلول در اکسل معرفی شد. اگر از نسخههای جدید اکسل بهرهمندید، استفاده از توابع UNIQUE و TEXTSPLIT یک گزینهی عالی است. در غیر این صورت، میتوانید با کمک کدهای VBA، تابع سفارشی خود را ایجاد کنید تا این کار را انجام دهد. با این روشها میتوانید کارایی خود را در مدیریت دادهها بهبود بخشید و دقت بیشتری در تجزیه و تحلیل اطلاعات خود داشته باشید.
__ تکنو دات مرجع اخبار تکنولوژی __