Temat: Kopiowanie wierszy do innego arkusza jeśli wartość...

Hej,

mam następujący problem:

Tworzę cennik (są na nim 2 arkusze, jeden to cennik, 2 arkusz to szczegółowa lista produktów z arkuszem zamówień).

Chciałbym stworzyć 3 arkusz, który kopiowałby TYLKO wiersze w których ilość zamówionych towarów jest większa niż 0.

Nieco więcej szczegółow - z arkusza o nazwie "Order form" chciałbym do nowego arkusza (nazwijmy go "Order",

skopiować:

1) Kolumny BCDFH z arkusza "order form" (ale do komórek ABCDE w arkuszu "Order"

2) Zawartość komórki I z arkusza 'order form" ale TYLKO pod warunkiem, że jest większa od 0.

3) Kopiowanie wierszy w punkcie 1 tylko przy spełnieniu warunku w punkcie 2

Wiem, że brzmi to nieco skomplikowanie, ale zamysł jest dość banalny - chodzi o to, by z arkusza zamówień (na którym klient sam może je składać) automatycznie wyenerowało się samo zamówienie (dla fakturzystek).

Wiem, że można to zrobić banalnie "na piechotę" za pomocą sortowania i wycinania, ale chciałym aby mój cennik generował takiego "gotowca".

Czy ktoś ma jakiś pomysł na rozwiązanie?

Dzięki!
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Kopiowanie wierszy do innego arkusza jeśli wartość...

Musisz wykonać pętlę.
Czyli deklaracja zmiennych, ponieważ one będą iterować w pętli, szukać ostatniego wolnego wiersza, odróżniać arkusz źródłowy od docelowego.
Na koniec warunek sprawdzający <>0 lub <>""

i tylko tyle.

Temat: Kopiowanie wierszy do innego arkusza jeśli wartość...

W sumie udało mi się samemu wpaść na prostszy sposób:

Stasując formułę:

=JEŻELI('Order form'!I2>0;'Order form'!I2;) uzyskuję albo wartość zamówienia alb zero.

w komórce obok stosując formułę:

=JEŻELI(E2>0;'Order form'!F2;0), w zależnośći od zawartośći komórki wyświetla mi potrzebną informację lub zero.

Pytanie - jak zrobić, żeby arkusz NIE wyświetlal mi komórek o wartości 0 ( a te, które mają wartość "przesuwał" na górę albo, w najgorszym wypadku. sortował mi komórki według wartośći w kolumnie D

Edit - chodzi mi o sortowanie automatyczne a nie tabelę przestawną,Ten post został edytowany przez Autora dnia 07.03.16 o godzinie 16:04
Kamil Miąskiewicz

Kamil Miąskiewicz Financial Analyst,
Carlsberg Shared
Services

Temat: Kopiowanie wierszy do innego arkusza jeśli wartość...

Adam S.:
W sumie udało mi się samemu wpaść na prostszy sposób:

Stasując formułę:

=JEŻELI('Order form'!I2>0;'Order form'!I2;) uzyskuję albo wartość zamówienia alb zero.

w komórce obok stosując formułę:

=JEŻELI(E2>0;'Order form'!F2;0), w zależnośći od zawartośći komórki wyświetla mi potrzebną informację lub zero.

Nie wiem na co wpadłeś, ale pewnie bolało..

.. wszystko co zrobiłes to tylko przeniosłeś info do innego akrusza.. co mogło by sie obyć formułą
='Order form'!I2
na ch.. to "jeżeli"..?;)

tak czy inaczej.. stwórz w sheet1 dodatkowa kolumnę gdzie będziesz zliczał kolumnę I więszką od zera (może być ktrakolwiek inna kolumna z liczbami) poprzez zakres sfreezowany początkiem ($I$1:I1) oraz countifs.. w arkuszu do Pań robisz index (z matchem) i uzależniach go od numeru wiersza..

Pokombinuj.. jak się nie uda wróc z rezultatem
Artur D.

Artur D. Solution Architect,
Atos IT Services Sp.
z o.o.

Temat: Kopiowanie wierszy do innego arkusza jeśli wartość...

Adam S.:
Pytanie - jak zrobić, żeby arkusz NIE wyświetlal mi komórek o wartości 0 ( a te, które mają wartość "przesuwał" na górę albo, w najgorszym wypadku. sortował mi komórki według wartośći w kolumnie D

Edit - chodzi mi o sortowanie automatyczne a nie tabelę przestawną,

Można coś takiego zrobić, ale formuła nie bedzie prosta -

AGGREGATE( o ile masz excel 2010 lub wyżej) + INDEX + ROW() + IFERROR

Automatycznie przeniesie tylko warości > 0 i posortuje je zgodnie z wartością zamówienia / numerem kolejnym zamówienia/ innym kryterium z zakładki Order form

//EDIT

Ta formuła do ściągnięcia danych malejąco z order form (założyłem, że tam jest kolumna sortowania D o której wspominasz - potem wystarczy vlookup do ściągnięcia reszty danych). Oczywiście będzie problem z jej działaniem jak w kolumnie D nie ma unikalnych wartości liczbowych

=IFERROR(AGGREGATE(14;3;(1/('Order Form'!$I$2:$I$1000>0))*('Order Form'!$D$2:$D$1000);ROW()-1);"")

A ta formuła ściągnie wartości z arkusza zamówienia od pierwszego elelementu >0 do ostatniego po numerze wiersza (zakłdam, że formuła zaczyna się w wierszu 2)

Wartości zamówienia:
=IFERROR(INDEX('Order Form'!$I$1:$I$1000;AGGREGATE(15;3;(1/('Order Form'!$I$2:$I$1000>0))*ROW('Order Form'!$I$2:$I$1000);ROW()-1););"")

Szczegóły zamówienia:
=IFERROR(INDEX('Order Form'!$F$1:$F$1000;AGGREGATE(15;3;(1/('Order Form'!$I$2:$I$1000>0))*ROW('Order Form'!$I$2:$I$1000);ROW()-1););"")Ten post został edytowany przez Autora dnia 14.03.16 o godzinie 12:44
Kamil Miąskiewicz

Kamil Miąskiewicz Financial Analyst,
Carlsberg Shared
Services

Temat: Kopiowanie wierszy do innego arkusza jeśli wartość...

No na bank nie ma unikatowej wartosci w D jesli to czesc zamowienia, ktora ma byc m.in. kopiowana do nowego arkusza..
Artur D.

Artur D. Solution Architect,
Atos IT Services Sp.
z o.o.

Temat: Kopiowanie wierszy do innego arkusza jeśli wartość...

Kamil M.:
No na bank nie ma unikatowej wartosci w D jesli to czesc zamowienia, ktora ma byc m.in. kopiowana do nowego arkusza..

Tak jak napisałem - jak nie ma unikalnych wartości w D to vlookup nie ściągnie reszty danych poprawnie i nie ma sensu korzystać z tej formuły.

Natomiast formuły na wartość zamowienia i szczegóły z kolumny F są niezależne od pierwszej propozycji.
Kamil Miąskiewicz

Kamil Miąskiewicz Financial Analyst,
Carlsberg Shared
Services

Temat: Kopiowanie wierszy do innego arkusza jeśli wartość...

dlatego wyżej podałem jak wygenerować unikatowe numery

Następna dyskusja:

Ukrywanie/usuwanie wierszy ...




Wyślij zaproszenie do