» Poradna » Programy

Souhlas nesouhlas odstranění duplicit

 |   |  Microsoft Windows 7 Firefox 15.0

Dobrý den, potřebovala bych poradit s databází. Mám databázi adres lidí, kteří provedli souhlas (1) a nesouhlas (0) se zasíláním informací (značím čísly). U některých lidí mám však uveden jak souhlas tak i nesouhlas a tyto lidi bych potřebovala vyfiltrovat ze seznamu pryč, aby jim informace nechodili a nezahrnuli se mi do seznamu se souhlasem (s jedničkami). Nejdřív totiž provedli souhlas, ale pak se až rozhodli o nesouhlas se zasíláním. Nechci to dělat ručně, jelikož se jedná velké množství adres. Můžete mi prosím někdo poradit? Děkuji moc.

Mohlo by vás také zajímat

Odpovědi na otázku

 |   |  Microsoft Windows 7 IE 9.0

pokud máte skutečně databázi typu SQL, použijte SQL dotaz se specifikací filtru na duplicitní záznamy - jména a pak opět přes SQL vymažte příslušné záznamy.Pokud za databázi považujete tabulku v Excelu, principiálně to to samé, akorát v GUI rozhraní Excelu

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 15.0

Děkuji za odpověď. Ano zapomněla jsem specifikovat, bohužel mám k dispozici pouze Excel. Přiznám se, že nevím řím máte na mysli rozhraní GUI :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 IE 9.0

No vyfiltrovat si jen ta duplicitní jména(záznamy) a pak buď označit ty které chcete smazat a smazat je a nebo na o použít MAKRO, což pokud to budete dělat častěji by bylo asi vhodnější, ale při jednorázovém úkolu nyní zbytečně zabijete čas tvorbou makra.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 15.0

ono se také totiž může stát že jeden člověk zadá dvakrát souhlas. Může tedy vzniknout dvakrát 1 a 1 nebo 0 a 1 nebo 1 a 0. To je právě ten zádrhel

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 IE 9.0

Mít SW udělán tak HLOUPĚ, že když dojde ke změně "souhlasu", tak neměnit dřívější a naopak přidat další (byť opačný) nebo dokonce při opakovaném souhlasu neotestovat existenci minulého, ale přidat záznam, byť tentýž, je trestuhodné.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 IE 9.0

Souhlas, jenze zde to vidim tak, ze data jsou ukladana v excelu bud rucne a nebo na zakade nejakeho importu (napr z TXT, CSV, XML) kde zdrojem muze byt treba obycejny email na ktery zakaznik svuj souhlas/nesouhlas zasila.proto jsem se ptal zda jde o plnohodnotnou db, a nebo "pseudo db" Excel.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 15.0

Přesně tak, jedná se pouze o stažení adres z csv do excelu. o žádnou plnohodnotnou databázi se nejedná.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Firefox 15.0

Udělám ti za 90Kč program, který vypíše duplicity, případně i odstraní..Email: squadleader@seznam.cz

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 21.0.1180.89

Pochopil jsem to tak, že chceš z excel tabulky v případě duplicity ponechat nejnovější záznam, ostatní duplicity odstranit.1. Zvol si pole, podle kterého identifikuješ daného člověka, říkejme mu Jméno.2. Setřiď tabulku nejdříve podle Jména (třeba vzestupně) a potom podle Datumu sestupně!3. Pak založ nový sloupec Souhlas2 a do něj použij =SVYHLEDAT(A2;A:B;2;0) za předpokladu, že v prvním sloupci je jméno a ve druhém Souhlas. Funkce bude vyhledávat podle Jména a dosadí hodnotu Souhlas. Funkce použije první nalezenou hodnotu pro dané jméno a tou je nejnovější souhlas nebo nesouhlas, protože je tabulka setřízena podle jména a podle datumu od nejnovějšího.4. Odstraň duplicitní záznamy, které mají stejné Jméno a Souhlas2 (Excel - Data - Odebrat duplicity, zaškrtni sloupce Jméno a Souhlas2).Pokud by excel při odstraňování duplicit zachovával první nalezený záznam shora dolů a odstraňoval ty další, pak by se mohl bod 3 úplně vynechat ale to nemám odzkoušené.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux Chrome 18.0.1025.168

Mimochodem, lišíš se od zadání. Zřejmě správně, ale lišíš )PrasatkoPee

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 15.0

Udělal bych to pomocí kontingenční tabulky, detailní postup uvedu na výslovné přání (v takovém případě napiš jestli umíš udělat kontingenční tabulku). Vidím možný problém, pokud identifikátorem je adresa a jeden člověk jí má zapsanou dvěma různými způsoby

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux Chrome 18.0.1025.168

Nechce se mi to pročítat celé, takže se budu opakovat. 1) seřaď si záznamy podle řídícího sloupce (jméno?), tím dostaneš duplicity do své blízkosti (pro jednoduchost sloupec C)2) do prázdného sloupce vypiš něco takového když (C2=C1;"ano";když (C2=C3;"ano";"ne"))3) přetáhni na celou délku stránky, Excel sám zajistí změnu proměnných4) Vyfiltruj a zkopíruj do finální tabulky ty bez duplicity (ne)5) vyfiltruj ty s duplicitou a zkopíruj do pomocné tabulky6) Vyfiltruj ty s nesouhlasem a dej je do finální tabulky, nebo zvol funkci smazání duplicit a dej do finální tabulkyTento postup nepočítá s násobným nesouhlasem, ten se bude opakovatPrasatkoPee

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 21.0.1180.89

Takovou blbinu jsem už dlouho nečetl Hlavně se nadřít, že jo.Funkční popis řešení na 30 s jsem napsal ve 13:26, ovšem mistr světa amoleta PrasePí to pročítat nebude a raději načurá do dalšího vlákna.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux Chrome 18.0.1025.168

Jasně, zvláště když moje řešení není závislé na implementaci svyhledat a tedy na řešení od MS. Ale já vím, že mě miluješ )PrasatkoPee

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 21.0.1180.89

Ty jsi ještě větší babrák než Babica:"A když máte limetku, tak ji tam nedávejte, bylo by to dobré!" Navíc tvoje "řešení" nefunguje, jak sám přiznáváš v poslední větě.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux Chrome 18.0.1025.151

Jsi evidentně zdatnější v použití kancelářského balíku MS než já. )PrasatkoPee

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Nesouhlas, Souhlas