TCMB Döviz Kurları alınması (Google Sheet)

Katılım
6 Mart 2024
Mesajlar
335
Excel Vers. ve Dili
2010 TR & 2016 TR
sadece Dolar ve Euro nun Alış satış Efektif Alış ve satış değerlerini almak için formülde ne gibi değişiklik yapmak gerekir
Merhaba,
Esasında bir önceki mesajımda Olta takımını vermiştim,
mesajı dikkatli incelemenizi öneririm çünkü:
TCMB xml yapısında değişiklik yapacak olursa şuan vereceğim kod çalışmaz.

ABD DOLARI DÖVİZ ALIŞ: "//Currency[@Kod='USD']/ForexBuying"
ABD DOLARI DÖVİZ SATIŞ: "//Currency[@Kod='USD']/ForexSelling"

ABD DOLARI EFEKTİF ALIŞ: "//Currency[@Kod='USD']/BanknoteBuying"
ABD DOLARI EFEKTİF SATIŞ: "//Currency[@Kod='USD']/BanknoteSelling"

EURO DÖVİZ ALIŞ: "//Currency[@Kod='EUR']/ForexBuying"
EURO DÖVİZ SATIŞ: "//Currency[@Kod='EUR']/ForexSelling"

EURO EFEKTİF ALIŞ:"//Currency[@Kod='EUR']/BanknoteBuying"
EURO EFEKTİF SATIŞ: "//Currency[@Kod='EUR']/BanknoteSelling"
 
Son düzenleme:

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,960
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Merhaba,
Esasında bir önceki mesajımda Olta takımını vermiştim,
mesajı dikkatli incelemenizi öneririm çünkü:
TCMB xml yapısında değişiklik yapacak olursa şuan vereceğim kod çalışmaz.

ABD DOLARI DÖVİZ ALIŞ: "//Currency[@Kod='USD']/ForexBuying"
ABD DOLARI DÖVİZ SATIŞ: "//Currency[@Kod='USD']/ForexSelling"

ABD DOLARI EFEKTİF ALIŞ: "//Currency[@Kod='USD']/BanknoteBuying"
ABD DOLARI EFEKTİF SATIŞ: "//Currency[@Kod='USD']/BanknoteSelling"

EURO DÖVİZ ALIŞ: "//Currency[@Kod='EUR']/ForexBuying"
EURO DÖVİZ SATIŞ: "//Currency[@Kod='EUR']/ForexSelling"

EURO EFEKTİF ALIŞ:"//Currency[@Kod='EUR']/BanknoteBuying"
EURO EFEKTİF SATIŞ: "//Currency[@Kod='EUR']/BanknoteSelling"
Teşekkürler Hocam
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,373
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Böyle özet bir liste oluşur.

C++:
=HSTACK(VSTACK("USD";"EUR";"GBP");IMPORTXML(
      "https://www.tcmb.gov.tr/kurlar/" &
      IF(WEEKDAY(TODAY();2)<=5;"today.xml";TEXT(TODAY()-LOOKUP(WEEKDAY(TODAY();2);{6;7};{1;2});"yyyymm/ddmmyyyy") & ".xml");
      "//Currency[@Kod='USD' or @Kod='EUR' or @Kod='GBP']/ForexBuying";"en-us"))
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,373
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bunda da başlıklar ve tarih bilgisi eklenir...

Gerisi kullanıcılara kalmış... ;)

C++:
=HSTACK(VSTACK("TARİH:";"KUR TİPİ";"USD";"EUR";"GBP");VSTACK(IF(WEEKDAY(TODAY();2)<=5;TEXT(TODAY();"dd.mm.yyyy");TEXT(TODAY()-LOOKUP(WEEKDAY(TODAY();2);{6;7};{1;2});"dd.mm.yyyy"));"DÖVİZ ALIŞ";IMPORTXML(
      "https://www.tcmb.gov.tr/kurlar/" &
      IF(WEEKDAY(TODAY();2)<=5;"today.xml";TEXT(TODAY()-LOOKUP(WEEKDAY(TODAY();2);{6;7};{1;2});"yyyymm/ddmmyyyy") & ".xml");
      "//Currency[@Kod='USD' or @Kod='EUR' or @Kod='GBP']/ForexBuying";"en-us")))
 
Katılım
6 Mart 2024
Mesajlar
335
Excel Vers. ve Dili
2010 TR & 2016 TR
Bunda da başlıklar ve tarih bilgisi eklenir...
Harika bir formül, elinize sağlık!

Özellikle tablo büyüdükçe hız kazanmak için küçük bir performans optimizasyonu önerebilirim:
  1. XML dosyasını tek bir hücrede (Örn: Sayfa1!A1'de) bir kez çekerek (tek IMPORTXML ile tüm verileri) sayfaya kaydederiz.
  2. Diğer sayfalarda ise kur değerlerini çekmek için sadece basit hücre referanslarını kullanırız (Örn: =Sayfa1!D1).
Bu sayede Google Sheets, XML dosyasını her formül için tekrar tekrar indirmez.
İstediğimiz zaman Sayfa1'i gizleyerek tabloyu sadeleştirebiliriz.
 
Üst