تابع FILTERXML
دادهی دلخواه را از یک متن XML بیرون میکشد
ساختار تابع
=FILTERXML(xml, xpath)
برای مشاهده توضیح هر ورودی، نشانگر ماوس را روی نام آن نگه دارید.
توضیح کامل
تابع FILTERXML یک متن با ساختار XML و یک مسیر XPath میگیرد و مقادیر مطابق با آن مسیر را برمیگرداند.
مثال: خواندن همهی مقادیر تگ price از XML سلول A2
=FILTERXML(A2, "//price")
مثال: جدا کردن متنِ ویرگولدار به چند سلول، در نسخههایی که TEXTSPLIT ندارند
=FILTERXML("<t><s>" & SUBSTITUTE(A2, ",", "</s><s>") & "</s></t>", "//s")
مشخصات فنی
ویژگیهای فنی و سازگاری تابع
▣
دستهبندی اکسلی
وب
◷
اولین نسخه
Excel 2013
↦
نوع خروجی
آرایه
ϟ
Volatile
خیر
⌗
Dynamic Array
خیر
★
محبوبیت
۱۲ از ۱۰۰
ورودیهای تابع
| نام ورودی | نوع | وضعیت | توضیح |
|---|---|---|---|
xml
|
متن | الزامی | متن با ساختار XML معتبر |
xpath
|
متن | الزامی | مسیر XPath دادهی موردنظر |
دادهی دلخواه را از یک متن XML بیرون میکشد
کاربردهای تابع
✓
خواندن خروجی سرویس وب
استخراج مقدار از پاسخ XML دریافتشده با WEBSERVICE
✓
تقسیم متن در نسخههای قدیمی
جدا کردن متن با جداکننده در اکسلهای بدون TEXTSPLIT
خطاهای رایج و راهحل
#VALUE!
متن XML معتبر نیست، یا مسیر XPath نتیجهای ندارد
راهحل: بررسی ساختار XML و مسیر
نکات مهم
- اگر چند مقدار پیدا شود، نتیجه به صورت ستونی برگردانده میشود.
- اگر متن نویسههایی مثل & یا < داشته باشد، XML نامعتبر میشود.
- فقط در اکسل ویندوز کار میکند.
توضیحات بیشتر
در مثال دوم متن ابتدا به یک XML ساده تبدیل میشود و سپس هر بخش به صورت یک مقدار جدا خوانده میشود. این روش در Excel 2013 تا 2019 جایگزین TEXTSPLIT است.
