Šta je novo?

Excel uklanjanje duplikata iz dve kolone

SomiKnight

Slavan
Učlanjen(a)
09.06.2005
Poruke
842
Poena
330
Nisam uspeo da nađem rešenje na netu, pa da pitam ovde,
imam dve kolone,
u jednoj su uplate a u drugoj fakture,
potrebno je naći vrednosti koje nedostaju, ili ima poneka faktura koja nedostaje a ima uplate, ili obrnuto ima uplata a nema fakture.

U principu se lako rešava ako su podobne vrednosti, sa parama i nema dupliranih, odradi se conditional formating i lako se pronađe.
Ali šta ako to nije slučaj, na primer:

10 20
10 15
10 12
15 10...

Trebalo bi da spoji 10 sa 10, 15 sa 15, i da označi 20,10,10 i 12 da nemaju svog para.

Dakle krene od 10 iz leve kolone, nađe 10 u drugoj koloni, ali kako kada nastavi dalje, dakle sledeći broj 10 u levoj koloni, da sada ignoriše taj broj 10 iz desne kolone koji je već našao svog para.

U principu može da bude i destruktivan način, u smislu da briše podatke koje je pronašao duplirane, šta god, samo da ostanu nekako označene vrednosti gde je našao da nema jednake vrednosti.
 
Turi u treću kolonu formulu =A1=B1. Dobićeš rezultat True kada su unosi isti, a False kad nisu.
Zatim sortiraj po trećoj koloni, pa briši ili oboj, šta ti volja.
Ako želiš da ti inicijalni redosled ostane isti, dodaj jednu kolonu sa rednim brojevima pre bilo kog sortiranja, pa nakon brisanja ili bojenja, sortiraj podatke po toj koloni.

Poslato sa JAT-L29 pomoću Tapatoka
 
Poslednja izmena:
Taj predlog ne fukncioniše, konkretno sa primerom koji sam postavio daje samo FALSE u sva 4 reda.

Meni ne treba da poredi vrednosti u jednom redu, već vrednost iz A1 na primer koja je u ovom gornjem primeru broj 10, treba da se upari sa B4, pa da nastavi dalje.

VLOOKUP mi isto ne radi, na primer =VLOOKUP(A1;B:B;1;0) nađe duplikate 10 i 15 ali ih nađe i za A1 i A2 i A3 jer uvek krene od B1 pa na dole da pretražuje, i kada nađe iznos 10 za njega je to u redu.
 
Poslednja izmena:
U pravu si, nisam se pažljivo upoznao sa problematikom.
Uzmi prvu kolonu, iskopiraj je celu u praznu kolonu E, ukloni sve duplikate iz nje, pa stavi u kolonu F formulu =countif(B:B;E1). Dobićeš za rezultat koliko se puta unos iz E1 nalazi u koloni B.
Sad iskopiraj celu kolonu B u praznu kolonu H, ukloni duplikate iz nje, pa stavi formulu =countif(A:A;H1). Dobićeš za rezultat koliko se puta unos iz H1 nalazi u koloni A.
Pomoću vlookup funkcije, pridruži rezultate, pa upoređuj podatke.

Poslato sa JAT-L29 pomoću Tapatoka
 
Poslednja izmena:
Možda nisam dobro razumeo, ali ako jesam onda ovako:

Sve iskopiraš, izbaciš duplikate, dobiješ unique listu, onda sa countif izbrojiš u prvobitnim kolonama koliko se puta pojavljuju i vidiš koja štrči.
 
Izgleda da nisam najbolje uspeo da objasnim, ne razumemo se najbolje.
Ali uspeo sam nekako da zbudžim rešenje, deluje da funkcioniše, tako što briše duplikate koje je upario.
Evo ovako.

VBA kod je ovaj, našao nešto slično na ovoj stranici https://wellsr.com/vba/2016/excel/how-to-change-another-cell-with-a-vba-function-udf/ i blago modifikovao pa sam dobio ovu proceduru:

Kod:
Function CopyCellContents2(CopyFrom As Range, copyTo As Range, CopyA1 As Range)
CopyFrom.Parent.Evaluate "CopyOver2(" & CopyFrom.Address(False, False) & "," & copyTo.Address(False, False) & "," & CopyA1.Address(False, False) & ")"
CopyCellContents2 = ""
End Function

Private Sub CopyOver2(CopyA1 As Range, CopyFrom As Range, copyTo As Range)
    copyTo.Value = CopyFrom.Value
    CopyA1.Value = CopyFrom.Value
End Sub

Stavio sam da je C1 na primer prazan cell i onda u polje D1 ukucao sledeće:

Kod:
=CopyCellContents2(A1;$C$1;INDIRECT(ADDRESS((MATCH(A1;B:B;0));2)))

To upisuje vrednost polja C1, koje je prazno dakle, u A1 i u BX , gde je X vrednost kolone u kojoj je našao duplikat vrednosti iz A1.

Onda se to polje D1 prevuče na ostala D polja da računa, i na kraju izbriše sve parove.

Dobije se dakle od

Kod:
10	20
10	15
10	12
15	10

sledeće

Kod:
	20
10	
10	12

Dakle obrisao je uparene vrednosti, ostale su neuparene.

Zabole me glava :) , malo je zbrčkano rešenje, ako neko ima neko jednostavnije obzirom da je ovo ne baš jednostavno, molim da predloži.
 
Mislio sam ovako, ali ako ti je bitno da obrišeš i da ostanu na svom mestu - onda ne može tako.
Ovo su tvoje dve kolone:

2E7UuVf.png

Ovo je rešenje:

HWgEPYd.png

Dakle, desetku imaš tri puta levo i jednom desno, dve nemaju par. 15 i 25 po jednom i tamo i tamo. 30 nema svoj par i tako dalje.
 
@nidzesi
Da možda bi moglo tako, i onda da se kao što je rekao @takinada oboje kolone gde je jednako sa =I1=J1, ostanu neobojene razlike.
Jedino što se ovako gubi raspored uplata i faktura, mada bi moglo da se lako pretraži po vrednosti.

Hvala na trudu.
 
Nazad
Vrh Dno