Hücredeki değere göre yandaki hücreleri aralarına "+" ekleyerek birleştirme

Katılım
26 Mayıs 2005
Mesajlar
23
Sayın Hocam İyi Günler, içinden çıkamadığım şöyle bir sorum var, nasıl çözebilirim? Yardımcı olur musunuz? Microsoft Office2007 kullanıyorum.
Eğer S9 hücresi 1 ise T9 Hücresine AJ9 hücresindeki değeri, S9 hücresi 2 ise T9 Hücresine AK9+AJ Hücresindeki değeri yani (3+1,5)… S9 hücresi 7 ise T9 Hücresine AP9+AO9+AN9+AM9+AL9+AK9+AJ9 Hücresindeki değeri yani (10,5+9+7,5+6+4,5+3+1,5)… Bu şekilde 7 kez EĞER kullandım ve T sütununu gizledim
Ör.=EĞER(S9=1;AJ9&"";EĞER(S9=2;""&AK9&"+"&AJ9&"";……EĞER(S9=7;""&AP9&"+"&AO9&"+"&AN9&"+"&AM9&"+"&AL9&"+"&AK9&"+"&AJ9&"";"")))))))
U Sütununa aynı yöntemle S9 hücresi 8, 9, 10, 11, 12, 13, 14 ise yine yedi kez EĞER kullanarak AW9 ile AJ9 arasındaki değerleri formüle edip U sütununu gizledim.
V Sütununa aynı yöntemle S9 hücresi 15, 16, 17, 18, 19, 20, 21 ise yedi kez EĞER kullanarak BD9 ile AJ9 arasındaki değerleri formüle edip V sütununu gizledim
Son olarak W sütununa aynı yöntemle S9 hücresi 22, 23, 24, 25, 26 ise beş kez EĞER kullanıp BI9 ile AJ9 arasındaki değerleri formüle edip W9 hücresini de gizleyip
En son yazdığım formül:
EĞER(S9=26;""&BI9&"+"&BH9&"+"&BG9&"+"&BF9&"+"&BE9&"+"&BD9&"+"&BC9&"+"&BB9&"+"&BA9&"+"&AZ9&"+"&AY9&"+"&AX9&"+"&AW9&"+"&AV9&"+"&AU9&"+"&AT9&"+"&AS9&"+"&AR9&"+"&AQ9&"+"&AP9&"+"&AO9&"+"&AN9&"+"&AM9&"+"&AL9&"+"&AK9&"+"&AJ9&"";"")
= EĞER(T9="";EĞER(U9="";EĞER(V9="";W9;V9);U9);T9);0) formülünü kullanarak X9 hücresinde toplam 26 değerin gözükmesini sağladım.
Ancak S9 hücresi 27 ise BE9 ile AJ9 arasındaki değerleri W sütununa yazmak için formüle ettiğimde
“Belirtilen formül geçerli dosya biçiminde izin verilenden daha çok değer, başvuru ve/veya ad içerdiğinden girilemiyor.” Şeklinde uyarı veriyor.
Oysaki S9 hücresi 28 ise BG9 ile AJ9 arasındaki değerlerin W hücresinde gözükmesini sağlamam gerekiyordu.
Yine aynı formül yöntemini kullanarak S9 hücresinin değerinin 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, ve en son 48 olduğunda BZ9 ile AJ9 arasındaki değerleri örneğin atıyorum X9 hücresinde gözükmesini sağlayacaktım.
Formülle olmayacağını anladım, acaba makro ile ya da benim bilemediğim başka bir formül kullanma yöntemi ile çözmek mümkün mü? Eğer Makro ile yardım edebilecek hocalarım olursa makroyu S10, S11, S12……. S52 hücrelerine de uygulamak istesem mümkün mü? Makro adı “Hücre Değerileri Aralarına + Ekleyerek Birleştirme” ya da başka bir ad diyebilirsiniz… Mehmet Bayralı Fen ve Teknoloji Öğretmeni
 
