A, B, C sütunlarındaki verileri sırası ile alt alta D sütununda toplamak

Katılım
23 Temmuz 2007
Mesajlar
52
Excel Vers. ve Dili
2007
Merhaba,
Bütün gün arama yapmama rağmen bir türlü cevabını bulamadım, yardımcı olacak arkadaşlara şimdiden teşekkür ederim.

Kısaca;
A, B, C sütunlarındaki verileri (aşağıya doğru 10 000 satır), başka bir excel dosyasına veya D sütununa aşağıdaki şekilde yazdırmak istiyorum (D sütununda sıralı şekilde 30 000 satır olmuş olacak):
A1
B1
C1
A2
B2
C2
A3
B3
C3
...
...

Bunu yapabilmek için bir formül var mıdır? Makro değil formül varmı acaba?
Not: Devrik_dönüşüm ve Kaydır formüllerini denedim ama ya formüller benim çözümüm için uygun değil veya yeterli bilgim olmadığından yapamadım.

Saygılarımla
 

Ekli dosyalar

Son düzenleme:

Ö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,

D1 hücresine yazıp alt satırlara kopyalayın.

Kod:
=KAYDIR($A$1;YUKARIYUVARLA(SATIRSAY(D$1:D1)/3;0)-1;MOD(SATIRSAY(D$1:D1)-1;3))
.
 
Katılım
23 Temmuz 2007
Mesajlar
52
Excel Vers. ve Dili
2007
Ömer Bey,
Büyük zahmetten kurtardınız beni. Elinize bilginize sağlık, çok teşekkür ederim.
 
Katılım
23 Temmuz 2007
Mesajlar
52
Excel Vers. ve Dili
2007
Bu saatte uğraşıyorum halen :)
Ömer Bey, 1. ve 3. sütunları alt alta yazmak istersek formül nasıl olur acaba? Çünkü dosyamda mesela A ile H sütununu alt alta getirmem gereken aralıklar var. Sorunu çözdüğünüz halde uyarlayamadım bir türlü.
Siz A1, B1, C1 sütunlarını D1'de alt alta getiren formülü verdiniz zaten. Yine buradan gidersek B1 sütununu formüle almadan sadece A1 ve C1 sütununu D1'de nasıl alt alta yazabiliriz?
Şimdiden çok teşekkür ederim. İyi sabahlar diliyorum.
 

Ö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
1. ve 3. sütunları alt alta yazmak istersek formül nasıl olur acaba?.Yine buradan gidersek B1 sütununu formüle almadan sadece A1 ve C1 sütununu D1'de nasıl alt alta yazabiliriz?
Bu şekilde deneyin.

Kod:
=KAYDIR($A$1;YUKARIYUVARLA(SATIRSAY(D$1:D1)/2;0)-1;MOD(SATIRSAY(D$1:D1)-1;2)*2)
.
 
Katılım
23 Temmuz 2007
Mesajlar
52
Excel Vers. ve Dili
2007
Tekrar merhaba Ömer Bey,
Formülünüz çok işime yaradı, verdiğiniz formülden başka bir işlem yapmayı denedim. Birçok değişiklik yaptım çok uğraştım ama bir türlü yapamadım. Yardımınıza ihtiyacım var.

Her yüz satırda bir, veri başka hücreden gelsin.

B sütunun tümü A sütunundaki verileri alacak. Sadece B sütununda her 100 satırda bir kaydırarak başka bir hücreden veri alıp yine A'dan veri alarak aşağı doğru ilerleyecek.

B sütununa aşağı doğru B100. satıra kadar hep A'daki verilerin aynısı yazacak. B101. satırına geldiğinde örneğin $Z$1 deki veriyi yazacak. B102. satırı yine A101. satırını alarak devam edecek. B201.satıra geldiğinde yine $Z$1 deki veriyi yazacak ve B202.satır A'nın kalan satırından aşağı doğru devam edecek.

Böyle bir şey mümkünse yardım ederseniz çok sevinirim Ömer Bey.

İyi çalışmalar diliyorum.
Saygılarımla
 
Katılım
23 Temmuz 2007
Mesajlar
52
Excel Vers. ve Dili
2007
Yukarıdaki formüle ihtiyaç duymamın sebebi:
Excelde oluşturduğum veriyi mysql'e table olarak phpmyadminden içe aktarmak istiyorum. Fakat mysql'deki verilerde her yüz satırda bir aşağıdaki satırı ekliyor:
INSERT INTO `ps_product_lang` (`id_product`, `id_lang`, `description`, `description_short`, `link_rewrite`, `meta_description`, `meta_keywords`, `meta_title`, `name`, `available_now`, `available_later`) VALUES

