Özellik ikonu

WEBHİZMETİ

İndirme izni yok

Genel Bakış

WEBHİZMETİ (WEBSERVICE), verilen web adresine bir GET isteği gönderir ve sunucunun döndürdüğü yanıtı metin olarak verir. REST arayüzü sunan bir hizmetten ya da XML dosyasından veriyi doğrudan hücreye almak için kullanılır. Yanıtın belirli bölümlerini ayıklamak için genellikle XMLFİLTRELE ile birlikte kullanılır.

Söz dizimi ve parametre​

TRTürkçe
=WEBHİZMETİ(url)
ENEnglish
=WEBSERVICE(url)
Kategori
Web
İngilizce adı
WEBSERVICE
Platform
Windows
1 bağımsız değişken 1 zorunlu
Bağımsız değişken Durum Ne işe yarar
urlurl Zorunlu Yanıtı alınacak web hizmetinin veya web sayfasının adresini belirtir; http ya da https ile başlayan bir metin olmalıdır.
Geçerli kullanımlar
=WEBHİZMETİ(A2)
Desteklenen Excel sürümleri 2013 ve sonrası
  1. 2003 Desteklenmiyor
  2. 2007 Desteklenmiyor
  3. 2010 Desteklenmiyor
  4. 2013 Destekleniyor
  5. 2016 Destekleniyor
  6. 2019 Destekleniyor
  7. 2021 Destekleniyor
  8. 2024 Destekleniyor
  9. 365 Destekleniyor
İşlev, yanıtın tamamını tek bir metin olarak döndürür. Yanıtın yalnızca bir bölümünü almak için sonucu SOLDAN gibi bir metin işleviyle ya da XMLFİLTRELE ile işleyin. Adresin içinde Türkçe karakter, boşluk veya özel karakter bulunan parametre değerleri varsa bu değerleri URLKODLA ile kodlayın.

1. Yanıtın ilk karakterlerini okuma​

Üç farklı XML kaynağının yanıtının yalnızca ilk 20 karakterini görmek isteyelim. Adresler B sütunundadır. C2 hücresine aşağıdaki formülü yazıp aşağı kopyalayın:
Excel formülü
=SOLDAN(WEBHİZMETİ(B2);20)
=LEFT(WEBSERVICE(B2),20)
WEBHİZMETİ
Formülünü incelemek için bir hücre seçin.
ABC
1HizmetAdresYanıtın ilk 20 karakteri
2Not örneğihttps://www.w3schools.com/xml/note.xml<?xml version="1.0"
3Bitki kataloğuhttps://www.w3schools.com/xml/plant_catalog.xml<?xml version="1.0"
4Müzik kataloğuhttps://www.w3schools.com/xml/cd_catalog.xml<?xml version="1.0"
TemelExcelDepo v1.0.0
Sonuçlar sırasıyla <?xml version="1.0" , <?xml version="1.0" ve <?xml version="1.0" olur. WEBHİZMETİ, adrese bir GET isteği gönderir ve yanıtın tamamını metin olarak döndürür; SOLDAN ise bu metnin yalnızca başındaki 20 karakteri alır. Bu sayede çok uzun bir yanıtı hücreye sığdırmadan içeriğin türünü kontrol edebilirsiniz. Sonuç, bağlantının çalışmasına ve sunucunun yanıt vermesine bağlıdır.

2. Desteklenmeyen adresler ve hata durumu​

Her adres çalışmaz. Protokolü desteklenmeyen ya da geçerli bir adres olmayan değerler hata verir. B sütunundaki adreslerin her biri için C2 hücresine aşağıdaki formülü yazıp aşağı kopyalayın:
Excel formülü
=WEBHİZMETİ(B2)
=WEBSERVICE(B2)
WEBHİZMETİ
Formülünü incelemek için bir hücre seçin.
ABC
1DurumAdresSonuç
2FTP protokolüftp://ftp.ornek.com/veri.xml#DEĞER!
3Dosya protokolüfile:///C:/veri.xml#DEĞER!
4Geçersiz adresbu bir adres değil#DEĞER!
HatalarExcelDepo v1.0.0
Sonuçlar sırasıyla #DEĞER!, #DEĞER! ve #DEĞER! olur. İşlev yalnızca http ve https protokollerinde çalışır; ftp:// ve file:// ile başlayan adreslerde ve geçerli olmayan adreslerde #DEĞER! hatası verir. Bu hatayı yakalamak gerekirse WEBHİZMETİ formülünü EĞERHATA içine alabilirsiniz.

3. Adres parametresini URLKODLA ile kodlama​

