• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Soru metin içerisindeki rakamları toplama

  • Konbuyu başlatan Konbuyu başlatan Mesafe
  • Başlangıç tarihi Başlangıç tarihi
Katılım
29 Kasım 2011
Mesajlar
235
Excel Vers. ve Dili
Excel 2016 English
Merhaba,
bir hücre içerisinde düzenli olarak yazan metin ile birlikteki rakamları yine yanındaki hücreye yazılacak formül ile toplamak istiyorum.
 

Ekli dosyalar

Merhaba,
Deneyiniz.
DİZİ formülüdür.
Kod:
=TOPLA(EĞERHATA(--PARÇAAL(A1;SATIR(DOLAYLI("A1:A"&UZUNLUK(A1)));1);0))
 
Aşağıdaki kodları bir modüle kopyalayın:

PHP:
Private Function say(hucre As Range)
If hucre <> "" Then
    dizi = Split(hucre, " ")
    toplam = 0
    For i = 0 To UBound(dizi) - 1
        If IsNumeric(dizi(i)) Then
            toplam = toplam + dizi(i)
        End If
    Next
End If
say = toplam
End Function

Sonuç alacağınız hücrede =SAY(A1) şeklinde kullanabilirsiniz.
 
Alternatif;

Dosyanızda ki yapıya göre ondalıklı değerler varsa bunları da toplar.

Kullanım şekli ; =KTOPLA(A1;"+")


Boş bir modüle uygulayınız.

C++:
Option Explicit

Function KTOPLA(Veri As Range, Optional Ayıraç As String = "+")
    Dim Karakter As Variant
    Application.Volatile True
    With CreateObject("VbScript.RegExp")
        .Global = True
        .Pattern = "[^0-9," & Ayıraç & "]"
         Karakter = Replace(.Replace(Replace(Veri.Value, ".", ","), ""), ",", ".")
         KTOPLA = Evaluate(Karakter)
    End With
End Function
 
İyi çalışmalar.
 
Denedim ama başarılı olamadım nerde hata yapıyorum acaba
 
Hangi çözümü denediniz?
 
Merhaba,
Deneyiniz.
DİZİ formülüdür.
Kod:
=TOPLA(EĞERHATA(--PARÇAAL(A1;SATIR(DOLAYLI("A1:A"&UZUNLUK(A1)));1);0))
Sizin burada yazmış olduğunuz sadece rakamları getiriyor benim istediğim ise N5 VEYA F5 harf fark etmeksizin harfin içinde yazan rakamları yan yana toplayacak yanında N rakam yazmayanı saymadan toplayacak. Uğraştım yapamadım.
 
Option Explicit

Function KTOPLA(Veri As Range, Optional Ayıraç As String = "+")
Dim Karakter As Variant
Application.Volatile True
With CreateObject("VbScript.RegExp")
.Global = True
.Pattern = "[^0-9," & Ayıraç & "]"
Karakter = Replace(.Replace(Replace(Veri.Value, ".", ","), ""), ",", ".")
KTOPLA = Evaluate(Karakter)
End With
End Function
Hangi çözümü denediniz?
Kod bölümüne yazdım ama sonuç alamadım arkadaşın sorduğu ve istediği nedir bilmiyorum benim istediğim ise şu yardımcı olursanız sevinirim.
N5 N5 N6 N8 N7 N1 N2 N N N N N N N3 N6 N8 Bunun gibi yan yana harf fark etmeksizin sadece harfin içindeki rakamları toplayım yazacak istediğim hücreye kısacası mesai toplamaya çalışıyorum.
 
Örnek dosya paylaşarak yapmak istediğiniz işlemi açıklar mısınız?

Dosya barındırma sitelerine örnek dosyanızı yükleyip linkini burada paylaşabilirsiniz.
 
Sizin burada yazmış olduğunuz sadece rakamları getiriyor benim istediğim ise N5 VEYA F5 harf fark etmeksizin harfin içinde yazan rakamları yan yana toplayacak yanında N rakam yazmayanı saymadan toplayacak. Uğraştım yapamadım.

Mahir Bey'in verdiği formül, Dizi Formül, Siz formülü dizi formül olarak yani formülü yazdıktan sonra Ctrl+Shift+Enter ile girdiniz mi?
 
Sizin burada yazmış olduğunuz sadece rakamları getiriyor benim istediğim ise N5 VEYA F5 harf fark etmeksizin harfin içinde yazan rakamları yan yana toplayacak yanında N rakam yazmayanı saymadan toplayacak. Uğraştım yapamadım.
Merhaba,
Deneyiniz.
DİZİ formülüdür.
Kod:
=TOPLA(EĞERHATA(--PARÇAAL(A1;SATIR(DOLAYLI("A1:A"&UZUNLUK(A1)));1);0))


Hocam bu formül eksi değerdeki rakamları toplamıyor. Eksi olanları da toplatabilir miyiz
 
Geri
Üst