80 bin satırım var. parçalara böldüğümde bile hata veriyor. Bunu aşmam için 99. 199. 299. vb satırlarımın sonundaki virgülü "," noktalı virgüle ";" çevirip altına da yukarıdaki satırı ekleyip aşağı doğru devam etmek.

80 bin satıra elle her yüz satırda bir yukarıdaki insert into satırını girmem mümkün değil :(
 

Ö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
Konu üzerinden zaman geçtiği için hatırlayamadım. Sorunuzu küçük bir örnek dosya ile destekleyip detaylı açıklayınız.
 
Katılım
23 Temmuz 2007
Mesajlar
52
Excel Vers. ve Dili
2007
Bir sütundaki satır aralarına başka bir sütundaki hücreden veri eklemek

Dosyaya örneklendirdim. sayfaya sığması açısından aşağı doğru sıralı 100 satır yerine 5 satırda bir J1 satırındaki bilgi eklenecek.
Örnek dosyayı ekledim Ömer Bey

Not: Konuyla ilgili değil ama bir bilginiz varsa yol gösterirseniz sevinirim.
Hücrede şu bilgi var. Kod 113 090
Bu bilgiyi bir txt dosyasına kopyala yapıştır yaptığımda başına çift tırnak ekliyor ve Kod ile 113 arasındaki boşluğa bir de tab kadar boşluk ekliyor: "Kod 113 090
Diğer hücreler göründüğü gibi kopyala-yapıştır olurken bu hücre anlamadığım bir şekilde değişiyor.

Bir önceki mesajdaki smiley için kusura bakmayın. Forum kurallarını okudum. Teşekkür ederim.
Excel 2010 - Türkçe
 

Ekli dosyalar

Son düzenleme:

Ö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
B1 hücresine yazıp alt satırlara kopyalayın.

Kod:
=EĞER(MOD(SATIRSAY(B$1:B1);6)=0;Sayfa1!$J$1;KAYDIR(Sayfa1!$A$1
 ;(YUKARIYUVARLA(SATIRSAY(B$1:B1)/6;0)-1)*-1+SATIRSAY(B$1:B1)-1;0))
Ayrıca, text yapıştırma olayını denedim bende herhangi bir değişim olmadı.

.
 
Katılım
23 Temmuz 2007
Mesajlar
52
Excel Vers. ve Dili
2007
Ömer Bey, diyecek birşey yok, tekrar tekrar teşekkürler.

Not: Text yapıştırmada benzer sorunu yaşayan arkadaşlar olursa, evdeki excelde Kod 113 095 olarak gösteriyor. Fakat ofise gelip aynı dosyayı excelde açtığımda 11'in solunda yazdırılamaz karakter gösterdi ve düzelttim bu sayede. Aşağıdaki resimde görebilirsiniz. İki excel de 2010 Türkçe.
 
Katılım
29 Şubat 2008
Mesajlar
21
Excel Vers. ve Dili
2007 tr
BU işlemin tersi, yanı alt alta olanları yan yana yapabilmemiz mümkün müdür?
 

ozerzeme

Altın Üye
Katılım
15 Temmuz 2014
Mesajlar
17
Excel Vers. ve Dili
excel pro-2013 Türkçe
Altın Üyelik Bitiş Tarihi
14-11-2026
Lüütfen yardım...

İkinci mesajda yazılan
=KAYDIR($A$1;YUKARIYUVARLA(SATIRSAY(D$1:D1)/3;0)-1;MOD(SATIRSAY(D$1:D1)-1;3)) formülü boş olan hücreleri yazmayacak şekilde uyarlanabilirmi örneğin B1 hücresinde değer yoksa bu hücreyi yok sayıp C1 hücresindeki değer yazdırılabilirmi.
 
Son düzenleme:

ozerzeme

Altın Üye
Katılım
15 Temmuz 2014
Mesajlar
17
Excel Vers. ve Dili
excel pro-2013 Türkçe
Altın Üyelik Bitiş Tarihi
14-11-2026
sorun maalesef halen tarafımca çözülememiştir ve halen ihtiyaç duyulmaktadır. Yardımcı olabilecek varsa inanın çok makbule geçecek......
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,070
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
İkinci mesajda yazılan
=KAYDIR($A$1;YUKARIYUVARLA(SATIRSAY(D$1:D1)/3;0)-1;MOD(SATIRSAY(D$1:D1)-1;3)) formülü boş olan hücreleri yazmayacak şekilde uyarlanabilirmi örneğin B1 hücresinde değer yoksa bu hücreyi yok sayıp C1 hücresindeki değer yazdırılabilirmi.
Bunun çözümünün formülle olması çok zor (imkansız diyemiyorum çünkü bu forumda imkansız olduğunu düşündüğüm bir çok şeyin çözümü bulundu).

Makro ile çözüm olabilir. Bunun için aşağıdaki kodları bir modüle kopyalayıp deneyiniz:

Kod:
Sub değiştir()
son = WorksheetFunction.Max(Cells(Rows.Count, "A").End(3).Row, _
Cells(Rows.Count, "B").End(3).Row, Cells(Rows.Count, "C").End(3).Row)
For i = 1 To son
    For j = 1 To 3
        yeni = Cells(Rows.Count, "D").End(3).Row + 1
        If [d1] = "" Then yeni = 1
        Cells(yeni, "D") = Cells(i, j)
    Next
Next
End Sub
 
Katılım
23 Eylül 2013
Mesajlar
1,348
Excel Vers. ve Dili
Excel 2007 İngilizce -
Excel 2010 Türkçe -
Excel 2013 Türkçe -
Merhabalar,
Ne yapmak istendiğini pek okumadım Yusuf Bey'in 16. mesajına göre formül ile alternatif olsun.

  • A1:C6 aralığına veriler,
  • D1 hücresine,
formül girişlerini yaparak deneyiniz.
Kod:
=KAYDIR(A$1;
  MOD(KÜÇÜK(EĞER(A$1:C$6;SATIR(A$1:C$6)+1000*
    SÜTUN(A$1:C$6));SATIR());1000)-1;
    TAMSAYI(KÜÇÜK(EĞER(A$1:C$6;
  SATIR(A$1:C$6)+1000*SÜTUN(A$1:C$6));
SATIR())/1000)-1)
[COLOR="Blue"]Formül dizi formülüdür.CTRL+SHIFT+ENTER ile tamamlayınız.[/COLOR]
Not: Yusuf Bey, affınıza sığınarak kodun başına D sütununu temizlemesi için bir ilave yaparsanız daha iyi olacağını düşünüyorum.
Kodun birden fazla çalıştırıldığında doğru sonucu vermesi için.

Saygılar,
Hay marja!
 
Son düzenleme:

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,070
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Sayın Bzace'nin önerisiyle aşağıdaki kodu kullanırsanız önce D sütunundaki verileri silmek isteyip istemediğinizi sorar, Evet derseniz eski verileri siler ve yenileri aktarır, Hayır derseniz eski verilerin altına ekler:

Kod:
Sub değiştir()
uyarı = MsgBox("D sütunundaki eski verilerin silinmesini ister misiniz?", vbYesNo)
If uyarı = vbYes Then
Range("D1:D" & Cells(Rows.Count, "D").End(3).Row).ClearContents
End If
son = WorksheetFunction.Max(Cells(Rows.Count, "A").End(3).Row, _
Cells(Rows.Count, "B").End(3).Row, Cells(Rows.Count, "C").End(3).Row)
For i = 1 To son
    For j = 1 To 3
        yeni = Cells(Rows.Count, "D").End(3).Row + 1
        If [d1] = "" Then yeni = 1
        Cells(yeni, "D") = Cells(i, j)
    Next
Next
End Sub
Bu arada Sayın Bzace, (öncelikle estağfurullah, ne affı ne sığınması :) ) : formülünüzü Dizi formülü olarak uyguladığımda #DEĞER hatası verdi.
 
Katılım
23 Eylül 2013
Mesajlar
1,348
Excel Vers. ve Dili
Excel 2007 İngilizce -
Excel 2010 Türkçe -
Excel 2013 Türkçe -
Yusuf Bey,
A1:C6 aralığına sayı girişlerini yaparak deneyiniz.
Metinsel değerlerde hata veriyor. Şimdi yatmam lazım İstanbul trafiği işe gitmek için haddinden fazla erken kalkmak gerekiyor. :)

Müsait zamanda metinler için bir şeyler yapmak için uğraşırız.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,070
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Allah kolaylık versin. İyi geceler, iyi çalışmalar.
 
Üst