Ana içeriğe atla

Parantez içindeki sayıları yalnızca Excel'de nasıl toplayabilirim?

Metin dizelerinin bir listesi varsa ve tüm sayıları aşağıda gösterilen ekran görüntüsü gibi parantez içinde toplamak istiyorsanız, bunu nasıl hızlı bir şekilde halledebilirsiniz? Bu makalede, parantez içindeki sayıları yalnızca Excel'de toplamanız için bazı hileler sunacağım.


Parantez içindeki sayıları yalnızca formülle toplama

Sadece parantez içindeki sayıları toplamak için, önce parantez içindeki sayıları çıkarabilir ve sonra toplayabilirsiniz.

1. Sayılarını parantez içinde toplamak istediğiniz hücrenin yanında boş bir hücre seçin, örneğin B2, bu formülü girin
=IF(ISERROR(MID(A1,FIND("(",A1)+1,(FIND(")",A1))-(FIND("(",A1)+1))),0,(MID(A1,FIND("(",A1)+1,(FIND(")",A1))-(FIND("(",A1)+1)))+0),
ve sonra her hücreden parantez içindeki sayıları çıkarmak için otomatik doldurma tutamacını aşağı sürükleyin. Ekran görüntüsüne bakın:
parantez 2 içindeki doc toplam sayıları

Bahşiş: Formülde A1, parantez içindeki sayıları ayıklamak istediğiniz hücredir.

2. Toplama sonucunu yerleştireceğiniz bir hücre seçin, girin = TOPLA (B1: B8), ve bas Keşfet anahtar. Ekran görüntüsüne bakın:
parantez 3 içindeki doc toplam sayıları

Bahşiş: formülde, B1: B8, orijinal metin dizesi listesinden çıkardığınız ve özetlemek istediğiniz sayılardır.


Parantez içindeki sayıları yalnızca Tanımlı İşlevle topla

Ayrıca, parantez içindeki sayıları toplamak için Tanımlı İşlev uygulayabilirsiniz.

1. Basın Alt + F11 etkinleştirmek için anahtarlar Uygulamalar için Microsoft Visual Basic Pencere, tıklayın Ekle > modülve aşağıdaki kodu boş komut dosyasına yapıştırın.

VBA: Parantez içindeki toplam sayılar

Function SumBracket(Target As Range) As Double
'UpdatebyExtendoffice20160901
Dim xCell As Range
Dim xObjs As Object, xObj As Object
Dim xSum As Double
Set xObjs = CreateObject("VBScript.RegExp")
xSum = 0
With xObjs
    .Global = True
    .Pattern = "\((\d+(\.\d+)?)\)"

    For Each xCell In Target
      If xCell.Value <> "" Then
        For Each xObj In xObjs.Execute(xCell.Value)
            xSum = xSum + xObj.submatches(0)
        Next
      End If
    Next
End With
SumBracket = xSum
End Function

parantez 4 içindeki doc toplam sayıları

2. Kodu kaydedin ve sonucu yerleştirecek bir hücre seçin ve bu formülü girin = SumBracket (A1: A8), basın Keşfet anahtar. Ekran görüntüsüne bakın:
parantez 5 içindeki doc toplam sayıları


Yalnızca Kutools for Excel ile parantez içindeki sayıları toplama

Aslında, ile Kutools for Excel'S Metni Çıkar parantez içindeki sayıları ayıklama ve ardından Toplam mutlak değerler sayıları toplamak için fonksiyon.

Kutools for Excel, ile daha fazla 300 kullanışlı fonksiyonlar, işlerinizi daha kolay hale getirir. 

