Hücrede Kaç Adet Benzersiz Harf Var

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,432
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
20,277
Excel Vers. ve Dili
2016-Türkçe
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
70
Excel Vers. ve Dili
office2007
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,432
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,432
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

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
28,812
Excel Vers. ve Dili
OFFICE 2019 PRO TR
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,432
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