Tabiki, dediğiniz şekilde revize ederek tekrardan yükledim.@brkayahan
Anlaşılan benim önerimi kullanmayacaksınız.
O halde formülle çözüm için Sn. @52779 öneride bulunacaktır (konuyu fark edecektir) .
Bence; gereksiz yazışma yapılmasını önlemek bakımından, birkaç hücre için
olması gereken sonuçları olması gereken konumlarına elle yazarak örneklendirip bu haliyle yeni bir örnek belge yüklemelisiniz.
.
ibaresi olduğundan, her bir Beden Kod Numarası için bu verilerin tekrarlı şekilde yazılması gerektiğini düşünüyorum...Ürün Barkoduna bağlı olarak çekilmeli (temel amacım ürün barkodunun hangi kumaş bilgisine sahip olduğunu çekmek )
Office 2016 xmlfiltre ve yerinekoy komutunu denedim. Fakat ilk metni ayırıp gösteriyor. Diğerlerini ise diğer hücrelere ayırmıyor. Nerde hata yapıyorum anlayamadım. Excel sürümümle mi alakalıSelamlar,
Beden Kodlarını listelemek için kullandığımız
=EĞERHATA(İNDİS(XMLFİLTRELE("<a><b>"&METİNBİRLEŞTİR("</b><b>";;'B1:B10'!$A$2:$C$1000)&"</b></a>";"//b");(SATIRSAY($A$1:A1)-1)*3+1);"")
formülünde,
XMLFİLTRELE işlevi ana işlev olup, XMLFİLTRELE işlevi belirtilen xpath'i kullanarak XML içeriğinden belirli verileri döndürür. Buradaki yapı standarttır.
Yani
Bunun için ilk önce, yazılan metinleri geçerli bir XML e dönüştürmek gerekir.
Örneğin A1 hücresinde sadece Boşluklar kullanarak yazılmış bir cümle olsun.
"<Metin><a>"&YERİNEKOY(A1;" ";"</a><a>")&"</a></Metin>")
ile A1 hücresinde kelimeler arasındaki boşlukları "</a><a>" yaparak cümle içindeki kelimeleri içeren XML yapısı elde edilir.
XMLFİLTRELE ile
XMLFİLTRELE("<Metin><a>"&YERİNEKOY(A1;" ";"</a><a>")&"</a></Metin>";"xpath")
şeklinde formüle edilerek, xpath içeriğine göre işlem yapılacaktır.
xpath ile ilgili referansı aşağıdaki bağlantıda görebilirsiniz.
Formülümüzde ise xpath olarak "//b" kullanılmıştır.. Anlamı ise tüm listenin elde edilmesidir.
Bir örnek
Burada isimler arasında Virgül kullanıldığından Virgüllerin yerlerine "</a><a>" konularak XML yapısı elde edildi
xpath olarak "//b" kullanıldı ve liste elde edildi.
Aynı şekilde, xpath olarak "//a[not(. = preceding::a/.)]" kullanılarak BENZERSİZ isimler listesi oluşturulmakta...
Bir örnek daha
Burada ise, xpath olarak "/x/a[11]" kullanılarak A1 de bulunan ifadenin 11. kelimesi alınmakta...
Formülümüzdeki METİNBİRLEŞTİR işlevi ise XML yapısı elde edilmek için kullanıldı...
METİNBİRLEŞTİR işlevinin özelliği, her bir metin ayrı ayrı yazılarak, ya da formül kullanarak metinleri birleştirmektir. Bu işlevde Sayfa1 : Sayfa5!A5:C15 gibi 3D formülleri kullanılabilmektedir.
Formülümüzde
XMLFİLTRELE("<a><b>"&METİNBİRLEŞTİR("</b><b>";;'B1:B10'!$A$2:$C$1000)&"</b></a>";"//b")
kısmı ile elde edilen liste ise aşağıdaki şekildedir....
Bu listenin 1. satırından itibaren her 3 satırda bir olanlar Beden numarasını vermekte... Yani formülümüzdeki (SATIRSAY($A$1:A1)-1)*3+1) ile
1, 4, 7.... gibi 1. satırından itibaren her 3 satırda bir olanların liste satır numaraları bulunmakta.... Ve
İNDİS(Liste;(SATIRSAY($A$1:A1)-1)*3+1)) ile de Bu listenin istenilen satır numaralarına karşılık gelen isimler yazdırılmaktadır....
Umarım açıklayabilmişimdir....
Saygılarımla...
İlginiz için çok teşekkürler, araştırma yaparken denk geldim. Bu konu hakkında yeni bir konu açarak yardım talebinde bulunurum.@sbsezgin
Yaptığınız işlemlere yönelik, dokümanınızın bir örneği ya da
sütun/satır numaralarının da olduğu ve formülünüzün de bulunduğu bir resim olmadan
ne yapmak istediğinizi anlamak maalesef ki mümkün değil.
Net olarak, açıklamalarınızın yapılması durumunda, yardımcı olunacaktır.
Ayrıca,
Bu konu, çözümlenmiş ve kapanmış bir konu olduğundan, Yeni bir konu açmanızda da yarar görüyorum...
Bu yüzden sadece web sitemizin çalışması yönelik temel çerezleri ve deneyiminizi geliştirmek için isteğe bağlı çerezleri kullanıyoruz.
Çerezler hakkında daha fazla bilgi görüntülemek ve tercihlerinizi yapılandırmak için tıklayın