Mündəricat
Excel-də xana daxilində dublikatları tapmaq və silməyin üç yolu var. Sadəcə sizin üçün ən uyğun olanı seçin.
Dublikat dəyərlərin və ya sətirlərin silinməsinə gəldikdə, Microsoft Excel müxtəlif seçimlər toplusunu təklif edir. Ancaq verilən xana daxilində eyni mətni silməyə gəldikdə, Excel heç bir şey təmin etmir. Alətlər, xüsusiyyətlər, düsturlar, heç bir şey yoxdur. Məqsədimizə çatmağımıza mane olacaqmı? Heç bir halda. Excel-də bizə lazım olan funksiya yoxdursa, gedək öz funksiyamızı yazaq :)
Excel xanasında təkrarlanan sözləri necə silmək olar
Problem : Siz xanada eyni sözlərə və ya mətn sətirlərinə sahibsiniz və ikinci və bütün sonrakı təkrarları silmək istərdiniz.
Həll : istifadəçi tərəfindən müəyyən edilmiş fərdi funksiya və ya VBA makrosu.
Xüceyrə daxilində dublikatları silmək üçün istifadəçi tərəfindən müəyyən edilmiş funksiya
Xüceyrədəki dublikat mətni aradan qaldırmaq üçün aşağıdakı istifadəçi tərəfindən təyin edilmiş funksiyadan (UDF) istifadə edə bilərsiniz. , adlı RemoveDupeWords :
Funksiya RemoveDupeWords(String kimi mətn , İstəyə bağlı ayırıcı String kimi = " " ) String Dim lüğəti olaraq Obyekt Dim x kimi, hissə Set Dictionary = CreateObject ( "Scripting.Dictionary" ) lüğəti .CompareMode = vbTextCompare Hər x Üçün Bölünmüş (mətn, ayırıcı) hissə = Kəsmə(x) Əgər "" hissəsi Lüğət Yoxdur. Mövcuddur (hissə) Sonra lüğət. Hissə əlavə edin, Sonrakı Əgər Sözlük. Count > 0 Sonra RemoveDupeWords = Qoşulun(dictionary.keys,delimiter) Else RemoveDupeWords = "" End If Set Dictionary = Nothing End FunctionFunksiya kodunu iş dəftərinizə necə daxil etməli
Yuxarıdakı kodu Excel-ə əlavə etmək üçün bunu etməlisiniz:
- Visual Basic Redaktorunu açmaq üçün Alt + F11 düymələrini basın.
- Sol paneldə ThisWorkbook üzərinə sağ klikləyin və Daxil et seçin. > Modul .
- Yuxarıdakı kodu Kod pəncərəsinə yerləşdirin.
Ətraflı məlumat üçün VBA-nın necə daxil edilməsinə baxın. Excel-də kod.
RemoveDupeWords funksiyasının sintaksisi
Xanadakı dublikat mətni silmək üçün yeni yaradılmış funksiyamız aşağıdakı sintaksisə malikdir:
RemoveDupeWords(mətn, [ayırıcı])Harada :
- Mətn (tələb olunur) - təkrar mətni silmək istədiyiniz sətir və ya xana.
- Delimiter (isteğe bağlı) - təkrar mətnin ayrıldığı ayırıcı. Buraxıldıqda, ayırıcı üçün boşluq istifadə olunur.
Funksiya həssas deyil , yəni kiçik və böyük hərflər eyni simvol kimi qəbul edilir.
RemoveDupeWords funksiyasından necə istifadə etməli
Funksiya kodu iş kitabınıza əlavə edildikdən sonra siz onu Excel-in daxili funksiyalarından istifadə etdiyiniz kimi düsturlarınızda istifadə edə bilərsiniz.
Sadəcə bərabər işarəsindən sonra funksiyanın adını yazmağa başlayın və o, intellisense düsturunda görünəcək. Funksiyaya iki dəfə klikləyin və ona sahib olacaqsınızhüceyrəyə daxil edilir. Arqumentləri müəyyənləşdirin, bağlayan mötərizəni yazın, Enter düyməsini basın və düsturunuz tamamlandı.
Məsələn, A2-dən vergül və boşluqla ayrılmış dublikat sözləri silmək üçün, B2-də aşağıdakı düsturu daxil edin və sonra onu lazım olan qədər xanalar arasında aşağı sürükləyin:
=RemoveDupeWords(A2, ", ")
Nəticədə,
Əgər vergüllə ayrılmış siyahı əldə etmək istəyirsinizsə, onda ayırıcı üçün yalnız vergül istifadə edin :
=RemoveDupeWords(A2, ",")
Mənbə məlumatınız boşluq ilə ayrılıbsa, ikinci arqument " " olmalıdır və ya buraxılmalıdır:
=RemoveDupeWords(A2)
Hər hansı digər Excel funksiyası kimi, mənbə məlumatı dəyişdikdə bizim UDF avtomatik olaraq yenidən hesablanır, beləliklə nəticələriniz həmişə yenilənəcək.
Birdən çox xanadan dublikat mətni silmək üçün VBA makrosu
Birdən çox xanadan təkrar mətni silmək istəyirsinizsə, onda siz RemoveDupeWords funksiyasına zəng edə bilərsiniz. m makro daxilində. Bu halda, ayırıcı sərt kodlaşdırılır və siz hər dəfə ayırıcı dəyişəndə makronun kodunu yeniləməli olacaqsınız. Alternativ olaraq, siz ən ümumi ayırıcılar, məsələn, boşluq, vergül və ya vergül və boşluq üçün bir neçə kod dəyişikliyi yaza və makrolarınıza mənalı adlar verə bilərsiniz, məs. RemoveDupesDelimSpace .
Makronun kodu aşağıdakı kimidir:
İctimai Alt RemoveDupeWords2() Tətbiq.Seçim hüceyrəsindəki Hər bir xana üçün diapazon kimi kiçik xana.Value = RemoveDupeWords(cell.Value, ", " ) Sonrakı Son AltYuxarıdakı kodda ayırıcı vergüldür və boşluq . Fərqli ayırıcıdan istifadə etmək üçün bu kod sətirində ", " başqa simvol(lar) ilə əvəz edin:
cell.Value = RemoveDupeWords(cell.Value, ", ")
Qeyd. Makronun işləməsi üçün onun kodu və RemoveDupeWords funksiyasının kodu eyni modula yerləşdirilməlidir.
Makrodan necə istifadə etməli
Makronun kodunu öz iş dəftərinizə daxil edin və ya kodla nümunə iş dəftərimizi açın və sonra makronu işə salmaq üçün aşağıdakı addımları yerinə yetirin.
- Təkrarlanan mətni silmək istədiyiniz xanalar aralığını seçin.
- Makro dialoq qutusunu açmaq üçün Alt + F8 düymələrini basın.
- Makrolar siyahısında, RemoveDupeWords2 seçin.
- Çalışdır üzərinə klikləyin.
Ətraflı məlumat üçün baxın. Excel-də makro işlədin.
Qeyd. Makronun hərəkəti geri qaytarıla bilməz , makrodan istifadə etməzdən əvvəl iş kitabınızı yadda saxlamağı tövsiyə edirik. Beləliklə, əgər bir şey səhv olarsa, siz sadəcə olaraq iş kitabını bağlayıb yenidən aça bilərsiniz və siz tam olaraq olduğunuz yerə qayıdacaqsınız. Və ya sadəcə olaraq makrodan təsirlənə biləcək iş vərəqlərinin surətini çıxara bilərsiniz.
Xüceyrədə dublikat simvolları necə silmək olar
Problem : Hüceyrədə eyni simvolun bir neçə dəfə təkrarlanması var.xana verilmiş simvolun yalnız bir təkrarını ehtiva etməlidir.
Həll : istifadəçi tərəfindən müəyyən edilmiş xüsusi funksiya və ya VBA makros.
Təkrarlanan simvolları silmək üçün istifadəçi tərəfindən müəyyən edilmiş funksiya
Yalnız ilk hadisələri saxlayan xana daxilində təkrarlanan simvolları silmək üçün siz RemoveDupeChars adlı istifadəçi tərəfindən müəyyən edilmiş aşağıdakı funksiyadan istifadə edə bilərsiniz:
Funksiya RemoveDupeChars(mətn String kimi ) Simli Dim lüğəti olaraq Obyekt kimi Dim simvol kimi Simsiz Nəticə Simli Set lüğəti olaraq = CreateObject ( "Scripting.Dictionary" ) i = 1 To Len(mətn) üçün char = Mid(mətn, i, 1) ) Lüğət deyilsə.Mövcuddur(char) Sonra lüğət. Char əlavə et, Heç nə nəticə = nəticə & char End If Next RemoveDupeChars = nəticə Set Dictionary = Nothing End FunctionFunksiya kodunu iş dəftərinizə daxil etmək üçün addımlar əvvəlki nümunədəki kimidir.
RemoveDupeChars funksiyasının sintaksisi
Bu fərdi funksiyanın sintaksisi mümkün olduğu qədər sadədir - yalnız bir arqument tələb olunur:
RemoveDupeChars(mətn)Burada mətn istədiyiniz sətir və ya xanadır dublikat simvolları silmək üçün.
Funksiya həssasdır və kiçik və böyük hərfləri fərqli simvollar kimi qəbul edir.
RemoveDupeChars funksiyasından necə istifadə etməli
RemoveDupeWords-in istifadəsi haqqında dediyimiz hər şey RemoveDupeChars üçün doğrudur. Beləliklə, getmədənNəzəriyyədən çox danışaq, gəlin birbaşa nümunəyə keçək.
A2-də başlayan A sütunundan təkrar simvolları silmək üçün B2-yə bu düstur daxil edin və aşağıya köçürün:
=RemoveDupeChars(A2)
Aşağıdakı şəkildə gördüyünüz kimi, funksiya hərflər, rəqəmlər və xüsusi simvollar daxil olmaqla müxtəlif simvol növlərini uğurla idarə edir:
İpucu. Əgər simvollarınız bir-birindən boşluq, vergül və ya tire kimi bəzi ayrıcı ilə ayrılıbsa, əvvəlki nümunədə göstərildiyi kimi RemoveDupeWords funksiyasından istifadə edin.
Xüceyrədən eyni simvolları silmək üçün VBA makrosu
RemoveDupeWords kimi, RemoveDupeChars funksiyası da makro daxilində çağırıla bilər:
Bu UDF heç bir ayırıcı istifadə etmədiyinə görə, hər hansı bir tənzimləmə etməli olmayacaqsınız. kod.
Qeyd. Makronun işləməsi üçün onun kodu və RemoveDupeChars UDF kodu VBA redaktorunda eyni modula yerləşdirilməlidir.
Makrodan necə istifadə etməli
Fərz edək ki, siz artıq makronun kodunu iş dəftərinizə daxil etmisiniz və ya kodu ehtiva edən nümunə iş dəftərimizi açmısınızsa, makronu bu şəkildə işə salın.
- Təkrarlanan simvolları silmək istədiyiniz xanalar aralığını seçin.
- Makro dialoqunu açmaq üçün Alt + F8 düymələrini basın.qutusu.
- Makrolar siyahısında RemoveDupeChars2 seçin.
- Çalışdır üzərinə klikləyin.
Ultimate Suite ilə dublikat alt sətirləri silin
Bu dərsliyin əvvəlində qeyd olundu ki, Microsoft Excel-də xana daxilində dublikatları silmək üçün daxili funksiya yoxdur. Amma bizim Ultimate Suite bunu edir!
Siz onu Dublicate Remover açılan menyusunda Ablebits Data nişanında, Dedupe<2-də tapa bilərsiniz> qrup. Dublikat alt sətirləri sil seçimi Excel-də görünmürsə, Ultimate Suite proqramının ən son versiyasını quraşdırdığınızdan əmin olun (pulsuz sınaq versiyasını buradan yükləmək olar).
Təkrarlanan sözləri və ya mətni bir neçə xanadan 5 saniyə ərzində silmək üçün (hər addımda saniyə :), bunu etməlisiniz:
- Mənbə məlumatınızı seçin və Dublikat alt sətirləri silin.
- ayırıcını təyin edin.
- ardıcıl ayırıcıları bir (defolt) kimi qəbul edib-etməməyi müəyyənləşdirin.
- hərf-həssas və ya hərf-həssas axtarışının həyata keçirilməsini seçin.
- Sil üzərinə klikləyin.
Bitti! VBA və ya düsturlarla məşğul olmaq lazım deyil, sadəcə tez və dəqiq nəticələr.
Bu zəhmli əlavə haqqında ətraflı öyrənmək üçün onun əsas səhifəsinə daxil olun. Və ya daha yaxşısı, aşağıda qiymətləndirmə versiyasını endirin və onu sınayın!
Xonadakı dublikat mətni belə silmək olar.Oxuduğunuz üçün sizə təşəkkür edirəm və sizi gələn həftə bloqumuzda görməyə ümid edirəm!
Mövcud endirmələr
Xüceyrədəki dublikatları silmək üçün nümunələr (.xlsm faylı)
Ultimate Suite 14 -günlük tam funksional versiya (.exe faylı)