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
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
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
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,314
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
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