Wpis z mikrobloga

Mirki z #excel w jaki sposób najlepiej rozwiązać taki problem:
- w arkuszu "Arkusz 1" mam 3 kolumny - A, B, C
- do arkusza "Arkusz 2" chce wkleić tylko te wiersze A, B i C których wartości są takie same w kolumnie A, a różne w kolumnie B (kolumy A i B z "Arkusz 1"), wiersz z kolumny C ma się tylko przekopiować
- "Arkusz 1" będzie miał około 10 tys. wierszy

np. Arkusz 1:
A1 = 123 B1 = FG C1 = 500 zł
A2 = 458 B2 = FG C2 = 700 zł
A3 = 458 B3 = FG C3 = 200 zł
A4 = 123 B4 = HJ C4 = 600 zł

w takim przypadku do "Arkusza 2" wklei : wiersz 1 i wiersz 4

#vba #makro
  • 18
@danielemilka:
Nie jestem pewien czy dobrze dałeś słowo "wiersz" tyle razy czy może chodzi o komórkę, bo chcesz filtrować "wiersze" po A B, ale chcesz dać "wiersze" bez zmian w kolumnie C, jak AB nie spełnia warunku to na moje nie powinno być C. Też z tego co mi się interpretuje to ty nie chcesz nic zmieniać tylko wyciąć określone wiersze dla wartości w kolumnie A i B.
@danielemilka:
Chcesz żeby w "Arkuszu 2" zostały tylko wiersze z A które nie są równe B (jak spełnią ten warunek - żeby tam trafiły ale żeby wszystkie wartości były takie same jak wierszach z Arkusza 1)?
@Deykun tylko to ma sprawdzić i wyodrębnić te wartości które są takie same (minimum 2, ale może być i 10) i przekopiować te wiersze gdzie w kolumnie C dla tych samych z wcześniej znalezionych są różne
@danielemilka: mieszasz, bo raz piszesz, że wartości w kolumnie B mają być różne, potem

przekopiować te wiersze gdzie w kolumnie C dla tych samych z wcześniej znalezionych są różne


A co jeśli są 3 wiersze z tą samą wartością w A, a w B dwie są takie same, a trzeci inny? Łatwiej będzie znaleźć pomoc jak w prosty i jednoznaczny sposób podasz, które wiersze mają zostać, a które nie. Na przykład:
@brak_nicku wszystko się sprowadza do tego że chce sprawdzić czy dla tej samej wartości w kolumnie A są identyczne wartości w kolumnie B, jeżeli np w A są wartości: A1 = 222 A2= 222 A3 = 222 itd to w odpowiadające jej kolumnie B muszą być wszystkie takie same tj. B1=AG B2=AG B3=AG , a jak będzie jakiś inny znak ma to pokazać w jakiś sposób.
Mam już makro co wyrzuca wszystkie
a jak będzie jakiś inny znak ma to pokazać w jakiś sposób


@danielemilka: to dodaj w kolumnie D formułę:

=COUNTIFS($A$2:$A$7,A2,$B$2:$B$7,"<>" & B2)>0
Zwróci prawdę dla wierszy, które szukasz. Jeśli to ma być VBA, które kopiuje "złe" wiersze do nowego arkusza to może działać na podobnej zasadzie.
- kopia całej listy
- dodanie formuły
- autofiltr
- usunięcie wierszy z fałszem w D
@danielemilka: tu nie ma żadnej magii, formuła liczy ile w całej tabeli jest wierszy, które mają tę samą wartość w kolumnie A co dany wiersz i inną w B, jeśli wartość jest większa od 0 - znaczy, że wiersz jest "zły"