• DİKKAT

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

DÖVİZLİ VE TL CARİ TAKİP TABLOSU

Bintang

Altın Üye
Katılım
31 Ekim 2006
Mesajlar
363
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019,Türkçe
Merhaba; Hem TL ve hemde Döviz olarak takip etmek zorunda olduğum müşterilerimiz var. Bunlarda açıklamalarda yer alan döviz turlarını G ve H sütununa ayırmak istiyorum bu konuda yardımcı olmanızı rica ederim. Örnek dosya ektedir.
 

Ekli dosyalar

Anlamadığım kısım formülleriniz var olan haliyle çalışıyor. Hata veriyor demişiniz ama hata göremedim

Yine de ben alternatif bir formül veriyorum

G3 için
=EĞER(E3=0;0;YERİNEKOY(SAĞDAN($D3;UZUNLUK($D3)-MBUL("x";$D3));"$";"")+0)

H3 için
=EĞER(F3=0;0;YERİNEKOY(SAĞDAN($D3;UZUNLUK($D3)-MBUL("x";$D3));"$";"")+0)
 
Anlamadığım kısım formülleriniz var olan haliyle çalışıyor. Hata veriyor demişiniz ama hata göremedim

Yine de ben alternatif bir formül veriyorum

G3 için
=EĞER(E3=0;0;YERİNEKOY(SAĞDAN($D3;UZUNLUK($D3)-MBUL("x";$D3));"$";"")+0)

H3 için
=EĞER(F3=0;0;YERİNEKOY(SAĞDAN($D3;UZUNLUK($D3)-MBUL("x";$D3));"$";"")+0)
Üstadım ilk önce ilgi ve alakanız için teşekkür ederim.
Formülleri yerleştirdim. Bir şey fark ettim
Örnek dosyayı yüklüyorum

13 NL.FT.MIZ/ KEMAL ŞİMŞEKx11,348.85$ (Binlik ayracı "," ile başladığı için) #DEĞER Hatası veriyor
 

Ekli dosyalar

Bu durumda bir kısıt / kural vermelisiniz ki formülle kurgu yapabilelelim.
Her türlü varyasyon olabilir.
120.555,12
120,555.12
120,556.10
120,155.1
120155,1
120155.1
120,155
120.155
120155,10
120155.10
0,12
0.12
0,1
0.1
vs
 
Bu durumda bir kısıt / kural vermelisiniz ki formülle kurgu yapabilelelim.
Her türlü varyasyon olabilir.
120.555,12
120,555.12
120,556.10
120,155.1
120155,1
120155.1
120,155
120.155
120155,10
120155.10
0,12
0.12
0,1
0.1
vs
Üstadım;
G Sütunu Hazır programdan aldığı için el ile müdehale edemiyorum. Dolayısıyla G Sütunu 120,556.10$ şeklinde
H Sütunu ise 120.555,12$ şeklinde olacak.
Dolayısıyla size zahmet olmaz ise buna göre bana yardımcı olabilirmisiniz. Yani G sütunu ayrı formül, H sütunu ayrı formül olacak şekilde.
 
Burada önerilen formüller işinize yaramadı mı?

 
Burada önerilen formüller işinize yaramadı mı?

Üstadım sizden gelen aşağıdaki formülü ekledim
EĞERHATA(YERİNEKOY(YERİNEKOY(YERİNEKOY(PARÇAAL(D6;BUL("x";D6)+1;255);"$";"");",";"");".";"")/100;0)
ama sonuç aşağıdaki gibi oldu


Tarih

Fiş No

Sr

Açıklama

E SÜTUNU
Borç TL

F SÜTUNU
AlacakTL

G SÜTUNU
Dövizli Borç

H SÜTUNU
Dövizli Alacak

04.01.2022

63​

6​

DĞ/14/ZİRAATA GELEN KEMAL ŞİMŞEKx188,25$

0,00 ₺​

2.530,00 ₺​

188,25 $​

188,25 $​

04.01.2022

63​

8​

DĞ/14/ZİRAATA GELEN KEMAL ŞİMŞEKx3.720,24$

0,00 ₺​

50.000,00 ₺​

3.720,24 $​

3.720,24 $​

04.01.2022

63​

10​

DĞ/14/ZİRAATA GELEN KEMAL ŞİMŞEKx3.720,24$

0,00 ₺​

50.000,00 ₺​

3.720,24 $​

3.720,24 $​

04.01.2022

63​

12​

DĞ/14/ZİRAATA GELEN KEMAL ŞİMŞEKx3.720,24$

