Toto je jiná problematika, ale má také více řešení.
A) pro případ, že se v jednotlivých seznamech ze sloupce „A", „B" nevyskytují duplicity :
Použijeme vzorec
=IF(COUNTIF($B$1:$B$1000;A1)>0;1;"")
Nejprve vložíme vzorec do C1 a odtudo ho kopírujeme dolů na konec s daty. Ihned vzorce z tohoto úseku C1:C10000 načteme do paměti a vložíme zpět jen čísla. Následně seřadíme úsek A1:C10000 podle „C" a řádky s jedničkou ve sloupci „C" smažeme. (pokud potřebujete seřadit na původní pořadí přidáte ještě sloupec s ROW(), který zkopírujete se vzorcem IF a nakonec seřadíte podle tohoto sloupce. Na závěr smažete všechny pomocné sloupce.
B) pro případ, kdy se mohou v některém sloupci původních dat vyskytovat duplicity :
Nejprve upravíme nejlépe na samostatných listech seznam ze sloupce „A" tak že přiřadíme značku množiny – například „a" před, nebo za sloupec se jmény. Podobně pro seznam ze sloupce „B" vybavíme značkou například „b".
Nyní oba seznamy sloučíme do jednoho a setřídíme podle sloupce se jmény. Do dalšího sloupce („C") vložíme vzorec :
=IF(OR(A1=A2;A3=A2)=1;1;"")
Tento vzorec použijeme ve sloupci „C" a od řádku číslo 2. (Vložíme prázdný řádek nad seznamy pokud tam už není například hlavička), a zkopírujeme do C2:C10001 (na konec sloučeného seznamu ve sloupci „C" – podle dat v„A". ). Opět celý úsek vzorců C2:C10001 načteme do paměti a zpět vložíme jen čísla.
Nakonec setřídíme úsek A2:C10001 podle „C" – tím se řádky s jedničkou dostanou k sobě a tyto řádky smažeme. podobně se zbavíme zbylých jmen z množiny "b" (jsou - li tam nějaká). Opět platí, že pokud byste potřeboval původní pořadí přidáte na začátku také sloupec s ROW() a výsledek podle tohoto na konci seřadíte a tento pomocný smažete.
Upozorňuji na to, že v seznamech mohou být málo zjevné odlišnosti. Například pokud mezi jménem a příjmením není stálé pořadí (mohou být přehozené), nebo je v jednom seznamu chyba v interpunkci (i,í) a podobně. V takových případech by se mělo testovat například jednotlivě jméno a příjmení. Jsou k tomu vzorce, ale to by už chtělo ukázku.
Počet 10 tisíc řádků se vzorci už může být velká zátěž pro počítač, potom bych doporučil rozdělit na dvě, nebo více menších úloh apod.
V podobných případech se většinou ukáže něco, co autor dotazu před tím netušil a byť se sebe více snažil, nepopsal problém validně. Takže kdykoliv na něco podobného narazíte – nebojte se znovu zeptat. Většina těch co odpovídají mají s podobným postupem zkušenosti.
PS:
Pokud byste potřeboval mazat kratší seznam v případě ad A), změníte jen buňku testovaného sloupce plus úsek delšího sloupce ve kterém vyhledávate tedy :
=IF(COUNTIF($A$1:$A$1000;B1)>0;1;"")
Předpokladem je, že databázi úseku máte někde poznamenanou a potřebujete zachovat pouze jména z kratšího seznamu. Potom byste zřejmě zbytek sloupce "A" smazal. Jiným postupem by byl dotaz do různých listů. V případě potřeby může být dotaz veden i do různých sešitů. Postupů může být více.
Editoval neutr (23. 7. 2021 05:51:33)
Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