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?
Eğer A1 hücresi 1 ise B1 Hücresine C1 hücresindeki değeri, A1 hücresi 2 ise B1 Hücresine C1+D1 Hücresindeki değeri yani (1,5+3), A1 hücresi 3 ise B1 Hücresine C1+D1+E1 Hücresindeki değeri (yani 1,5+3+4,5), A1 hücresi 3 ise B1 Hücresine C1+D1+E1 Hücresindeki değeri (yani 1,5+3+4,5), A1 hücresi 4 ise B1 Hücresine C1+D1+E1+F1 Hücresindeki değeri (yani 1,5+3+4,5+6), A1 hücresi 5 ise B1 Hücresine C1+D1+E1+F1+G1 Hücresindeki değeri (yani 1,5+3+4,5), ................ A1 hücresi 36 ise B1 Hücresine C1+D1+E1+F1+G1+H1+I1+J1+K1+L1+M1+N1+O1+P1+Q1+R1+S1+T1+U1+V1+W1+X1+Y1+Z1+AA1+AB1+AC1+AD1+AE1+AF1+AG1+AH1+AI1+AJ1+AK1+AL1) Hücresindeki değerleri (yani 1,5+3+4,5+6+........59) Şeklinde aralarında + (artı) işareti olacak şekilde nasıl yazdırırım? Bu konuda bilgi sahibi arkadaşların yardımını bekliyorum. Bu konuda zaman ayırıp yardım edebilecek arkadaşlara şimdiden şükranlarımı sunuyorum. Mehmet Bayralı Fen ve Teknoloji Öğretmeni
 

Mustafa MUTLU

Destek Ekibi
Destek Ekibi
Katılım
24 Temmuz 2008
Mesajlar
1,582
Excel Vers. ve Dili
Ofis 2013 TR 32 Bit
Sayfanın kod bölümüne aşağıdaki kodları kopyalayıp yapıitırın

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[B1] = 0
If [A1] > 0 Then
For MSTF = 3 To 2 + [A1]
[B1] = [B1] + Cells(1, MSTF)
Next
End If
End Sub
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,512
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Aşağıdaki formülü B1 hücresine yapıştırınız.

=TOPLA(KAYDIR(C1;0;0;1;A1))
 
Katılım
26 Mayıs 2005
Mesajlar
23
Destek Ekibinden Mustafa Mutlu hocama ve kulomer46 kodunu kullanan değerli arkadaşa şükranlarımı sunuyorum. Önerileri uygulayacağım, sanırım çözüm olacaktır.
Sayfanın kod bölümüne aşağıdaki kodları kopyalayıp yapıitırın

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[B1] = 0
If [A1] > 0 Then
For MSTF = 3 To 2 + [A1]
[B1] = [B1] + Cells(1, MSTF)
Next
End If
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,331
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Başlığınızı da forum kurallarına göre değiştirirseniz takip açısından daha verimli olacaktır.
 
Katılım
26 Mayıs 2005
Mesajlar
23
kulomer46 arkadaşım ilginize teşekkür ederim, formülünüzü yazdım toplamı veriyor, benim istediğim hücredeki değerlerin arasına + (artı) işareti koyarak toplamadan B hücresinde gözükmesi. (1,5+3+4,5+6+7,5...... gibi)
Aşağıdaki formülü B1 hücresine yapıştırınız.

=TOPLA(KAYDIR(C1;0;0;1;A1))
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,331
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Eğer yeni excel versiyonu kullanıyorsanız aşağıdaki formül işinize yarayabilir.

Kod:
=METİNBİRLEŞTİR("+";DOĞRU;KAYDIR(C1;;;;A1))
 

Ekli dosyalar

Katılım
26 Mayıs 2005
Mesajlar
23
Eğer yeni excel versiyonu kullanıyorsanız aşağıdaki formül işinize yarayabilir.

Kod:
=METİNBİRLEŞTİR("+";DOĞRU;KAYDIR(C1;;;;A1))
Korhan Ayhan Hocam bundan sonra forum kurallarına uygun olarak başlık yazacağımdan emin olabilirsiniz. Microsoft Office 2007 kullanıyorum. Belirttiğiniz formülü yazdım #AD? uyarısı verdi, excel konusunda pek bilgi sahibi değilim. Mustafa Mutlu hocamın kodunu bile ilgili sayfaya yapıştırıp çalıştıramadım. Formüller ile çözülürse daha bir yorumlayabiliyorum. İlginize teşekkür ederim.
 

İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,104
Excel Vers. ve Dili
Excel, 365 - İngilizce
.

Aşağıda verdiğim açıklamaları izleyin.

1. B1 hücresine, =BİRLEŞTİR(DEVRİK_DÖNÜŞÜM(C1:CX1)&"+") formülünü yazıp, CTRL, SHIFT basılı iken ENTER tuşu ile girin.

2. Formülü, Formül çubuğunda iken DEVRİK_DÖNÜŞÜM(C1:CX1)&"+" bölümünü seçip, F9 tuşuna basın.

3. Formülden { } parantezlerini silin ve ENTER tuşuna basın.

Buna göre yapılmış dosya ekte.

http://www.dosya.tc/server16/2eyl5s/Ornek__32_.xlsx.html

.
 

Ekli dosyalar

Son düzenleme:
Katılım
26 Mayıs 2005
Mesajlar
23
.

Aşağıda verdiğim açıklamaları izleyin.

1. B1 hücresine, =BİRLEŞTİR(DEVRİK_DÖNÜŞÜM(C1:CX1)&"+") formülünü yazıp, CTRL, SHIFT basılı iken ENTER tuşu ile girin.

2. Formülü, Formül çubuğunda iken DEVRİK_DÖNÜŞÜM(C1:CX1)&"+" bölümünü seçip, F9 tuşuna basın.

3. Formülden { } parantezlerini silin ve ENTER tuşuna basın.

Buna göre yapılmış dosya ekte.

http://www.dosya.tc/server16/2eyl5s/Ornek__32_.xlsx.html

.
İdris Hocam ilginiz ve sizlere verdiğim zahmet için mahcubum, ancak önerilen yöntemlerin çözüm olmadığını da belirtmek isterim. Ekte gönderdiğiniz Örnek32 adlı dosyadaki çözüm yönteminde A1 hücrsine hangi sayıyı girersem gireyim diğer hücrelerdeki değerlerin tamamı B1 hücresinde gösteriliyor. Oysaki benim isteğim A1 hücresinde 5 varsa B1 hücresinde ilk dört değer büyükten küçüğe doğru sıralansın (4+3+2+1) gibi ya da A1 hücresinde 6 varsa B1 hücresinde ilk beş değer büyükten küçüğe doğru sıralansın (5+4+3+2+1) gibi... Ben örnek 32 den esinlenerek EĞER formülünü kullanarak bir şeyler yapmaya çalıştım ancak 7 EĞER kullanarak 6 hücreyi (6+5+4+3+2+1) şeklinde sıralaya bildim. Oysaki benim aralarında + (artı) olacak şekilde 59 hücredeki değeri sıralamam gerek. Olursa ne alâ olmazsa da yapacak bir şey yok. Vazgeçmek durumunda kalacağım. Çok sağolasınız...
 
Üst