• DİKKAT

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

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

Katılım
3 Haziran 2021
Mesajlar
203
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.
 
Merhaba.
başka bir değer olduğunda ne olacak?
 
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
 
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")
 
Muzaffer Ali bey
Bunu foksiyon formül halinde yapabilirmiyiz. vba sız yani ki bana vba sız gerekli paylaşım halinde olacak dosya
 
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);"")
 
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.

 
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.
 
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
 
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.
 
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ı
 
Geri
Üst