Adrese eklenen değerde Türkçe karakter ya da boşluk varsa değeri URLKODLA ile kodlamak gerekir. A sütunundaki şehir adlarını adrese parametre olarak ekleyen formülü B2 hücresine yazıp aşağı kopyalayın; yanıtın ilk 6 karakteri alınır:
Excel formülü
=SOLDAN(WEBHİZMETİ("https://www.w3schools.com/xml/note.xml?sehir="&URLKODLA(A2));6)
=LEFT(WEBSERVICE("https://www.w3schools.com/xml/note.xml?sehir="&ENCODEURL(A2)),6)
WEBHİZMETİ
Formülünü incelemek için bir hücre seçin.
AB
1ŞehirYanıtın ilk 6 karakteri
2İstanbul<?xml
3Çanakkale<?xml
4Kahramanmaraş<?xml
KodlamaExcelDepo v1.0.0
Sonuçlar sırasıyla <?xml , <?xml ve <?xml olur. URLKODLA, İ, Ç, ş gibi karakterleri adreslerde güvenle kullanılabilecek biçime çevirir; böylece adres geçerli kalır. Bu örnekteki sunucu duran bir XML dosyası verdiği için parametreyi yok sayar. Gerçek bir hizmette yanıt, gönderilen şehre göre değişir.

4. XML yanıtından değer ayıklama​

Yanıt XML ise tamamını hücreye almak yerine ihtiyacınız olan öğeyi XMLFİLTRELE ile ayıklayabilirsiniz. A sütunu adresi, B sütunu XPath ifadesini içerir. C2 hücresine aşağıdaki formülü yazıp aşağı kopyalayın:
Excel formülü
=FILTERXML(WEBSERVICE(A2),B2)
WEBHİZMETİ
Formülünü incelemek için bir hücre seçin.
ABC
1AdresXPathAyıklanan değer
2https://www.w3schools.com/xml/note.xml//toTove
3https://www.w3schools.com/xml/note.xml//fromJani
4https://www.w3schools.com/xml/note.xml//headingReminder
XMLExcelDepo v1.0.0
Sonuçlar sırasıyla Tove, Jani ve Reminder olur. WEBHİZMETİ XML yanıtını metin olarak getirir; XMLFİLTRELE ise XPath ifadesiyle bu metindeki ilgili öğeyi bulur. Böylece aynı yanıttan farklı alanları ayrı hücrelere alabilirsiniz.

Kullanırken dikkat edin​

  • url parametresi: url parametresi, GET isteğiyle yanıt alınacak adrestir. Bu bir REST arayüzünü çağırıp bilgi almak için kullanılabilir. İşlev hem https hem de http adreslerinde çalışır.
  • #DEĞER! hatası veren durumlar: Aşağıdaki durumların tümünde işlev #DEĞER! hatası verir:
    • url 2048 karakterden uzunsa.
    • İnternet erişimi yoksa.
    • Bir proxy sunucusuyla çalışıyorsanız.
    • url geçerli bir adres değilse.
    • Alınan yanıt geçerli değilse.
    • Yanıt 32.767 karakterden uzunsa.
    • Kullanılan protokol ftp:// ise.
    • Kullanılan protokol file:// ise.
  • Yanıtın boyutu: Bir hücre en fazla 32.767 karakter alabildiği için daha uzun yanıtlar hata verir. Yanıtın yalnızca bir bölümüne ihtiyacınız varsa sonucu SOLDAN ile kısaltabilir ya da XMLFİLTRELE ile gerekli öğeyi ayıklayabilirsiniz.
  • Sürüm: İşlev Excel 2013 ile eklenmiştir; daha eski sürümlerde bulunmaz.
  • İlgili işlevler:
    • URLKODLA: Adrese eklenecek parametre değerlerini URL kodlu metne çevirir; değerde boşluk, Türkçe karakter veya özel karakter varsa WEBHİZMETİ ile birlikte tercih edin.
    • XMLFİLTRELE: WEBHİZMETİ'nin döndürdüğü XML metninden XPath ile belirli bir öğeyi alır; yanıtın tamamı yerine tek bir alan gerekiyorsa kullanın.
    • SOLDAN: Uzun yanıtın yalnızca başındaki karakterleri göstermek için kullanın.
    • EĞERHATA: Bağlantı kurulamadığında #DEĞER! yerine okunaklı bir mesaj göstermek istediğinizde tercih edin.
Mini Sayfa içindeki sonuç hücresini seçerek gerçek formülü görebilirsiniz. Formüllü örnekleri indirilebilir Excel dosyasında da kullanabilirsiniz.

Desteklenen Excel sürümleri

  • Microsoft 365
  • Excel 2013
  • Excel 2016
  • Excel 2019
  • Excel 2021
  • Excel 2024
Yazar
ExcelDepo
İndirme sayısı
0
Gösterim
17
İlk yayın
Güncel
İngilizce
WEBSERVICE
Platformlar
Windows

Puanlar

0.00 Oylama 0 İnceleme
Geri
Üst