0,00 ₺​

50.000,00 ₺​

3.720,24 $​

3.720,24 $​

04.01.2022

400​

3​

13 NL.FT.MIZ/ KEMAL ŞİMŞEKx11,348.85$

149.929,67 ₺​

0,00 ₺​

11.348,85 $​

11.348,85 $​

04.01.2022

400​

3​

15 NL.FT.MIZ/ KEMAL ŞİMŞEKx12,418.85$

169.919,67 ₺​



12.418,85 $​

12.418,85 $​


YAPMAK İSTEDİĞİM

EĞER E SÜTUNU DOLU İSE D SÜTUNUN DA YAZAN DÖVİZ TUTARI G SÜTUNUNA YAZSIN

EĞER F SÜTUNU DOLU İSE D SÜTUNUN DA YAZAN DÖVİZ TUTARI H SÜTUNUNA YAZSIN
 

Ekli dosyalar

Aşağıdaki fonksiyonu bir module yapıştırdıktan sonra belirttiğim formülleri uygulayıp aşağıya doğru kopyalayınız.

233903

G3 = EĞER(E3>0;GetMoney($D3);0)
H3 = EĞER(F3>0;GetMoney($D3);0)

C#:
Public Function GetMoney(rng As Range) As Double
    Static reg As Object
    If reg Is Nothing Then Set reg = CreateObject("VBScript.RegExp")

    Dim retVal As String
   
    reg.Pattern = "[\d,.]+(?:\.|,)\d{2}(?=\$|€)"
   
    If reg.Test(rng) Then
        retVal = reg.Execute(rng)(0)
       
        If Left$(Right$(retVal, 3), 1) = "." Then
            GetMoney = Val(Replace(retVal, ",", ""))
        Else
            GetMoney = retVal
        End If
       
        Exit Function
    End If
   
    GetMoney = 0
End Function
 
Aslında o başlıkta koşula göre yazdırma formülünü de paylaşmıştım. Ama sanırım siz uyarlama işlemi yapamadınız.

Oltayı ve yemi vermiştim. Balıkları da verelim tam olsun..

G3;
C++:
=EĞER(E3>0;EĞERHATA(YERİNEKOY(YERİNEKOY(YERİNEKOY(PARÇAAL(D3;BUL("x";D3)+1;255);"$";"");",";"");".";"")/100;0);0)

H3;
C++:
=EĞER(F3>0;EĞERHATA(YERİNEKOY(YERİNEKOY(YERİNEKOY(PARÇAAL(D3;BUL("x";D3)+1;255);"$";"");",";"");".";"")/100;0);0)
 
Aşağıdaki fonksiyonu bir module yapıştırdıktan sonra belirttiğim formülleri uygulayıp aşağıya doğru kopyalayınız.

Ekli dosyayı görüntüle 233903

G3 = EĞER(E3>0;GetMoney($D3);0)
H3 = EĞER(F3>0;GetMoney($D3);0)

C#:
Public Function GetMoney(rng As Range) As Double
    Static reg As Object
    If reg Is Nothing Then Set reg = CreateObject("VBScript.RegExp")

    Dim retVal As String
  
    reg.Pattern = "[\d,.]+(?:\.|,)\d{2}(?=\$|€)"
  
    If reg.Test(rng) Then
        retVal = reg.Execute(rng)(0)
      
        If Left$(Right$(retVal, 3), 1) = "." Then
            GetMoney = Val(Replace(retVal, ",", ""))
        Else
            GetMoney = retVal
        End If
      
        Exit Function
    End If
  
    GetMoney = 0
End Function
Üstadım ellerinize kollarınıza sağlık çok teşekkür ederim.
 
Aslında o başlıkta koşula göre yazdırma formülünü de paylaşmıştım. Ama sanırım siz uyarlama işlemi yapamadınız.

Oltayı ve yemi vermiştim. Balıkları da verelim tam olsun..

G3;
C++:
=EĞER(E3>0;EĞERHATA(YERİNEKOY(YERİNEKOY(YERİNEKOY(PARÇAAL(D3;BUL("x";D3)+1;255);"$";"");",";"");".";"")/100;0);0)

H3;
C++:
=EĞER(F3>0;EĞERHATA(YERİNEKOY(YERİNEKOY(YERİNEKOY(PARÇAAL(D3;BUL("x";D3)+1;255);"$";"");",";"");".";"")/100;0);0)
Üstadım emeğinize sağlık çok teşekkür ederim. Sizi meşgul ettiysem hakkınızı helal edin.
 
Geri
Üst