Katılım
6 Kasım 2004
Mesajlar
199
Excel Vers. ve Dili
Excel 2016
Türkçe 64 BIT
Altın Üyelik Bitiş Tarihi
25-07-2023
Merhaba,
Özel bilgilerinizi silerek örnek dosya eklerseniz yardımcı olmak isteyenler çıkacaktır.
 
Katılım
8 Ekim 2009
Mesajlar
642
Excel Vers. ve Dili
Office 2010 & 2016 TR
Altın Üyelik Bitiş Tarihi
26-12-2023
İsteğinizi karşılar mı bilmiyorum, istediğinizi doğru mu anladım onu da bilmiyorum. Verdiğiniz hücre bilgilerine göre; T9 hücresine =TOPLA(AJ9:DOLAYLI(ADRES(9;35+S9;1;1))) yazıp dener misiniz?
 
Son düzenleme:
Katılım
26 Mayıs 2005
Mesajlar
23
Merhaba,
Özel bilgilerinizi silerek örnek dosya eklerseniz yardımcı olmak isteyenler çıkacaktır.
Merhaba,
Özel bilgilerinizi silerek örnek dosya eklerseniz yardımcı olmak isteyenler çıkacaktır.
@tugkan arkadaşım nasıl dosya eklerim bilemedim. Altın üye değilim, altın üye olmayanların dosya ekleme opsiyonu var mı bilmiyorum ya da nasıl dosya ekleyip gönderebilirim...
 
Katılım
26 Mayıs 2005
Mesajlar
23
.

Buradaki dosyayı kendi dosyanıza göre uyarlayın.

Burada verdiğim Kullanıcı Tanımlı Fonksiyondur. İstediğiniz yere ve seçtiğiniz alana göre kullanmanız mümkün.

http://s7.dosya.tc/server12/f0z0wk/aralara_.rar.html

.
İdris hocam ilginize teşekkür ederim. Sanırım formülünüz işimi görecek. Ancak sıkıntım şu ki düzenlediğiniz formül üzerinden hareketle A5 hücresi 1 ise D1 hücresindeki değer B5 hücresinde gözüküyor buraya kadar tamam, fakat bundan sonrası için A5 hücresi 2 ise önce E5+D5 şeklinde yani 1,75+1,5 ya da A5 hücresi 3 ise F5+E5+D5 şeklinde yani 2+1,75+1,5 ....... ya da A5 hücresi 35 ise AL5+AK5+AJ5 ……+……. D5 hücresi arasındaki değerler yani 9,83+9,59+9,35 .....+...... 1,5 şeklinde nasıl sıralanır.
Özetlersek A5 hücresi 1 ise D1 hücresindeki değer gözükmesi gerekiyor, A5 hücresi 2 ve ya daha büyükse büyük değerden küçük değere göre sıralanması mümkün mü? Ya da nasıl yapabiliriz. Belirttiğim sorunun ikinci paragrafında yaptığım açıklama ve örneğim (açıklamanın uzun olması nedeniyle) sanırım dikkatinizden kaçtı. İkinci paragrafa ve örneğime yoğunlaşabilirseniz büyükten küçüğe doğru konusunun tarafınızdan da anlaşılacağını umuyorum. Emeğinize sağlık...
 
Son düzenleme:
Katılım
26 Mayıs 2005
Mesajlar
23
.

Herhalde istediğiniz böyle bir şey.

https://www.dosyaupload.com/mNi3

