formüllü hücreyi formülle toplama

Katılım
27 Kasım 2010
Mesajlar
7
Excel Vers. ve Dili
2007 türkçe
B1 hücresine girdiğim =+EĞER(EMETİNSE(A1);"1";" ") formülünü yine formülle toplamak istiyorum yardımcı olurmusunuz arkadaşlar
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Sorunuz anlaşılmıyor. Daha detaylı açıklarmısınız.

.
 
İ

İhsan Tank

Misafir
B1 hücresine girdiğim =+EĞER(EMETİNSE(A1);"1";" ") formülünü yine formülle toplamak istiyorum yardımcı olurmusunuz arkadaşlar
merhaba
formülü
Kod:
=+EĞER(EMETİNSE(A1);1;0)
bununla değişir misiniz
toplam almak için ise
Kod:
=TOPLA([COLOR="Red"]$B:$B[/COLOR])
bunu kullanabilirsiniz
kırmızı olan yeri formülün olduğu sütunla değişiriniz
 
Son düzenleme:
Katılım
27 Kasım 2010
Mesajlar
7
Excel Vers. ve Dili
2007 türkçe
Teşekkürler İhsan bey oldu ama ben hücrede metin yokken '0' yazmasını istemiyordum onuda formülü =+EĞER(EMETİNSE(A1);1;" ") şeklinde yazarak hallettim. İlginiz için tekrar teşekkür ederim bütün arkadaşlara.
 
İ

İhsan Tank

Misafir
Teşekkürler İhsan bey oldu ama ben hücrede metin yokken '0' yazmasını istemiyordum onuda formülü =+EĞER(EMETİNSE(A1);1;" ") şeklinde yazarak hallettim. İlginiz için tekrar teşekkür ederim bütün arkadaşlara.
yalnız formülü öyle yazdığınızda toplam alamazsınız bilginiz olsun
ben sizin yerinizde olsam
formülü
Kod:
=+EĞER(EMETİNSE(A1);1;0)
bu şekilde kullanır
ve hücre biçimlendirme isteğe uyarlanmış tür bölümüne
Kod:
[=0]"";Genel
bunu yazardım hem sıfırlar görnmezki hem de hesaplamayı doğru yapardı.
ama genede sizin kendi fikriniz
 
Katılım
27 Kasım 2010
Mesajlar
7
Excel Vers. ve Dili
2007 türkçe
Teşekkür ederim İhsan bey sizin tavsiye ettiğiniz gibi yaptım. Çok güzel oldu. Ben excelde biraz yeniyim bi sorum daha olacak yapılabilirmi bilmiyorum ama yapılabileceğini düşünüyorum yardım ederseniz çok sevinirim.
Örnek dosyayı gönderiyorum örnek dosyada 1,2 ve 3. sayfalardaki elma miktarlarını (miktarları sizin tavsiyenizle yazdığım formülle yazılmıştır) 4. sayfada elmanın karşısına arattırarak toplamak istiyorum.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,276
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

İstediğiniz işlemi kullanıcı tanımlı fonksiyonla yani makro ile yapabilirsiniz.

ALT+F4 tuşlarına basın. Karşınıza kod editörü açılacaktır.
INSERT menüsünü kullanarak bir adet boş Module ekleyin. Sağ tarafta boş beyaz bir pencere açılacaktır.
Aşağıdaki kodu bu pencereye uygulayın.

Kod:
Option Explicit
 
Function BUL_TOPLA(Kriter As Range)
    Dim Sayfa As Worksheet, BUL As Range
    
    For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name <> "Sayfa4" Then
            Set BUL = Sayfa.Cells.Find(Kriter, LookAt:=xlWhole)
            If Not BUL Is Nothing Then
                BUL_TOPLA = BUL_TOPLA + BUL.Offset(0, 1)
            End If
        End If
    Next
End Function

Son olarak Sayfa4 B1 hücresine aşağıdaki formülü uygulayın.

Kod:
=BUL_TOPLA(A1)
 
Katılım
27 Kasım 2010
Mesajlar
7
Excel Vers. ve Dili
2007 türkçe
İlginiz için teşekkür ederim Korhan bey ama ya ben yapamadım yada istediğimi tam olarak anlatamadım. Formülü ilk yazdığımda bulup topluyor ama farklı hücrelere yeni elmalar ekleyince veya elmanın yerini değiştirince bulup toplamıyor sildiğim zamanda toplamdan düşmüyor .
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,276
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Birde aşağıdaki kodu denermisiniz.

