• DİKKAT

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

YERİNEKOY Formülü İle Birden Fazla Karakter İçin İşlem Yapma

Katılım
23 Nisan 2011
Mesajlar
283
Excel Vers. ve Dili
Excel 2010 - Türkçe
Merhaba, a sütununda aşağıdaki gibi veriler olduğunu varsayalım.
a b c d e
x y z
k l m n o ö p

Ben YERİNEKOY fonksiyonu ile şunu yapmak istedim fakat bir türlü beceremedim.

a1b2c3d4e
x1y2z
k1l2m3n4o5ö6p

Yani boşluklara 1'den başlayıp ardışık olarak artan sayılar veren bir formül yapmaya çalışıyorum. Bunu nasıl yapabilirim?

Not: Formül çözümü tercihimdir, teşekkürler...
 
Merhaba,

Excel'in yerleşik işlevleri ile yapılamaz. Kullanıcı tanımlı fonksiyon ile olabilir.

Aşağıdaki kodu deneyebilir misiniz.

Kod:
Function yer(Veri As String)
u = VBA.Len(Veri)

For i = 1 To u

x = VBA.Mid(Veri, i, 1)
k = k & x & i

Next i

yer = k

End Function
 
Merhaba,
Bu işlem makrosuz biraz kasar sanki :) (yada ben öyle sanıyorum)
Hücrede ki boşlukları kaldırıp deneyiniz.
Kod:
=DEĞİŞTİR(DEĞİŞTİR(DEĞİŞTİR(A1;2;0;1);4;0;2);6;0;3)

Not: " Bugün hava güzel " şeklinde ki ifadelerde çalışmaz. 3 karakterli bir veri de deneyiniz.

Bzace
 
Son düzenleme:
Soruyu biraz eksik okumuşum. Boşluklar var demişsiniz. Aşağıdaki kodu kullanabilirsiniz. Boşluklu yada boşluksuz farketmez, istediğinizi yapacaktır. Yerleşik formülle yapılamaz derken, çokta istenildiği gibi olmadığını söylemek istemiştim.Dizi formüllerini birleştirme imkanı olmadığı için ,verilerin uzunluğu standart değilse makrolu çözüm ideal olanıdır.

Kod:
Function yer(Veri As String)
y = VBA.Replace(Veri, " ", "")
u = VBA.Len(y)

For i = 1 To u

x = VBA.Mid(y, i, 1)
k = k & x & i

Next i

yer = k

End Function
 
Sn bzace, kuvari cevaplarınız için teşekkür ederim.
 
Geri
Üst