Ana içeriğe atla

Excel'deki birden çok sütundan benzersiz değerler nasıl çıkarılır?

Birden fazla değere sahip birkaç sütununuz olduğunu varsayarsak, bazı değerler aynı sütunda veya farklı sütunda tekrarlanır. Ve şimdi her iki sütunda da yalnızca bir kez bulunan değerleri bulmak istiyorsunuz. Excel'deki birden çok sütundan benzersiz değerler çıkarmanız için herhangi bir hızlı numara var mı?


Formüllerle birden çok sütundan benzersiz değerler çıkarın

Bu bölümde iki formül ele alınacaktır: biri tüm Excel sürümlerine uygun bir dizi formülü kullanan, diğeri ise özellikle Excel 365 için dinamik bir dizi formülü kullanan.

Tüm Excel sürümleri için Dizi formülüyle birden çok sütundan benzersiz değerler çıkarın

Excel'in herhangi bir sürümüne sahip kullanıcılar için dizi formülleri, birden çok sütundan benzersiz değerler çıkarmak için güçlü bir araç olabilir. Bunu nasıl yapabileceğiniz aşağıda açıklanmıştır:

1. Değerlerinizi aralıkta varsayarak A2: C9, lütfen aşağıdaki formülü E2 hücresine girin:

=INDIRECT(TEXT(MIN(IF(($A$2:$C$9<>"")*(COUNTIF($E$1:E1,$A$2:$C$9)=0),ROW($2:$9)*100+COLUMN($A:$C),7^8)),"R0C00"),)&""
not: Yukarıdaki formülde, A2: C9 benzersiz değerleri çıkarmak istediğiniz hücre aralığını gösterir, E1: E1 sonucu yerleştirmek istediğiniz sütunun ilk hücresidir, $ 2: $ 9 satırların kullanmak istediğiniz hücreleri içerdiği ve A $: C $ sütunların kullanmak istediğiniz hücreleri içerdiğini gösterir. Lütfen bunları kendi başınıza değiştirin.

2. Daha sonra tuşuna basın. ÜstKrktr + Ctrl + Enter tuşlarını birlikte kullanın ve ardından boş hücreler görünene kadar benzersiz değerleri ayıklamak için dolgu tutamacını sürükleyin. Ekran görüntüsüne bakın:

Bu formülün açıklaması:
  1. $ A $ 2: $ C $ 9: Bu, kontrol edilecek veri aralığını (A2'den C9'a kadar olan hücreler) belirtir.
  2. IF(($A$2:$C$9<>"")*(COUNTIF($E$1:E1,$A$2:$C$9)=0), ROW($2:$9)*100+COLUMN($A:$C), 7^8):
    • $A$2:$C$9<>"" aralıktaki hücrelerin boş olup olmadığını kontrol eder.
    • COUNTIF($E$1:E1,$A$2:$C$9)=0 bu hücrelerin değerlerinin henüz E1'den E1'e kadar olan hücre aralığında listelenip listelenmediğini belirler.
    • Her iki koşul da karşılanıyorsa (yani değer boş değilse ve henüz E sütununda listelenmemişse), IF işlevi satır ve sütununa dayalı olarak benzersiz bir sayı hesaplar (ROW($2:$9)*100+COLUMN($A: $C)).
    • Koşullar karşılanmazsa işlev, yer tutucu görevi gören büyük bir sayıyı (7^8) döndürür.
  3. DAK(...): Yukarıdaki IF işlevi tarafından döndürülen ve bir sonraki benzersiz değerin konumuna karşılık gelen en küçük sayıyı bulur.
  4. METİN(...;"R0C00"): Bu minimum sayıyı R1C1 stili adrese dönüştürür. R0C00 format kodu, sayının Excel hücre referans formatına dönüştürülmesini gösterir.
  5. DOLAYLI(...): Önceki adımda oluşturulan R1C1 stili adresini normal A1 stili hücre referansına dönüştürmek için INDIRECT işlevini kullanır. INDIRECT işlevi, bir metin dizesinin içeriğine dayalı olarak hücre referansına izin verir.
  6. &"": Formülün sonuna &"" eklenmesi, nihai çıktının metin olarak değerlendirilmesini sağlar, böylece çift sayılar metin olarak görüntülenir.
 
Excel 365 formülüyle birden çok sütundan benzersiz değerler çıkarın

Excel 365, dinamik dizileri destekleyerek birden çok sütundan benzersiz değerlerin çıkarılmasını çok daha kolaylaştırır:

Lütfen aşağıdaki formülü sonucu eklemek istediğiniz boş bir hücreye girin veya kopyalayın ve ardından tıklayın. Keşfet tüm benzersiz değerleri aynı anda almanın anahtarı. Ekran görüntüsüne bakın:

=UNIQUE(TOCOL(A2:C9,1))


