• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Bir Rakamı Yan Yana Yazdırma

Katılım
15 Ekim 2014
Mesajlar
833
Excel Vers. ve Dili
Excell 2016 Türkçe 64 bit
Merhaba arkadaşlar. A1 deki 5 rakamını 1.2.3.4.5 şeklinde aralarına boşluk koyarak formül ile yan yana yazdırabilir miyiz?
 
Merhaba
Deneyiniz.

A sütununda verileriniz varsa;
B:K aralığına bu formülü yazın.
C++:
=EĞER($A1-(SÜTUN()-2)<1;"";$A1-(SÜTUN()-2))

Boş bir modüle aşağıdaki kodları yazın.
C++:
'kodları yazan: İdris Serdar
Public Function BİRLEŞTİRA(ALAN As Range, Optional sALAN As String = ".") As String
Dim sonuc As String, c As Range
Application.Volatile
On Error GoTo Hata

For Each c In ALAN
    If c <> Empty Then sonuc = sonuc & c.Value & sALAN
Next c
sonuc = Left(sonuc, Len(sonuc) - Len(sALAN))
BİRLEŞTİRA = sonuc

On Error GoTo 0
   Exit Function
Hata:
    BİRLEŞTİRA = "#Error#"
End Function

L hücresine bu formülü yazın.
C++:
=BİRLEŞTİRA(B1:K1)
 

Ekli dosyalar

Merhaba,
veri A1 hücresinde ise B1 :
Kod:
=METNEÇEVİR(A1;"# # # # #")

# işaretini hücre uzunluğuna göre arttırabilirsiniz.

Bilmem işinize yarar mı?
 
Merhaba Necdet bey 10 hücreye uyguladım ama hepsine de 5 yazıyor maalesef
 
Teşekkür ederim arkadaşlar. Elinize sağlık.
Biraz uzun oldu ama yardımcı alan kullanmadan kendimce eşitse formülünü uygulayarak 25 e kadar alacak şekilde aşağıdaki gibi bir çözüm buldum.
Bu işlemi daha kısa nasıl yapabilirim.
=EĞER(A1=1;"1.";EĞER(A1=2;"1.2.";EĞER(A1=3;"1.2.3.";EĞER(A1=4;"1.2.3.4.";EĞER(A1=5;"1.2.3.4.5.";EĞER(A1=6;"1.2.3.4.5.6.";EĞER(A1=7;"1.2.3.4.5.6.7.";EĞER(A1=8;"1.2.3.4.5.6.7.8.";EĞER(A1=9;"1.2.3.4.5.6.7.8.9.";EĞER(A1=10;"1.2.3.4.5.6.7.8.9.10.";EĞER(A1=11;"1.2.3.4.5.6.7.8.9.10.11.";EĞER(A1=12;"1.2.3.4.5.6.7.8.9.10.11.12.";EĞER(A1=13;"1.2.3.4.5.6.7.8.9.10.11.12.13.";EĞER(A1=14;"1.2.3.4.5.6.7.8.9.10.11.12.13.14.";EĞER(A1=15;"1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.";EĞER(A1=16;"1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.";EĞER(A1=17;"1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.";EĞER(A1=18;"1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.";EĞER(A1=19;"1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.";EĞER(A1=20;"1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.";EĞER(A1=21;"1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.";EĞER(A1=22;"1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.";EĞER(A1=23;"1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.";EĞER(A1=24;"1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.";EĞER(A1=25;"1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.";"")))))))))))))))))))))))))
 
Merhaba
Yardımcı sütun kullanmadan fonksiyonla yapılır mı? emin değilim.

Daha kısa kod alternatif olsun.
C++:
Sub YanYanaYaz()
    Columns("B:B").NumberFormat = "@"
    Columns("B:B").ClearContents
    
For i = 1 To Range("A1048576").End(3).Row
For j = 1 To Range("A" & i)
Range("B" & i) = Range("B" & i) & "." & j
Next
Next
End Sub
 
Ofis 365 için alternatif;

C++:
=METİNBİRLEŞTİR(".";;;SIRALI(A1))&"."
 
Ben tamamen olayı yanlış anlamışım :)
 
Arkadaşlarımın önerilerine ek olarak eski sürümlerde KTF kullanmanız daha uygun olacaktır.

Bende aşağıdaki KTF'yi önerebilirim.

Aşağıdaki örneklerdeki gibi kullanabilirsiniz. Ayıraç opsiyoneldir. Tanımlı olarak virgül kullanır.

=K_SEQUENCE(A1)
=K_SEQUENCE(A1,".")
=K_SEQUENCE(A1," ")
=K_SEQUENCE(A1,"-")

C++:
Option Explicit

Function K_SEQUENCE(Rng As Range, Optional Seperator As String = ",") As String
    Application.Volatile True
    If Rng.Value = "" Then
        K_SEQUENCE = ""
    Else
        K_SEQUENCE = Join(Application.Transpose(Evaluate("Row(" & "1:" & Rng.Value & ")")), Seperator) & Seperator
    End If
End Function
 

Ekli dosyalar

Teşekkür ederim arkadaşlar
 
Geri
Üst