» Poradna » Programy

Excel - funkce nebo příkaz na určení četností názvů

Odpovědět  |  Zobrazit bez stromu  |  Upozornit redakci  |  nových odpovědí: 13/13
 |   |  Microsoft Windows 8 Chrome 26.0.1410.43  |  [213.210.191.---]

Zdrávím,mám excelovský soubor s jednotlivými názvy společností cca 30 a u každé společnosti ve sloupci jsou uvedeny názvy obcí v kterých společnost působí jsou to počty od 5 do 90 cca. Potřeboval bych v excelu nějakou jednoduchou statistickou analýzu a to konkrétně zjistit kolikrát je v tom excelovském sešitu uvedena Praha, Brno atd. Prostě četnosti výskytu jednotlivých názvů. Jak na to? Děkuji

Odpovědi na otázku

 |   |  Microsoft Windows XP Chrome 25.0.1364.172

Použít kontingenčí tabulku?Ale možná by stačilo použít funkci COUNTIF()

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 Chrome 26.0.1410.43  |  [213.210.191.---]

V kontingenční tabulce se mi to nedaří, nevím jestli je to ten správný nástrojcountif to umí jednotlivě a to bych to už rovnou mohl spočítat ručně, mě by se hodil nástroj vzhledem k tomu že těch obcí jsou stovky až tisíce vyhodil rovnou:Praha - 35xBrno - 28xatd

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Chrome 25.0.1364.172

COUNTIF to sice umí jednotlivě, ale porovnávat to proti seznamu by šlo, jelikož pak by stačilo vzorec kopírovat.Co se týče kontingenční tabulky, tak to vhodnej nástroj je skoro určitě. Záleží ale na tom jak je navržená struktura té tabulky. Co přesně se s kontingenční tabulkou nedaří? Případně, nešel by někde vystavit vzorek té tabulky? (není potřeba reálný data, jen aby byla vidět struktura a co je potřeba přepočítat)mimochodem, o jakou verzi excelu se konkrétně jedná?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 Chrome 26.0.1410.43  |  [213.210.191.---]

Moc děkuju za odpoveď! Mám Office 2010Tabulka je ve tvaru:Společnost A Společnost BPraha PrahaBrno ZlínPlzen PlzeňOlomouc AšSnad to takto naznačit stačí

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 Chrome 26.0.1410.43  |  [213.210.191.---]

společnost A a B jsou ve sloupcích vedle sebe

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 26.0.1410.64  |  [88.101.97.---]

Já bych to udělal makrem - projít buňku po buňce, nalezenou hodnotu porovnat s dvourozměrným seznamem (jmeno, pocet), pokud v poli už existuje, zvýšit počet, pokud ne, vložit nový řádek.Kdybych makra neuměl, vypsal bych si seznam všech měst a vedle něj funkcí countif s parametrem z seznamu (vzorec zadat maticově t.j. CTRL+SHIFT+ENTER) zobrazoval počet výskytů.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 Chrome 26.0.1410.43  |  [213.210.191.---]

Jednodušší cesta není? Makry opravdu nevládnu...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 20.0  |  [65.197.242.---]

VŽDY potřebuješ seznam těch měst a jim pak jen nalinkuješ počty (třeba i tím COUNTIF). Co takhle si nechat ten seznam měst nechat vygenerovat takto:http://office.microsoft.com/en-us/excel-help/delete-d...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Chrome 25.0.1364.172

Takže jestli jsem to pochopil správně, tak v každým případě budeš potřebovat pomocnej sloupec se seznamem všech měst.V případě kontingenční tabulky:Přidat sloupec přímo ke společnostem, zahrnout to výběru pro vytvoření tabulky. Pak ten pomocnej hodit na některou osu popisků, a všechny firmy jako data, a už by se to mělo přepočítat.V případě COUNTIF:(dejme tomu že první město v pomocném seznamu je v buňce A2, a že buňky s městama u společností zabírají na jiném listě A2 až B6)pak vzorec do B2 (vedle pomocného seznamu) bude =COUNTIF($A$2:$B$6, A2) a tento pak pouhým tažením překopíruj do celýho pomocnýho seznamu. U každýho města v seznamu bude počet výskytů u spoečností.(Dá se to pochopit? )

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 Chrome 26.0.1410.43  |  [213.210.191.---]

ok, tak mám další problém, jak naházet všechny data do jednoho sloupce. btw to by byla asi nejjednodušší cesta ne? Hodit všechno do jednoho sloupce a přes kontingeční tabulku udělat četnosti nebo se pletu?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Chrome 25.0.1364.172

Nemyslím že by to bylo jednodušší. Je to hromada kopírování (to jsem zatím nepotřeboval tak mě teď elegantnější metoda nenapadá) apod. a bude to fungovat teď, a když to budeš potřebovat za třeba týden až se data změní, tak to budeš dělat celý znovu. Podle mě nejjednodušší cesta je vygooglit seznam měst (že tam budou i ty co nepotřebuješ ničemu v zásadě nevadí), hodit to na novej list a použít ten countif. Bude to podle mě rychlejší než to všechno rvát do stejnýho sloupce.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 26.0.1410.43  |  [90.180.5.---]

Pochopil jsem to tak, že máš v záhlaví sloupců názvy společností a pod nimi v řádcích jednotlivé obce. Potřebuješ spočítat výskyty jednotlivých obcí.Nejjednodušší je opravdu použít kontingenční tabulku. Musí se ale předtím upravit oblast výskytu obcí (matice) do jednosloupcového výpisu (vektor).Řekněme, že máš 30 společností a 90 řádků obcí, celkem 2700 buněk.Označ si oblast výskytu obcí, tj. matici bez záhlaví a pravým klikem definuj název, např. Matice.Např. do buňky A100 napiš vzorec:=POSUN(Matice;MOD(ŘÁDEK()-ŘÁDEK($A$100);ŘÁDKY(Matice));USEKNOUT((ŘÁDEK()-ŘÁDEK($A$100))/ŘÁDKY(Matice));1;1)ten rozkopíruj do celkem 2700 buněk pod sebou ve sloupci A.Tím dostaneš celou matici (po jednotlivých sloupcích) do jednoho sloupce v A.Do A99 napiš záhlaví, např. ObceNa sloupečku od A99 dolů použij kontingenční tabulku. Do popisu řádků přijde Obce, do pole hodnot znovu Obce, tentokrát počet.Z kontingenční tabulky odfiltruj prázdné výskyty a HOTOVO.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 Chrome 26.0.1410.64  |  [213.210.191.---]

Parádní, děkuji pomohlo! A doporučuji řešení kdyby měl někdo obdobný problém.

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



Určitě si přečtěte