Kutools AI Aide ile birden fazla sütundan benzersiz değerler çıkarın

gücünü açığa Kutools AI Yardımcısı Excel'deki birden çok sütundan benzersiz değerleri sorunsuz bir şekilde çıkarmak için. Bu akıllı araç, yalnızca birkaç tıklamayla verilerinizi inceleyerek seçilen herhangi bir aralıktaki benzersiz girişleri belirleyip listeler. Karmaşık formüllerin veya vba kodlarının zahmetini unutun; Kutools AI Yardımcısı Excel iş akışınızı daha üretken ve hatasız bir deneyime dönüştürün.

not: Bunu kullanmak için Kutools AI Yardımcısı of Kutools for ExcelLütfen Kutools for Excel'i indirip yükleyin İlk.

Kutools for Excel'i kurduktan sonra lütfen tıklayın Kutools AI > Yapay Zeka Yardımcısı açmak için Kutools AI Yardımcısı bölme:

  1. Gereksiniminizi sohbet kutusuna yazın ve tıklayın. Gönder tuşuna basın veya tuşuna basın. Keşfet soruyu gönderme tuşu;
    "A2:C9 aralığından benzersiz değerleri çıkarın, boş hücreleri yok sayın ve sonuçları E2'den başlayarak yerleştirin:"
  2. Analiz ettikten sonra tıklayın Gerçekleştirmek Çalıştırmak için düğmeye basın. Kutools AI Aide, isteğinizi AI kullanarak işleyecek ve sonuçları belirtilen hücreye doğrudan Excel'e döndürecektir.


Pivot Tablo ile birden çok sütundan benzersiz değerleri çıkarın

Pivot tabloya aşina iseniz, aşağıdaki adımlarla birden çok sütundan benzersiz değerleri kolayca çıkarabilirsiniz:

1. İlk önce lütfen verilerinizin soluna yeni bir boş sütun ekleyin, bu örnekte, orijinal verilerin yanına A sütununu ekleyeceğim.

2. Verilerinizdeki bir hücreyi tıklayın ve Alt + D tuşlarına basın, ardından P açmak için hemen anahtar PivotTable ve PivotChart Sihirbazı, seçmek Çoklu konsolidasyon aralıkları Adım 1 sihirbazında, ekran görüntüsüne bakın:

3. Sonra tıklayın Sonraki düğmesi, kontrol et Benim için tek bir sayfa alanı oluştur 2. adımda sihirbaz seçeneği, ekran görüntüsüne bakın:

4. Tıklamaya git Sonraki düğmesi, sol yeni hücre sütununu içeren veri aralığını seçmek için tıklayın ve ardından Ekle veri aralığını eklemek için düğme Tüm aralıklar liste kutusu, ekran görüntüsüne bakın:

5. Veri aralığını seçtikten sonra devam et Sonraki, sihirbazın 3. adımında, PivotTable raporunu istediğiniz yere koymak istediğiniz yeri seçin.

6. Sonunda, tıklayın Bitiş sihirbazı tamamlamak için ve mevcut çalışma sayfasında bir pivot tablo oluşturulmuşsa, ardından tüm alanların işaretini kaldırın. Rapora eklenecek alanları seçin bölümü, ekran görüntüsüne bakın:

7. Ardından alanı kontrol edin Özellik veya Değeri satırlar etiket, şimdi aşağıdaki gibi birden çok sütundan benzersiz değerleri alacaksınız:


VBA kodu ile birden çok sütundan benzersiz değerleri çıkarın

Aşağıdaki VBA kodu ile, benzersiz değerleri birden çok sütundan da çıkarabilirsiniz.

1. Basılı tutun ALT + F11 anahtarlar ve açılır Uygulamalar için Microsoft Visual Basic penceresi.

2. tıklayın Ekle > modülve aşağıdaki kodu Modül Penceresine yapıştırın.

VBA: Birden çok sütundan benzersiz değerleri çıkarın

Sub Uniquedata()
'Updateby Extendoffice
Dim rng As Range
Dim InputRng As Range, OutRng As Range
Set dt = CreateObject("Scripting.Dictionary")
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
For Each rng In InputRng
    If rng.Value <> "" Then
        dt(rng.Value) = ""
    End If
Next
OutRng.Range("A1").Resize(dt.Count) = Application.WorksheetFunction.Transpose(dt.Keys)
End Sub

3. Daha sonra tuşuna basın. F5 bu kodu çalıştırmak için ve kullanmak istediğiniz veri aralığını seçmenizi hatırlatan bir komut kutusu açılır. Ekran görüntüsüne bakın:

4. Ve sonra tıklayın OK, sonucu yerleştirmek için bir yer seçmenize izin veren başka bir istem kutusu görünecektir, ekran görüntüsüne bakın:

5. Tıkla OK bu iletişim kutusunu kapatmak için ve tüm benzersiz değerler aynı anda çıkarılmıştır.


