Google Sheets'e altın fiyatı bilgisi çekme

klop01

Altın Üye
Katılım
19 Aralık 2016
Mesajlar
650
Excel Vers. ve Dili
2021 Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
07-02-2028

HAKAN132

Altın Üye
Katılım
29 Eylül 2021
Mesajlar
13
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
17-08-2029
IMPORTXML formülünü kullanarak, ilgili sayfadan tablo çekebilirsiniz. Bir kaç farklı yöntemi var bunlardan birini veriyorum.

=IMPORTXML(A6&"?refresh=A7="&A7;A8;A9)

A6= ilgili sayfanın linkini yazacağınız hücre
A7= yenileme için manuel olarak kullanacağız hücre (buraya 1 yazın, daha sonra her yenilemek istediğinizde silin bidaha yazın) . Bunu dinamak hale getirmek için butonda yapabilirsiniz.
A8= çekecek yerin tipi, sizinki table oluyor. O yüzden table yazacaksınız.
A9= tablonun kaçıncı indexte olduğu ( Bunuda bulmak için f12 ye basıp gelen bölümde konsol yerine ,

"" var index = 1; [].forEach.call(document.getElementsByTagName("table"), function(elements) { console.log("Index: " + index++, elements); }); ""

kodunu yazın sizin tablonun index değerini bulun ve ilgili hücreye yazın.
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
644
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Hakan 132'ye ilave olarak

İlgili Sayfanın Linki: A6 hücresine veri çekmek istediğiniz sayfanın URL'sini yazın.
Yenileme İçin Hücre: A7 hücresine manuel olarak yenileme için kullanılacak bir değer yazın (örneğin, 1).
Çekilecek Yer Tipi: A8 hücresine "table" yazın.
Tablonun Kaçıncı İndekste Olduğu: Tablonun kaçıncı indekste olduğunu A9 hücresine yazın.
Konsolu kullanarak tablonun indeks değerini bulmak için F12 tuşuna basıp, Console sekmesine geçin ve şu kodu çalıştırın:

var index = 1;
[ ].forEach.call(document.getElementsByTagName("table"), function(elements) {
console.log("Index: " + index++, elements);
});

Belirtilen tabloyu bulduktan sonra, A9 hücresine bu tablo indeksini yazın.
Google Sheets'te dinamik yenileme yapmak için aşağıdaki örnek bir buton kodu kullanabilirsiniz:

function refreshSheet() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
sheet.getRange("A7").setValue("1"); // Yenileme hücresini 1 yapar
SpreadsheetApp.flush(); // Değişiklikleri uygular
sheet.getRange("A7").setValue(""); // Yenileme hücresini boşaltır
}
Bu şekilde, A7 hücresine manuel değer ekleyerek ve butonu kullanarak sayfanızı dinamik olarak yenileyebilirsiniz.
 

klop01

Altın Üye
Katılım
19 Aralık 2016
Mesajlar
650
Excel Vers. ve Dili
2021 Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
07-02-2028
HAKAN132,
=IMPORTXML(A6&"?refresh=A7="&A7;A8;A9)

Formülü ilk iletimdeki veri alınacak sayfaya göre düzenlemeniz mümkün mü?

WEB sitelerinin yapısı vb. konuları hiç bilmiyorum.
 

HAKAN132

Altın Üye
Katılım
29 Eylül 2021
Mesajlar
13
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
17-08-2029
Formül zaten bir linke göre düzenli değil, bir önceki yazımda belirttiğim A6 hücresine linki yazarsanız çalışacaktır. Siz başka bir hücreye yazdıysanız linki sadece formülde hangi hücreye yazdıysanız o hücrenin adını formüldeki A6 yazan kısmın yerine yazacaksınız
 
Üst