Hücrede Kaç Adet Benzersiz Harf Var

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Merhaba Arkadaşlar,
Bir hücrede kaç adet BENZERSİZ HARF olduğunu hesaplatabilir miyiz ! (tüm veriler büyük harf)
Örneğin;
AYVA = 3
KAYYUM = 5
SİİRT = 4
KANUN = 4
GİTAR = 5
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,196
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Dizi formülüdür.
Kod:
=BAĞ_DEĞ_SAY(1/SIKLIK(KAÇINCI(PARÇAAL(A1;SATIR(DOLAYLI("1:"&UZUNLUK(A1)));1)
 ;PARÇAAL(A1;SATIR(DOLAYLI("1:"&UZUNLUK(A1)));1);0);SATIR(DOLAYLI("1:"&UZUNLUK(A1)))))
 
Katılım
20 Şubat 2012
Mesajlar
242
Excel Vers. ve Dili
office2007 Türkçe
Bulunduğu link

Kod:
Public Function UniqueChars(ByVal OrigString As String) _
  As String

'INPUT: ANY STRING
'OUTPUT: The Unique Characters of the string, in the order
'        They First appear
'Example: Debug.Print(UniqueChars("FreeVBCode")):
'         Outputs: FreVBCod

Dim oCol As New Collection
Dim sAns As String
Dim lCtr As Long, lCount As Long
Dim sChar As String

lCount = Len(OrigString)

For lCtr = 1 To lCount
    sChar = Mid(OrigString, lCtr, 1)
    On Error Resume Next
    oCol.Add sChar, sChar
    If Err.Number = 0 Then sAns = sAns & sChar
    Err.Clear
Next

UniqueChars = sAns

End Function

Public Function UniqueCharCount(ByVal TheString As String) _
   As Long
    UniqueCharCount = Len(UniqueChars(TheString))
End Function
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Merhaba,

Dizi formülüdür.
Kod:
=BAĞ_DEĞ_SAY(1/SIKLIK(KAÇINCI(PARÇAAL(A1;SATIR(DOLAYLI("1:"&UZUNLUK(A1)));1)
;PARÇAAL(A1;SATIR(DOLAYLI("1:"&UZUNLUK(A1)));1);0);SATIR(DOLAYLI("1:"&UZUNLUK(A1)))))
Ömer üstadım, emeğinize sağlık, çok teşekkür ediyorum. Sağlıcakla kalın
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Bulunduğu link

Kod:
Public Function UniqueChars(ByVal OrigString As String) _
  As String

'INPUT: ANY STRING
'OUTPUT: The Unique Characters of the string, in the order
'        They First appear
'Example: Debug.Print(UniqueChars("FreeVBCode")):
'         Outputs: FreVBCod

Dim oCol As New Collection
Dim sAns As String
Dim lCtr As Long, lCount As Long
Dim sChar As String

lCount = Len(OrigString)

For lCtr = 1 To lCount
    sChar = Mid(OrigString, lCtr, 1)
    On Error Resume Next
    oCol.Add sChar, sChar
    If Err.Number = 0 Then sAns = sAns & sChar
    Err.Clear
Next

UniqueChars = sAns

End Function

Public Function UniqueCharCount(ByVal TheString As String) _
   As Long
    UniqueCharCount = Len(UniqueChars(TheString))
End Function
excelokyanus500 üstadım, emeğinize sağlık, çok teşekkür ediyorum. Sağlıcakla kalın
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,453
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatif;

KTF;

C++:
Option Explicit

Function BENZERSİZ_HARF_SAY(Alan As Range)
    Dim X As Long
   
    Application.Volatile True
   
    With CreateObject("Scripting.Dictionary")
        For X = 1 To Len(Alan.Value)
            If Not .Exists(Mid(Alan.Value, X, 1)) Then
                .Add Mid(Alan.Value, X, 1), 1
            End If
        Next
        BENZERSİZ_HARF_SAY = .Count
    End With
End Function
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Alternatif;

KTF;

C++:
Option Explicit

Function BENZERSİZ_HARF_SAY(Alan As Range)
    Dim X As Long
  
    Application.Volatile True
  
    With CreateObject("Scripting.Dictionary")
        For X = 1 To Len(Alan.Value)
            If Not .Exists(Mid(Alan.Value, X, 1)) Then
                .Add Mid(Alan.Value, X, 1), 1
            End If
        Next
        BENZERSİZ_HARF_SAY = .Count
    End With
End Function
Korhan Ayhan üstadım harika bir alternatif oldu. Emeğinize sağlık, çok teşekkür ederim. Sağlıcakla kalın
 
Üst