Patryk Szachewicz

Patryk Szachewicz Assistant Product
Manager, Komputronik
S.A.

Temat: PRZYPISYWANIE CEN NA PODSTAWIE ZAWARTOŚCI TEKSTU W KOMÓRCE

Witam,

Od dwóch dni trapi mnie jeden problem. Mam dwa arkusze (patrz zdjęcie).


Obrazek


Potrzebuję podgrać ceny dla danych produktów. Jednak nie mogę skorzystać z funkcji wyszukaj.pionowo, ponieważ w Arkusz1 mam podane nazwy produktów, które w tekście zawierają kod producenta, po którym muszę zidentyfikować dany produkt z Arkusza2 i przypisać do niego cenę. Co ciekawe, w Arkuszu1 pojawiają się też duble, które koniecznie muszą tam zostać (!). Czyli dla przykładu dla produktu "TELEWIZOR ABC 5" CENA 1 = 5zł, CENA 2 = 8zł, i tak samo ma być dla "ABC 5 SUPER TELEWIZOR"

Jeśli ktoś byłby mi w stanie pomóc z moim problemem, będę dozgonnie wdzięczny.

Z góry dziękuję za propozycje.

Pozdrawiam,
PSTen post został edytowany przez Autora dnia 13.04.15 o godzinie 21:47
Grzegorz C.

Grzegorz C. Specjalista,
Uniwersytet Śląski

Temat: PRZYPISYWANIE CEN NA PODSTAWIE ZAWARTOŚCI TEKSTU W KOMÓRCE

Tak w skrócie: formuła tablicowa INDEKS z zagnieżdżonymi PODAJ.POZYCJĘ i ZNAJDŹ - która to będzie argumentem przeszukiwana_tablica dla PODAJ.POZYCJĘ.

Załącz na jakimś serwerze plik z przykładowymi danymi.
Patryk Szachewicz

Patryk Szachewicz Assistant Product
Manager, Komputronik
S.A.

Temat: PRZYPISYWANIE CEN NA PODSTAWIE ZAWARTOŚCI TEKSTU W KOMÓRCE

Dziękuję za szybką odpowiedź, poniżej wstawiam link z przykładowym plikiem.

http://przeklej.org/file/ZPUAS9/TEST.MAKRA.xlsmTen post został edytowany przez Autora dnia 14.04.15 o godzinie 07:17
Andy L.

Andy L. ITM, VUB

Temat: PRZYPISYWANIE CEN NA PODSTAWIE ZAWARTOŚCI TEKSTU W KOMÓRCE

arkusz1 komorka B2 (lub gdziekolwiek): =IFERROR(LOOKUP(2^15,SEARCH(kod,A2),cena1),"")
i w dół
arkusz1 komorka C2 (lub gdziekolwiek): =IFERROR(LOOKUP(2^15,SEARCH(kod,A2),cena2),"")
i w dół

=JEŻELI.BŁĄD(WYSZUKAJ(2^15;SZUKAJ.TEKST(kod;A2);cena1);"")
=JEŻELI.BŁĄD(WYSZUKAJ(2^15;SZUKAJ.TEKST(kod;A2);cena2);"")

zdefiniowana nazwa: kod, zakres: =Arkusz2!$A$2:$A$12
zdefiniowana nazwa: cena1, zakres: =Arkusz2!$B$2:$B$12
zdefiniowana nazwa: cena2, zakres: =Arkusz2!$C$2:$C$12

that's all, folks :)

edit:
IFERROR działa od 2007 w górę, wcześniejsze wersje - trzeba się bawić w IF i ISNATen post został edytowany przez Autora dnia 15.04.15 o godzinie 15:51
Iwona S.

Iwona S. Trener MS Office,
Specjalista ds.
szkoleń, HR,
E-marketing

Temat: PRZYPISYWANIE CEN NA PODSTAWIE ZAWARTOŚCI TEKSTU W KOMÓRCE

Jak wyglądają kody produktów? Mają taką samą ilość znaków, zaczynają się od tej samej litery/liter/nr? Jeżeli system tworzenia kodów jest analogiczny do tego z przykładu to można najpierw wyłuskać kod a potem po nim wyszukać:
dla ceny 1 =WYSZUKAJ.PIONOWO(FRAGMENT.TEKSTU(A2;ZNAJDŹ("ABC";A2;1);5);Arkusz2!$A$2:$C$12;2;0)
dla ceny 2 =WYSZUKAJ.PIONOWO(FRAGMENT.TEKSTU(A2;ZNAJDŹ("ABC";A2;1);5);Arkusz2!$A$2:$C$12;3;0)

PS. + za poprawną pisownię pewnego słowa :)
Grzegorz C.

Grzegorz C. Specjalista,
Uniwersytet Śląski

Temat: PRZYPISYWANIE CEN NA PODSTAWIE ZAWARTOŚCI TEKSTU W KOMÓRCE

W B2 formuła tablicowa i przeciągnij do dołu i w prawo:
=INDEKS(Arkusz2!$B$2:$C$12;PODAJ.POZYCJĘ(PRAWDA;CZY.LICZBA(ZNAJDŹ(Arkusz2!$A$2:$A$12;$A2));0);NR.KOLUMNY()-1)

Następna dyskusja:

VBA wyszukiwanie po fragmen...




Wyślij zaproszenie do