Kod:
Option Explicit
 
Function BUL_TOPLA(Kriter As Range)
    Dim Sayfa As Worksheet, BUL As Range, Adres As String
 
    Application.Volatile True
 
    For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name <> "Sayfa4" Then
            Set BUL = Sayfa.Cells.Find(Kriter, LookAt:=xlWhole)
            If Not BUL Is Nothing Then
            Adres = BUL.Address
            Do
                BUL_TOPLA = BUL_TOPLA + BUL.Offset(0, 1)
            Set BUL = Sayfa.Cells.Find(What:=BUL.Value, After:=BUL)
            Loop While Not BUL Is Nothing And BUL.Address <> Adres
            End If
        End If
    Next
End Function
 

Ekli dosyalar

Katılım
27 Kasım 2010
Mesajlar
7
Excel Vers. ve Dili
2007 türkçe
Çok teşekkür ederim. Çok güzel oldu. Bu kodları nasıl yazıyorsunuz. Bunu nasıl öğreniriz. Ben kendimi geliştirmek istiyorum bu konuda.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,276
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Forumun DERSANE ve UYGULAMALI EXCEL EĞİTİMİ bölümlerini detaylıca inceleyerek kendinizi kolaylıkla geliştirebilirsiniz. Ayrıca forumun kitap satış bölümünden kendinize kitap edinip bilgilerinizi pekiştirerek ilerlerseniz daha sağlam adımlar atmış olursunuz.
 
Katılım
27 Kasım 2010
Mesajlar
7
Excel Vers. ve Dili
2007 türkçe
Selamlar,

Forumun DERSANE ve UYGULAMALI EXCEL EĞİTİMİ bölümlerini detaylıca inceleyerek kendinizi kolaylıkla geliştirebilirsiniz. Ayrıca forumun kitap satış bölümünden kendinize kitap edinip bilgilerinizi pekiştirerek ilerlerseniz daha sağlam adımlar atmış olursunuz.
Verdiğiniz bilgiler için teşekkür ederim. Birde en son verdiğiniz kod ile ilgili bir problemim daha var. formülü yazdığımda aranacak hücre boşsa #DEĞER hatası veriyor ve excel sayfası bir süre donuyor. Bunu nasıl düzeltebilirim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,276
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Basit bir sorgu ifadesi ile bu sorun aşılabilir. Aşağıdaki şekilde deneyiniz.

Kod:
Option Explicit
 
Function BUL_TOPLA(Kriter As Range)
    Dim Sayfa As Worksheet, BUL As Range, Adres As String
 
    Application.Volatile True
 
    [COLOR=red]If Kriter = Empty Then Exit Function[/COLOR]

    For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name <> "Sayfa4" Then
            Set BUL = Sayfa.Cells.Find(Kriter, LookAt:=xlWhole)
            If Not BUL Is Nothing Then
            Adres = BUL.Address
            Do
                BUL_TOPLA = BUL_TOPLA + BUL.Offset(0, 1)
            Set BUL = Sayfa.Cells.Find(What:=BUL.Value, After:=BUL)
            Loop While Not BUL Is Nothing And BUL.Address <> Adres
            End If
        End If
    Next
End Function
 
Katılım
27 Kasım 2010
Mesajlar
7
Excel Vers. ve Dili
2007 türkçe
Selamlar,

Basit bir sorgu ifadesi ile bu sorun aşılabilir. Aşağıdaki şekilde deneyiniz.

Kod:
Option Explicit
 
Function BUL_TOPLA(Kriter As Range)
    Dim Sayfa As Worksheet, BUL As Range, Adres As String
 
    Application.Volatile True
 
    [COLOR=red]If Kriter = Empty Then Exit Function[/COLOR]

    For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name <> "Sayfa4" Then
            Set BUL = Sayfa.Cells.Find(Kriter, LookAt:=xlWhole)
            If Not BUL Is Nothing Then
            Adres = BUL.Address
            Do
                BUL_TOPLA = BUL_TOPLA + BUL.Offset(0, 1)
            Set BUL = Sayfa.Cells.Find(What:=BUL.Value, After:=BUL)
            Loop While Not BUL Is Nothing And BUL.Address <> Adres
            End If
        End If
    Next
End Function
Teşekkür ederim. Çok güzel oldu. Sayenizde tam istediğim gibi bir çalışma hazırladım. Çok başarılısınız. Bu verdiğiniz kodları Excel sayfaları arasında değilde excel dosyaları arasında kullanmak istersem nasıl düzenlemeliyim.
 
Üst