Kurduktan sonra Kutools for Excel, lütfen aşağıdaki işlemleri yapın :(Şimdi Excel için Kutools'u Ücretsiz İndirin!)

1. Parantez içindeki sayıları çıkarmak istediğiniz dizeleri seçin ve Korools> Metin > Metni Çıkar. Ekran görüntüsüne bakın:
parantez 6 içindeki doc toplam sayıları

2. içinde Metni Çıkar iletişim kutusu, girin (*) içine Metin metin kutusu ve tıklayın Ekle eklemek için Listeyi çıkar. Sonra tıklayın Okve çıkarılan sayıları açılan iletişim kutusuna yerleştirmek için bir hücre seçmek, örneğin C1. Ekran görüntüsüne bakın:

Not: İçinde başka ayıklama kuralları varsa Listeyi Çıkar bölümünde, lütfen bu ayıklama kurallarının işaretini kaldırın ve yalnızca yeni eklenen ayıklama kuralını kontrol edin (*).


parantez 7 içindeki doc toplam sayıları sağ ok parantez 8 içindeki doc toplam sayıları

3. tık OKve şimdi parantez içindeki sayılar çıkarılır. Varsayılan olarak, parantez içindeki sayılar negatif olarak kabul edilir, mutlak değerlerini toplamanız gerekir.
parantez 9 içindeki doc toplam sayıları

4. Hesaplama sonucunu yerleştireceğiniz hücreyi seçin, tıklayın Kutools > Formül Yardımcısı > Matematik ve Tetik > Toplam mutlak değerler. Ekran görüntüsüne bakın:
parantez 10 içindeki doc toplam sayıları

5. içinde Formül Yardımcısı iletişim kutusunda, çıkarılan sayıları içeren aralığı seçin Numara textbox, C1: C8 bu durumda. Tıklayın Ok, sayıların mutlak değerleri eklendi. Ekran görüntüsüne bakın:

parantez 11 içindeki doc toplam sayıları sağ ok parantez 12 içindeki doc toplam sayıları

İpucu. Ücretsiz deneme sürümüne sahip olmak istiyorsanız Metni Çıkar ve Toplam mutlak değers işlevi lütfen ücretsiz indirin Kutools for Excel önce ve sonra yukarıdaki adımlara göre işlemi uygulamaya gidin.

En İyi Ofis Üretkenlik Araçları

🤖 Kutools AI Yardımcısı: Aşağıdakilere dayalı olarak veri analizinde devrim yaratın: Akıllı Yürütme   |  Kodunu oluşturun  |  Özel Formüller Oluşturun  |  Verileri Analiz Edin ve Grafikler Oluşturun  |  Kutools İşlevlerini Çağır...
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya Tanımla   |  Boş Satırları Sil   |  Veri Kaybı Olmadan Sütunları veya Hücreleri Birleştirin   |   Formülsüz Tur ...
Süper Arama: Çoklu Ölçütlü VLookup    Çoklu Değer VLookup  |   Birden Çok Sayfada VLookup   |   Bulanık Arama ....
Gelişmiş Açılır Liste: Hızla Açılır Liste Oluşturun   |  Bağımlı Açılır Liste   |  Çoklu Seçim Açılır Liste ....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekleme  |  Sütunları Taşı  |  Gizli Sütunların Görünürlük Durumunu Değiştir  |  Aralıkları ve Sütunları Karşılaştırın ...
Öne Çıkan Özellikler: Izgara Odağı   |  Tasarım görünümü   |   Büyük Formül Çubuğu    Çalışma Kitabı ve Sayfa Yöneticisi   |  Kaynak Kütüphanesi (Otomatik metin)   |  Tarih Seçici   |  Çalışma Sayfalarını Birleştirin   |  Hücreleri Şifrele/Şifresini Çöz    E-postaları Listeye Göre Gönder   |  Süper Filtre   |   Özel Filtre (kalın/italik/üstü çizili filtre...) ...
En İyi 15 Araç Seti12 Metin Tools (Metin ekle, Karakterleri Kaldır, ...)   |   50+ Grafik Türleri (Gantt şeması, ...)   |   40+ Pratik Formüller (Yaşı doğum gününe göre hesapla, ...)   |   19 sokma Tools (QR Kodunu Girin, Yoldan Resim Ekle, ...)   |   12 Dönüştürme Tools (Sayılardan Kelimelere, Para Birimi Dönüştürme, ...)   |   7 Birleştir ve Böl Tools (Gelişmiş Kombine Satırları, Bölünmüş hücreler, ...)   |   ... ve dahası

Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar.  En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...

Açıklama


Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
Comments (15)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hello Sunny,

I have a question as well. I have an excel sheet with numbers and some of them are in brackets. I want to add the values of the numbers in a row. Basically:
50 (50*) 100 150 = 350
How can I add (=sum) of all of them, including the one in brackets? I'ld appreciate your advise.
Best, Anna
This comment was minimized by the moderator on the site
Vielen Dank Sonnig,

jetzt ich sehe wo war das Problem. Sie schreiben im VBA und Zelle "." statt wie bei mir "," Ich habe im VBA diese Zeile:
.Pattern = "\((\d+(\.\d+)?)\)"
in diese:
.Pattern = "\((\d+(\,\d+)?)\)"
geändert und dann funktioniert alles perfekt.

Noch mall vielen, vielen Dank.
Schöne Grüße

Wojtek
This comment was minimized by the moderator on the site
...ich meinte addieren Dezimalbruche 🙂
This comment was minimized by the moderator on the site
Hi, Wojtek, if you just want to sum the decimal numbers only, try this code:
Function SumBracket(Target As Range) As Double
'UpdatebyExtendoffice20221209
Dim xCell As Range
Dim xObjs As Object, xObj As Object
Dim xSum As Double
Dim xNum As Integer
On Error Resume Next
Application.Volatile
Set xObjs = CreateObject("VBScript.RegExp")
xSum = 0
With xObjs
    .Global = True
    .Pattern = "\((\d+(\.\d+)?)\)"

    For Each xCell In Target
      If xCell.Value <> "" Then
        For Each xObj In xObjs.Execute(xCell.Value)
            xSum = xSum + Val(xObj.submatches(0)) - Int(Val(xObj.submatches(0)))
        Next
      End If
    Next
End With
SumBracket = xSum
End Function
This comment was minimized by the moderator on the site
Hallo Sonnig,
vielen Dank für die schnelle Antwort 😀. Um die Ganze klar zu machen gebe ich ein Beispiel meiner Aufgabe:

a(5), b(2,5), c(0,25) = 7,75

wie gesagt, mit:

a(5), b(2), c(21) im eine Zelle funktioniert die erste Makro super.

Vielen Dank und schöne Grüße
Wojtek
This comment was minimized by the moderator on the site
Sorry, Wojtek, I do undestand Geman, I just translate your question by Google so that I do not get your question clearly. Could you give me more description, for example, the data structure, are they in a cell or in different cell, in a column or in a row, what result you want.
This comment was minimized by the moderator on the site
Hallo Sonnig,

noch mal vielen Dank für die Mühe.

Geht um Summe alle Zahlen die in der Klammer stehen...
Erste Zelle: 458/1(2,5), 458/2(11), 458/3(0,75)
Zweite Zelle: Summe von 2,5 und 11 und 0,75
alles was in der Klammer steht in der erste Zelle sollte summiert sein. das Ergebnis soll in der Zweite Zelle erscheinen.

Vielen Dank und schöne Grüße
Wojtek
This comment was minimized by the moderator on the site
Hallo,
danke, Makro funktioniert super, aber leider nur mit Ganze Zahl, nicht mit Bruchzahl. Wäre das möglich zu ändern?
This comment was minimized by the moderator on the site
I'm sorry, I meant adding the numbers outside the bracket.
This comment was minimized by the moderator on the site
Hi, Adduar, I do not find a formula to solve your problem, maybe you only can use the Extract Text tool of Kutools for Excel to extract the numbers first, and then sum them, the conditions are *( and )*.
This comment was minimized by the moderator on the site
How to add numbers within the bracket?
This comment was minimized by the moderator on the site
Hi, How do I modify the pattern to sum everything between F-( and )


Example of my data is: F-(10) F-(12) E-(8)


the sum would be 22


thanks
This comment was minimized by the moderator on the site
Hi, Andy, please try this code:
Function SumBracket(Target As Range) As Double
'UpdatebyExtendoffice20160901
Dim xCell As Range
Dim xObjs As Object, xObj As Object
Dim xSum As Double
Set xObjs = CreateObject("VBScript.RegExp")
xSum = 0
With xObjs
.Global = True
.Pattern = "\-\((\d+(\.\d+)?)\)"

For Each xCell In Target
If xCell.Value <> "" Then
For Each xObj In xObjs.Execute(xCell.Value)
xSum = xSum + xObj.submatches(0)
Next
End If
Next
End With
SumBracket = xSum
End Function
This comment was minimized by the moderator on the site
Hello, is there a Google App Script version of the VBA script. I would like to use it in Google Sheets.
Thanks. :D
This comment was minimized by the moderator on the site
Sorry I do not know
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations