Özellik ikonu

XMLFİLTRELE

İndirme izni yok

Genel Bakış

XMLFİLTRELE (FILTERXML), XML biçimindeki bir metinden XPath ifadesiyle belirtilen veriyi döndürür. Bir hücredeki XML içeriğinden etiket değerlerini ayıklamak ve WEBHİZMETİ işlevinin getirdiği XML yanıtını işlemek için kullanılır.

Söz dizimi ve parametre​

TRTürkçe
=XMLFİLTRELE(xml; xpath)
ENEnglish
=FILTERXML(xml, xpath)
Kategori
Web
İngilizce adı
FILTERXML
Platform
Windows
2 bağımsız değişken 2 zorunlu
Bağımsız değişken Durum Ne işe yarar
xmlxml Zorunlu XML biçimindeki geçerli metni, bu metni içeren bir hücreyi veya XML döndüren bir işlemi belirtir.
xpathxpath Zorunlu XML içinden hangi verinin alınacağını belirten XPath biçimindeki metni belirtir.
Geçerli kullanımlar
=XMLFİLTRELE(A2;B2)
=XMLFİLTRELE(A2;"//yemek/ad")
=XMLFİLTRELE(WEBHİZMETİ(A2);B2)
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
XML etiket adları ve XPath ifadeleri büyük küçük harfe duyarlıdır; etiketleri XML metninde yazıldığı gibi kullanın. Formülün içinde XPath ifadesini çift tırnak içinde metin olarak yazın.

1. Etiket değerini alma​

A sütunundaki XML metinlerinden B sütunundaki XPath ifadesine uyan değeri alalım. C2 hücresine aşağıdaki formülü yazıp aşağı kopyalayın:
Excel formülü
=XMLFİLTRELE(A2;B2)
=FILTERXML(A2,B2)
XMLFİLTRELE
Formülünü incelemek için bir hücre seçin.
ABC
1XML metniXPathSonuç
2<menu><yemek><ad>Lahmacun</ad></yemek></menu>//yemek/adLahmacun
3<liste><sehir><ad>İzmir</ad></sehir></liste>//sehir/adİzmir
4<kayit><personel><ad>Zeynep</ad></personel></kayit>//personel/adZeynep
TemelExcelDepo v1.0.0
Sonuçlar sırasıyla Lahmacun, İzmir ve Zeynep olur. Her satırda XPath ifadesi, XML içindeki etiket yolunu izleyerek ilgili düğümün içeriğini bulur. Formül her satırda aynı yapıda olduğundan yalnızca XML metni ve XPath ifadesi değişir.

2. Birden çok düğümden sıra ile seçme​

Aynı XML metninde üç yemek bulunuyor. B sütunundaki XPath ifadesi hangi düğümün alınacağını belirler. C2 hücresine aşağıdaki formülü yazıp aşağı kopyalayın:
Excel formülü
=XMLFİLTRELE(A2;B2)
=FILTERXML(A2,B2)
XMLFİLTRELE
Formülünü incelemek için bir hücre seçin.
ABC
1XML metniXPathSonuç
2<menu><yemek><ad>Lahmacun</ad></yemek><yemek><ad>Pide</ad></yemek><yemek><ad>Mantı</ad></yemek></menu>//yemek(1)/adLahmacun
3<menu><yemek><ad>Lahmacun</ad></yemek><yemek><ad>Pide</ad></yemek><yemek><ad>Mantı</ad></yemek></menu>//yemek(2)/adPide
4<menu><yemek><ad>Lahmacun</ad></yemek><yemek><ad>Pide</ad></yemek><yemek><ad>Mantı</ad></yemek></menu>//yemek(last())/adMantı
Düğüm SırasıExcelDepo v1.0.0
Sonuçlar sırasıyla Lahmacun, Pide ve Mantı olur. Köşeli parantez içindeki sayı, aynı adı taşıyan düğümlerden kaçıncısının alınacağını belirtir. last() ise her zaman sonuncu düğümü seçer; düğüm sayısı değişse bile ifadeyi değiştirmeniz gerekmez.

3. XPath ifadesini sıra numarasıyla oluşturma​

XPath ifadesini sabit yazmak yerine A sütunundaki sıra numarasından metin birleştirme ile oluşturabilirsiniz. C2 hücresine aşağıdaki formülü yazıp aşağı kopyalayın:
Excel formülü
=XMLFİLTRELE(B2;"//sehir["&A2&"]/ad")
=FILTERXML(B2,"//sehir["&A2&"]/ad")
XMLFİLTRELE
Formülünü incelemek için bir hücre seçin.
ABC
1SıraXML metniŞehir
21<liste><sehir><ad>Ankara</ad></sehir><sehir><ad>İzmir</ad></sehir><sehir><ad>Bursa</ad></sehir></liste>/ad")]Ankara
32<liste><sehir><ad>Ankara</ad></sehir><sehir><ad>İzmir</ad></sehir><sehir><ad>Bursa</ad></sehir></liste>/ad")]İzmir
43<liste><sehir><ad>Ankara</ad></sehir><sehir><ad>İzmir</ad></sehir><sehir><ad>Bursa</ad></sehir></liste>/ad")]Bursa
Sıra NumarasıExcelDepo v1.0.0
Sonuçlar sırasıyla Ankara, İzmir ve Bursa olur. Formül, A sütunundaki sayıyı XPath ifadesinin içine ekleyerek her satırda bir sonraki şehri seçer. Sıra numarası sütunu yerine SATIR işlevini kullanarak da aynı sonucu elde edebilirsiniz.

4. Geçersiz XML ve hata durumları​

XML metni geçerli değilse işlev hata verir. C2 hücresine aşağıdaki formülü yazıp aşağı kopyalayın:
Excel formülü
=XMLFİLTRELE(A2;B2)
=FILTERXML(A2,B2)
XMLFİLTRELE
Formülünü incelemek için bir hücre seçin.
ABC
1XML metniXPathSonuç
2<menu><yemek><ad>Pide</ad></yemek></menu>//yemek/adPide
3<menu><yemek><ad>Pide</ad></menu>//yemek/ad#DEĞER!
4<x:menu><x:yemek><x:ad>Pide</x:ad></x:yemek></x:menu>//yemek/ad#DEĞER!
HatalarExcelDepo v1.0.0
Sonuçlar sırasıyla Pide, #DEĞER! ve #DEĞER! olur. İlk satırdaki XML geçerlidir ve değer alınır. İkinci satırda açılan yemek etiketi kapatılmadığı için XML geçersizdir. Üçüncü satırda ise tanımlanmamış bir ad alanı öneki kullanıldığından işlev #DEĞER! hatası verir.

Kullanırken dikkat edin​

  • xml parametresi: xml parametresi XML biçiminde bir metin olmalıdır ve 255 karakterden kısa olmalıdır. xml geçerli değilse işlev #DEĞER! hatası verir. xml geçersiz bir ad alanı içeriyorsa da sonuç #DEĞER! olur.
  • xpath parametresi: xpath parametresi, XML içindeki hangi düğümün alınacağını belirten XPath biçiminde bir metin olmalıdır. Örneğin //yemek/ad ifadesi yemek etiketinin içindeki ad etiketinin değerini, //yemek[2]/ad ifadesi ikinci yemek düğümünün adını verir.
  • Web hizmeti ile kullanım: WEBHİZMETİ işlevinin getirdiği XML yanıtını xml parametresi olarak verebilirsiniz. Servis adresinin A2 hücresinde yazılı olduğu bir örnek aşağıdadır:
    Excel formülü
    =XMLFİLTRELE(WEBHİZMETİ(A2);"//city/name")
    =FILTERXML(WEBSERVICE(A2),"//city/name")
    Servis geçerli bir XML döndürmezse ya da yanıt bulunamazsa sonuç #DEĞER! olur. Adres içinde özel karakterler varsa URLKODLA işleviyle adresi kodlayabilirsiniz.
  • Sürüm ve platform: İşlev Excel 2013 ile eklenmiştir ve yalnızca Windows sürümünde kullanılabilir.
  • İlgili işlevler: WEBHİZMETİ: Bir web servisinden XML yanıtı almak için kullanılır; sonucu XMLFİLTRELE içine xml olarak verirsiniz. URLKODLA: Web servisi adresindeki özel karakterleri kodlamak için tercih edilir. SATIR: XPath ifadesindeki düğüm sırasını satır numarasından üretmek istediğinizde kullanılabilir.
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
8
İlk yayın
Güncel
İngilizce
FILTERXML
Platformlar
Windows

Puanlar

0.00 Oylama 0 İnceleme
Geri
Üst