Harfler yazıldığında sayıya otomatik dönüşsün

Katılım
3 Haziran 2021
Mesajlar
197
Excel Vers. ve Dili
Excel 2016 64 bit Türkçe ve Google e-tablo
Örneğin :

A1 Hücresinde ASDF 4 karakterlik metin yazacak
A=1
S=2
D=3
F=4 ifade edecek

hücreye ASDF girildiğinde
Başka hücreye 1234 yazacak
Bu bir tarih kodlaması yapmaya çalışıyorum

Eğer ve ile yapmaya çalıştım ama yapamadım yardım edermsiniz.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,230
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba.
başka bir değer olduğunda ne olacak?
 
Katılım
3 Haziran 2021
Mesajlar
197
Excel Vers. ve Dili
Excel 2016 64 bit Türkçe ve Google e-tablo
Necdet bey iyi günler

B=1
C=2
D=3
F=4
G=5
H=6
R=7
S=8
T=9
V=10
Y=11
Z=12

İifade edecek.
örneğin :
A1 Hücresinde DBCS yazıyorsa
B1 Hücresine = 3.1.2.8 yazacak( "3" 2023."1"ocak."2 ve 8" gün temsil edecek
bu harfler yoksa boş gelecek
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,838
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Aşağıdaki kodu bir modüle kopyalayın.

Kod:
Function Harf_Rakam(Harfler As String) As Long
    Dim Bak As Integer
    Dim Harf As Variant
    Dim Sayi As Variant
    
    Harf = Array("a", "d", "f", "s") ' Buradaki harfler alfabetik sıralı olmalı.
    Sayi = Array(1, 3, 4, 2) ' Harfin sırasına karşılık gelen rakam döner.
    
    For Bak = 1 To Len(Harfler)
        Harf_Rakam = Harf_Rakam & WorksheetFunction.Lookup(Mid(Harfler, Bak, 1), Harf, Sayi)
    Next
End Function
Kullanımı normal Excel fonksiyonu gibi hücreye fonksiyon yazarak kullanacaksınız.
Örnek 1: =Harf_Rakam(A1)
Örnek 2: =Harf_Rakam("asdf")
 
Katılım
3 Haziran 2021
Mesajlar
197
Excel Vers. ve Dili
Excel 2016 64 bit Türkçe ve Google e-tablo
Muzaffer Ali bey
Bunu foksiyon formül halinde yapabilirmiyiz. vba sız yani ki bana vba sız gerekli paylaşım halinde olacak dosya
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,540
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Verdiğiniz sayısal karşılıkları G1:H12 hücrelerine liste olarak yazdım. Sonrasında B1 hücresine aşağıdaki formülü uyguladım.

C++:
=EĞERHATA(DÜŞEYARA(PARÇAAL(A1;1;1);$G$1:$H$12;2;0)&"."&DÜŞEYARA(PARÇAAL(A1;2;1);$G$1:$H$12;2;0)&"."&DÜŞEYARA(PARÇAAL(A1;3;1);$G$1:$H$12;2;0)&"."&DÜŞEYARA(PARÇAAL(A1;4;1);$G$1:$H$12;2;0);"")
 
Katılım
3 Haziran 2021
Mesajlar
197
Excel Vers. ve Dili
Excel 2016 64 bit Türkçe ve Google e-tablo
Koray bey teşekkür ederim evet istediğim bu
Fakat tarih formatına nasıl çevirebilirz. Örnek bir dosya paylaştım.

Not : sıfır değeri yok sıfır değerini " V " harfinde karşılık gelen 10 rakamının sıfırından alıyor
evet biraz karışık gibi değil baya bi karışık. İlginiz için teşekkür ederim.

 

Korhan Ayhan

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

C++:
=EĞERHATA(TARİH("202"&DÜŞEYARA(PARÇAAL(A1;1;1);$G$1:$H$12;2;0);DÜŞEYARA(PARÇAAL(A1;2;1);$G$1:$H$12;2;0);DÜŞEYARA(PARÇAAL(A1;3;1);$G$1:$H$12;2;0)&DÜŞEYARA(PARÇAAL(A1;4;1);$G$1:$H$12;2;0));"")
Not : Talebiniz neyse ilk mesajınızda onu dile getirirseniz defaatle sorulara dönüp yanıt vermek durumunda kalmayız.
 
Katılım
3 Haziran 2021
Mesajlar
197
Excel Vers. ve Dili
Excel 2016 64 bit Türkçe ve Google e-tablo
Deneyiniz.

C++:
=EĞERHATA(TARİH("202"&DÜŞEYARA(PARÇAAL(A1;1;1);$G$1:$H$12;2;0);DÜŞEYARA(PARÇAAL(A1;2;1);$G$1:$H$12;2;0);DÜŞEYARA(PARÇAAL(A1;3;1);$G$1:$H$12;2;0)&DÜŞEYARA(PARÇAAL(A1;4;1);$G$1:$H$12;2;0));"")
Not : Talebiniz neyse ilk mesajınızda onu dile getirirseniz defaatle sorulara dönüp yanıt vermek durumunda kalmayız.
Koray bey kusura bakmayın ilginiz ve alakanız için çok teşekkür ederim. Evet haklısınız söyleminizde.
Koray bey evet tarihte geliyor ama ben harf kodlamasını değiştirdiğimde tutarsız, garip tarihler geliyor . Acaba " V" =10 örnek dosyada bahsettiğim o sebepten mi olmuyor ki
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,540
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
VVVV olunca ne olmalı? (10.10.10.10)

TYBV olunca ne olmalı? (9.11.1.10)

ZZZZ olunca ne olmalı? (12.12.12.12)

Bence kodlama mantığını değiştirmek karmaşayı çözebilir.
 
Katılım
3 Haziran 2021
Mesajlar
197
Excel Vers. ve Dili
Excel 2016 64 bit Türkçe ve Google e-tablo
VVVV olunca ne olmalı? (10.10.10.10)

TYBV olunca ne olmalı? (9.11.1.10)

ZZZZ olunca ne olmalı? (12.12.12.12)

Bence kodlama mantığını değiştirmek karmaşayı çözebilir.
Kodlama mantığı bize ait değil ilgili firma bu şekilde kodlama yapmış. Nasıl okunduğunu bize anlatıyor ama personel çok karıştırıyor. bunu engellemek derdimiz.

TYBV=10.11.2019

VVVV= 00.10.2020
ZZZZ= Bu geçersiz bir tanım olmuş oluyor. ilk Z yılı ikinci Z ayı üçüncü Z günü. Olmamasının sebebi. Şayet sıfır varsa ay ve günde V den alıyor V 10 ya hani kodlamada
düz baktıgımızd
ZZZZ: 1212.12.12 olması lazım ama böyle bir kodlama yok

Takıldığım yer Koray bey Kodlamada V değeri güne denk geldiğinde V=10 10 "0" değerini almaması
 
Üst