.
İdris hocam emeğinize, yüreğinize sağlık. Uğraştınız, zaman harcadınız,sonunda taşı gediğine yerleştirdiniz. İstediğim tam buydu, beni EĞER lerden kurtardınız. Aynı formülü diğer hücrelere (siz A5 hücresine uygulamışsınız, A6 ya da A8 ya da A9 hücresindeki değer, atıyorum 3 ise 3 ün alması gereken değer için aynı formülü uygulasam çözüm olur mu? Zamanınız uygun olduğunda kullandığınız formülün mantığını (öğrenmemiz adına) izah eder misiniz? :love::love::love:
Benim bahsettiğim konu dosyasının linkini veriyorum hocam.
https://drive.google.com/open?id=15H8ZG3vefZo9-ts8FrZN2vp0rEFnWwc6
 
Son düzenleme:
Katılım
26 Mayıs 2005
Mesajlar
23
.

Herhalde istediğiniz böyle bir şey.

https://www.dosyaupload.com/mNi3

.
Hocam iyi günler, en son formülü B6, B7, B8 ve diğer hücrelere uyguladığımda ve atıyorum A6 hücresine 5, A7 hücresine 9, A8 hücresine 13 yazdığımda A5 hücresindeki değerin aldığı değer ne ise diğer hücrelerde de (B6, B7, B8) aynısı gözüküyor. Bunu nasıl düzeltebiliriz? Ayıracağınız zaman için çok teşekkürler. Olmasını istediğim dosya örneğinin linkini ekte sundum fırsatınız olursa bakabilir misiniz? https://drive.google.com/open?id=15H8ZG3vefZo9-ts8FrZN2vp0rEFnWwc6
 

Korhan Ayhan

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

Aşağıdaki kullanıcı tanımlı fonksiyonu kullanabilirsiniz. Sıralama fonksiyon içinde yapılmaktadır.

Kod:
Option Explicit

Function KBİRLEŞTİR(Alan As Range, Ay_Sayısı As Variant, Optional Ayıraç As String = "+")
    Dim Veri As Range, Say As Long, Liste As Variant
    
    Application.Volatile True
    
    If Ay_Sayısı = "" Or Ay_Sayısı < 1 Then
        KBİRLEŞTİR = ""
        Exit Function
    End If
    
    With CreateObject("System.Collections.ArrayList")
        For Each Veri In Alan
            If Say = Ay_Sayısı Then Exit For
            .Add Veri.Value
            Say = Say + 1
        Next
        
        .Sort
        .Reverse
        Liste = .ToArray
        KBİRLEŞTİR = Join(Liste, Ayıraç)
    End With
End Function
 

Ekli dosyalar

Katılım
26 Mayıs 2005
Mesajlar
23
Hocam çok teşekkür ederim, Allah ömrünüze bereket versin. Sayenizde sorun çözüldü. Esenlikler dilerim.
İdris Serdar Hocam İyi Akşamlar
Sizin daha önce örnekle açıkladığınız çözümde ekte sunduğum dosyadaki gibi bir sorunla karşılaştım. Örneğinizdeki mantığı çözemediğim için çeşitli denemelerden de (sütun ve satır rakamlarının değerini değiştirme vs..) sonuç alamadım. Nasıl çözeceğimi ya da fırsat bulup çözümün mantığını açıklayabilirseniz sizi bu konuda tekrar zahmete sokmayacağımı düşünüyorum. Yardımlarınız için şimdiden şükranlarımı sunuyorum.
https://drive.google.com/file/d/1UCKUBUCEnONlcgYsNhgQAtOtiu9r2x_3/view?usp=sharing
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,454
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
16 nolu mesajımdaki alternatif çözümü denediniz mi?
 
Katılım
26 Mayıs 2005
Mesajlar
23
16 nolu mesajımdaki alternatif çözümü denediniz mi?
Korhan hocam az önce denedim fakat beceremedim, kod nasıl kullanılır bilmiyorum ayrıca mantığını çözemiyorum. Mümkün olduğunca formül kullanmayı (kendi açımdan) daha anlaşılır ve kolay buluyorum. Ancak kod uygulamasını birilerine danışarak (yakın çevremde anlayan olmasa da) çözmeye çalışacağım ve deneyeceğim. İlginize teşekkür ederim.
 
Son düzenleme:
Üst