Daha ilgili makaleler:

  • Bir Listedeki Benzersiz ve Farklı Değerlerin Sayısını Sayma
  • Bazı yinelenen öğeler içeren uzun bir değerler listeniz olduğunu varsayarsak, şimdi, benzersiz değerlerin sayısını (listede yalnızca bir kez görünen değerler) veya farklı değerleri (listedeki tüm farklı değerler, benzersiz anlamına gelir) değerler + 1. yinelenen değerler) gösterilen sol ekran görüntüsü gibi bir sütunda. Bu yazımda Excel'de bu işle nasıl başa çıkılacağından bahsedeceğim.
  • Excel'de Ölçütlere Dayalı Benzersiz Değerleri Çıkarın
  • Aşağıdaki veri aralığına sahip olduğunuzu varsayarsak, aşağıda gösterilen ekran görüntüsü gibi sonucu elde etmek için A sütununun belirli bir kriterine dayalı olarak yalnızca B sütununun benzersiz adlarını listelemek istediğinizi varsayalım. Excel'de bu görevi hızlı ve kolay bir şekilde nasıl halledebilirsiniz?
  • Excel'de Yalnızca Benzersiz Değerlere İzin Ver
  • Bir çalışma sayfası sütununa yalnızca benzersiz değerleri girmek ve yinelemeleri önlemek istiyorsanız, bu makale bu görevle başa çıkmanız için bazı hızlı püf noktaları sunacaktır.
  • Excel'deki Ölçütlere Dayalı Benzersiz Değerleri Toplama
  • Örneğin, aşağıda gösterilen ekran görüntüsü gibi Ad sütununa göre Sıra sütununda yalnızca benzersiz değerleri toplamak için Ad ve Sıra sütunlarını içeren bir veri aralığım var. Excel'de bu görevi hızlı ve kolay bir şekilde nasıl çözebilirim?

En İyi Ofis Üretkenlik Araçları

🤖 Kutools AI Yardımcısı: Aşağıdakilere dayalı olarak veri analizinde devrim yaratın: Akıllı Yürütme   |  Kodunu oluşturun  |  Özel Formüller Oluşturun  |  Verileri Analiz Edin ve Grafikler Oluşturun  |  Kutools İşlevlerini Çağır...
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya Tanımla   |  Boş Satırları Sil   |  Veri Kaybı Olmadan Sütunları veya Hücreleri Birleştirin   |   Formülsüz Tur ...
Süper Arama: Çoklu Ölçütlü VLookup    Çoklu Değer VLookup  |   Birden Çok Sayfada VLookup   |   Bulanık Arama ....
Gelişmiş Açılır Liste: Hızla Açılır Liste Oluşturun   |  Bağımlı Açılır Liste   |  Çoklu Seçim Açılır Liste ....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekleme  |  Sütunları Taşı  |  Gizli Sütunların Görünürlük Durumunu Değiştir  |  Aralıkları ve Sütunları Karşılaştırın ...
Öne Çıkan Özellikler: Izgara Odağı   |  Tasarım görünümü   |   Büyük Formül Çubuğu    Çalışma Kitabı ve Sayfa Yöneticisi   |  Kaynak Kütüphanesi (Otomatik metin)   |  Tarih Seçici   |  Çalışma Sayfalarını Birleştirin   |  Hücreleri Şifrele/Şifresini Çöz    E-postaları Listeye Göre Gönder   |  Süper Filtre   |   Özel Filtre (kalın/italik/üstü çizili filtre...) ...
En İyi 15 Araç Seti12 Metin Tools (Metin ekle, Karakterleri Kaldır, ...)   |   50+ Grafik Türleri (Gantt şeması, ...)   |   40+ Pratik Formüller (Yaşı doğum gününe göre hesapla, ...)   |   19 sokma Tools (QR Kodunu Girin, Yoldan Resim Ekle, ...)   |   12 Dönüştürme Tools (Sayılardan Kelimelere, Para Birimi Dönüştürme, ...)   |   7 Birleştir ve Böl Tools (Gelişmiş Kombine Satırları, Bölünmüş hücreler, ...)   |   ... ve dahası

Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar.  En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...

Açıklama


Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
Comments (31)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Thank you for this solution, however what if the columns are in separate excel sheet? or is in separate columns instead of a table?
This comment was minimized by the moderator on the site
Hello, Jon,
The methods in this article ar only works well for a range of data, if your data in separate columns, you should copy and paste them into one range first, and then apply the formula or VBA code.
Thank you!
This comment was minimized by the moderator on the site
Thank you for this great article.

For people who are using the array formular in non-English Excel there must be taken special care of the text format string: in your example: "R0C00".
For German this would translate to "Z0S00". However, "S" is a special character refering to seconds for time formating. This character needs to be escaped and therefore the correct format string for German Excel is "Z0\S00".

