Bir hücrede karışık halde bulunan veriden rakam ve sayıyı ayrı ayrı sayma

Katılım
2 Ocak 2023
Mesajlar
4
Excel Vers. ve Dili
2016
Merhaba,
Bir sütundaki her hücrede rakam ve metin olarak belirli bir düzen içinde bulunmayan veriler var. Örneğin (ali,10, 1,3-5, avs1,12) buradan "10" ile "1" i tüm sütunda ayrı ayrı saymam gerekiyor. Ancak 1 i saydırmam gerektiğinde verinin içinde 1 olmayıp, 10 olduğunda 1 varmış gibi sayıyor. Özetle bu karışık verinin içinde 1 i saysın fakat 10'u saymasın istiyorum. nasıl yapabilirim?
Cevap verenlere şimdiden teşekkürler...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,230
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Verinizin A1 hücresinde olduğunu varsaydım.

Deneyip sonucu bildirirseniz sevinirim.

Sürümünüz Türkçe ise önerdiğim formülü çevirmelisiniz.

C++:
=LEN(A1&",")-LEN(SUBSTITUTE(A1&",";"1,";","))
 
Katılım
2 Ocak 2023
Mesajlar
4
Excel Vers. ve Dili
2016
UZUNLUK(A2&",")-UZUNLUK(YERİNEKOY(A2&",";"1,";",")) şeklinde Türkçe'ye çevirdim. Verdiğim örneğe uyguladığımızda (ali,10, 1,3-5, avs1,12) sonucu doğru çıkarmakla birlikte formül çok spesifik kalıyor. Yani 1 yerine 10'u veya bir hücredeki veriyi (+B1 hücresi gibi) aramak istediğimizde veya sadece
(1-6) şeklinde veri içeren bir hücrede sonucu çıkarmıyor. Burdaki yerinekoy (SUBSTITUTE) formülünde değiştirilmek istenen metni "1," şeklinde yapmak yerine her hücreye uygun olacak şekilde ( "*"&B1&"*") joker karakter kullanabilirsek sorunu çözebilecez gibi ama bunu yerine koy formülünde yapamıyoruz.

İlginiz ve emeğiniz için teşekkürler...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,230
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Siz bir adet örnek veri paylaştığınız için tam formül öneremiyorum. Asıl dosyanızın yapısına göre 10-15 farklı örnek veri içeren bir dosya paylaşırsanız formül-makro çözüm önerileri olabilir.
 
Katılım
2 Ocak 2023
Mesajlar
4
Excel Vers. ve Dili
2016
Aşağıda örnek amaçlı bir tablo gönderiyorum. Veriler sütunundaki sayıları sağdaki (1,2,3... ) karşılık gelen sütunların altına kaç tane oldukları yazmamız gerekiyor. Sorun 1 veya 2 gibi rakamlar ile 10, 11'i veya 20,21 gibi sayıları ayıramıyoruz.

Veriler

1

2

10

4

20

21

7

15

16

11

1-6

          

1,10,2

          

1.5.6.8.20

          

1+8+4, vs3

          

1*6*10-12

          

1.5.6.8.20, ali

          

1+6+12, ahmet

          

11-27-21

          

12/16, kitap10

          

ali,10, 1,3-5, avs1,12

          
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,230
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Verdiğiniz örneğe göre aşağıdaki KTF daha uygun görünüyor.

=NUMBER_COUNT($A2;B$1)

C++:
Option Explicit

Function NUMBER_COUNT(Rng As Range, Criteria As Range)
    Dim My_Text As Object, My_Number As Object
    
    Application.Volatile True
        
    With VBA.CreateObject("VBScript.RegExp")
        .Pattern = "\d+"
        .Global = True
        Set My_Text = .Execute(Rng.Value)
        For Each My_Number In My_Text
            If CDbl(My_Number) = Criteria.Value Then
                NUMBER_COUNT = NUMBER_COUNT + 1
            End If
        Next
    End With
End Function


241860
 

Ekli dosyalar

Katılım
2 Ocak 2023
Mesajlar
4
Excel Vers. ve Dili
2016
Tamam hocam bu şekilde denedim çalışıyor. Tekrar teşekkür ederim. Emeğinize sağlık...
 
Üst