I hope this helps someone in the future :-)
This comment was minimized by the moderator on the site
Hello, Michael H.
Thanks for your kindly explanation.
Hope this can help others in the future.😄
This comment was minimized by the moderator on the site
Thank you for this great article.

For people who are using the array formular in non-English Excel there must be taken special care of the text format string: in your example: "R0C00".
For German this would translate to "Z0S00". However, "S" is a special character refering to seconds for time formating. This character needs to be escaped and therefore the correct format string for German Excel is "Z0\S00".

I hope this helps someone in the future :-)
This comment was minimized by the moderator on the site
Hello Sir! The VBA worked wonders, thank you very much for that! I was wondering, If I change the original data, is it possible to refresh the column with the unique values automatically?
Rated 5 out of 5
This comment was minimized by the moderator on the site
Hello Ioannis,

Glad to help. After you change the original data, the VBA can not refresh the result automatically. And the easiest way I can think of is to press Ctrl + Alt + F9 to refresh all results in worksheets in all open workbooks. Have a nice day.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
The array formula at the top is working great when used with data in the same sheet, however when I try to use it to reference the same exact data from another sheet the formula returns nothing. I'm unable to figure out why. Is there a limitation with array functions that prevents you from referencing ranges in a different sheet?

Thanks for any insight you can provide.
This comment was minimized by the moderator on the site
Hello Erin,

Glad to help. The INDIRECT function in this formula is more complicated to use when referencing data in other worksheets. It is not recommended to use this feature when referencing ranges in different worksheets.

For example: Now the data is in Sheet1, I want to reference the content of cell C2 of Sheet1 in Sheet2. First, in any two cells in Sheet2, such as D1 and D2, enter Sheet1 and C2, respectively. At this point, enter the formula in the empty cell of Sheet2:
=INDIRECT("'"&D1&"'!"&D2), then the content of cell C2 in Sheet1 can be returned.

As you can see, it make things way more complex. Hope my explanation can help. Have a nice day.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
Czy to żart?
This comment was minimized by the moderator on the site
can we create uniqdata function instead of macro?
This comment was minimized by the moderator on the site
Hi, İlhan,If you like a User Defined Function to create a formula for solving this problem, the below code may help you:After inserting the code, select a list of cells where you want to put the results. Then type this formula:=Uniques(A1:C4)  in the formula bar.Press Ctrl+Shift+Enter keys together. 


Function Uniques(ByVal inputRange As Range)
Dim inputArray As Variant
Dim myColl As New Collection
Dim xVal As Variant
Dim outArray() As Variant
On Error Resume Next
With inputRange
inputArray = Application.Intersect(.Cells, .Parent.UsedRange).Value
End With
On Error GoTo 0
On Error Resume Next
For Each xVal In inputArray
myColl.*** Item:=xVal, Key:=(CStr(xVal) & TypeName(xVal))
Next xVal
myColl.Remove "String"
On Error GoTo 0
ReDim outArray(1 To Application.Max(myColl.Count, Application.Caller.Cells.Count))
For xVal = 1 To UBound(outArray)
outArray(xVal) = vbNullString
Next xVal
For xVal = 1 To Application.Min(myColl.Count, Application.Caller.Cells.Count)
outArray(xVal) = myColl(xVal)
Next xVal
If Application.Caller.Columns.Count = 1 Then
Uniques = Application.Transpose(outArray)
Else
Uniques = outArray
End If
End Function
This comment was minimized by the moderator on the site
Thanks for the code. I'm using the VBA code of this page. Is there a way to add a sorting code after the unique values are extracted so it sorts it automatically?
This comment was minimized by the moderator on the site
Regarding the formula version, could you explain in more detail what this portion is doing? *100+COLUMN($A:$C),7^8)),"R0C00") Specifically, what are the *100, 7^8, and "R0C000" doing? I'm understanding everything else, but I can't figure out what these are for.
This comment was minimized by the moderator on the site
Little late for my response here but...
ROW($2:$9)*100 - this is multiplying the row number *100, so if it's in row 5, now the number is 500
COLUMN($A:$C) - this gets added to the row*100 number, so if it's row 5 col 2, then the number is 502.
7^8)), - this (I think) is to have a max value for the min statement from earlier.
"R0C00") - this formats the text based on the number. In the example, we had 502 so this gives R5C02 (row 5, col 02).

If you have a lot of columns but not many rows, then you could change it to ROW($2:$9)*1000+COLUMN($A:$C),7^8)),"R0C000")
This comment was minimized by the moderator on the site
i've adjusted to my sheet but am only returning the first value in the defined array... what am i missing?
This comment was minimized by the moderator on the site
Hello, Cody,
The above formula works well in my worksheet, could you give a screenshot of your data problem here?
Thank you!
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations