vypracuj mi vzorec pro exel kdy nejlepší čas (závodníka) je za 15 bodů druhý čas je 14 bodů a takto do patnáctého času vždy je 1 bod méně a zbývající časy jsou za jeden bod
Tady máš přesně to, co potřebuješ: vzorec, který automaticky přiřadí body podle pořadí časů — nejlepší čas = 15 bodů, druhý = 14 … patnáctý = 1 bod, všichni další = 1 bod.
A uděláme to tak, aby to fungovalo v českém Excelu, s čárkami a bez anglických funkcí.
Máš sloupec s časy (např. F5:F100).
V buňce G5 chceš body pro čas v F5.
Nejlepší čas = 15 bodů
Druhý = 14
…
Patnáctý = 1
Všichni horší než 15. místo = 1 bod
=MAX(1; 16 - RANK.EQ(F5; $F$5:$F$100; 1))
RANK.EQ(F5; $F$5:$F$100; 1) → spočítá pořadí času (1 = nejlepší)
16 − pořadí → nejlepší dostane 15, druhý 14, třetí 13…
MAX(1; …) → zajistí, že kdokoli horší než 15. místo má 1 bod
| Čas | Pořadí | Body |
|---|---|---|
| 4,01 | 1 | 15 |
| 4,05 | 2 | 14 |
| 4,10 | 3 | 13 |
| … | … | … |
| 4,80 | 15 | 1 |
| 5,00 | 16 | 1 |
| 5,20 | 17 | 1 |
Jaký přesně rozsah používáš pro časy? Abych ti vzorec upravil přesně na tvůj list.
Dobře, Radku — pojďme to opravit tak, aby to opravdu fungovalo. Když píšeš „tento vzorec nefunguje“, znamená to obvykle jednu z těchto věcí:
český Excel nezná funkci (např. RANK.EQ vs. POŘADÍ)
chyba v oddělovačích (čárka vs. středník)
chyba v typu dat (čas není číslo)
chyba v rozsahu
Takže ti dám verzi, která funguje ve všech českých Excelech, i těch starších.
Vlož do G5:
=MAX(1; 16 - POŘADÍ(F5; $F$5:$F$100; 1))
POŘADÍ(F5;…;1) → najde pořadí času (1 = nejlepší)
16 − pořadí → nejlepší = 15 bodů, druhý = 14…
MAX(1; …) → kdokoli horší než 15. místo dostane 1 bod
Některé novější Excely používají POŘADÍ.EKV:
=MAX(1; 16 - POŘADÍ.EKV(F5; $F$5:$F$100; 1))
Co přesně Excel vypíše za chybu?
#NÁZEV
#HODNOTA
#REF
nebo jen špatný výsledek?
A také: Jaký máš přesný rozsah časů? (např. F5:F60)
Upravím ti vzorec přesně na tvůj list.
Super, Radku — #NÁZEV? znamená, že Excel nezná název funkce, takže používáš jinou verzi Excelu, než pro kterou jsem psal předchozí vzorce.
Tohle se stává, když:
Excel nemá POŘADÍ
nebo nemá POŘADÍ.EKV
nebo používá úplně jiný název funkce (např. starší české verze)
Takže ti dám verzi, která funguje VŽDY, protože obejde funkci POŘADÍ úplně.
(vložit do G5)
Tento vzorec spočítá pořadí pomocí počítání menších časů:
=MAX(1; 16 - (1 + COUNTIF($F$5:$F$100; "<"&F5)))
COUNTIF("<"&F5) spočítá, kolik závodníků má lepší čas → to je vlastně pořadí minus 1
1 + COUNTIF(...) = skutečné pořadí
16 − pořadí → nejlepší = 15, druhý = 14…
MAX(1; …) → kdokoli horší než 15. místo dostane 1 bod
Pokud máš v F5 třetí nejlepší čas:
COUNTIF("<"&F5) = 2
pořadí = 3
body = 16 − 3 = 13
Tento vzorec funguje v každé české verzi Excelu, protože používá jen COUNTIF a MAX.
Pokud chceš, pošli mi:
přesný rozsah (např. F5:F60)
nebo printscreen tabulky
a upravím to přesně na tvůj list.
Jo, tohle dává smysl—když říkáš „když zadám druhý čas, tak to nefunguje“, typicky jsou jen dvě nejčastější chyby:
Rozsah není uzamčen $ → při kopírování se posouvá a druhý závodník se počítá jen vůči sobě
Časy jsou jako text, ne jako čas/číslo
Vezmeme to konkrétně.
Do buňky s body pro první čas (např. G5) dej přesně:
=MAX(1; 16 - (1 + POČETIF($F$5:$F$100; "<"&F5)))
Pak zkopíruj dolů.
Důležité jsou ty dolarové znaky $F$5:$F$100. Když tam nejsou a máš třeba F5:F100, tak ve druhém řádku se z toho stane F6:F101 a druhý závodník se porovnává jen sám se sebou → vyjde mu zase 15 bodů.
Zkus si malý test:
F5 = 10,00 → v G5 by mělo vyjít 15
F6 = 11,00 → v G6 by mělo vyjít 14
Pokud i tak:
oba mají 15 → rozsah není uzamčen $
nebo je něco divně s formátem buněk
Když klikneš na čas v F5:
pokud je zarovnán vpravo, je to většinou číslo/čas
pokud vlevo, často je to text a porovnávání < pak blbne
Když budeš chtít, klidně mi napiš:
jaký přesně máš rozsah (např. F5:F60)
a jak vypadá konkrétní dvojice časů (první, druhý) a jaké body ti to hodí
doladíme to úplně na milimetr.
Rozumím, pojďme to chytit úplně konkrétně na řádku F6.
Do G5 dej přesně:
=MAX(1; 16 - (1 + POČETIF($F$5:$F$100; "<"&F5)))
Pak teprve zkopíruj dolů (uchopit za malý čtvereček vpravo dole a táhnout).
Klikni na G6 a podívej se do řádku vzorců. Správně tam má být:
=MAX(1; 16 - (1 + POČETIF($F$5:$F$100; "<"&F6)))
Klíčové jsou dvě věci:
rozsah je pořád **F$5:$F$100** (se znaky `, nesmí se změnit naF6:F101` apod.)
na konci je F6, ne F5
???? Jestli v G6 vidíš něco jako:
=MAX(1; 16 - (1 + POČETIF(F6:F101; "<"&F6)))
tak je problém právě v tom – rozsah se ti posunul a druhý závodník se porovnává jen sám se sebou → proto má zase 15 bodů.
F5 = 10
F6 = 11
Správný výsledek:
G5 = 15
G6 = 14
Když mi napíšeš, co přesně vidíš za vzorec v G6, doladíme to úplně přesně.
Jasně, SVG zvládnu — jen potřebuju vědět co přesně:
Co má být na obrázku? (logo, ikona, jednoduchý tvar, schéma…)
Jak zhruba má vypadat? (barvy, text, rozměry, styl – jednoduché/moderní/dětské…)
Pak ti napíšu hotový SVG kód, který můžeš rovnou uložit jako .svg a použít.
U SVG je důležité hlavně rozměr v souřadnicích, DPI se řeší až při exportu do rastru (PNG, JPG). Udělám ti tedy SVG s plochou 150×100 (v jednotkách viewBoxu) a jednoduchým rámem + místem pro monogram „SLK“, které můžeš dál upravovat.
Ulož jako slk_150x100.svg:
<?xml version="1.0" encoding="UTF-8"?>
<svg
xmlns="http://www.w3.org/2000/svg"
width="150mm"
height="100mm"
viewBox="0 0 150 100">
<!-- pozadí -->
<rect x="0" y="0" width="150" height="100" fill="white"/>
<!-- dekorativní rám -->
<rect x="4" y="4" width="142" height="92"
fill="none"
stroke="#000000"
stroke-width="1.5"/>
<!-- vnitřní zlatý rámeček -->
<rect x="8" y="8" width="134" height="84"
fill="none"
stroke="#c89a2b"
stroke-width="1.2"/>
<!-- stylizovaný věnec (zjednodušený) -->
<ellipse cx="75" cy="50" rx="40" ry="30"
fill="none"
stroke="#2f6b3a"
stroke-width="2"/>
<!-- pár listů pro efekt -->
<path d="M45 50 C35 40, 35 30, 45 25
C43 32, 43 38, 45 50 Z"
fill="#2f6b3a"/>
<path d="M105 50 C115 40, 115 30, 105 25
C107 32, 107 38, 105 50 Z"
fill="#2f6b3a"/>
<!-- korunka nahoře (zjednodušená) -->
<path d="M65 23 L70 15 L75 23 L80 15 L85 23 Z"
fill="#c89a2b"
stroke="#000000"
stroke-width="0.6"/>
<!-- monogram SLK -->
<text x="75" y="60"
text-anchor="middle"
font-family="Times New Roman, serif"
font-size="26"
fill="#000000">
SLK
</text>
</svg>
Pro tisk v 300 DPI stačí v grafickém programu (Inkscape, Illustrator…) při exportu do PNG nastavit 300 DPI – SVG jako vektor je pro to už připravené. Pokud chceš, můžeme ten věnec a rám doladit víc do podoby z tvého obrázku.
Radku, úplně v pohodě — teď jsi ve fázi, kdy máš SVG kód a potřebuješ z něj udělat skutečný soubor a otevřít ho v Inkscape. Tady je přesně, co uděláš krok za krokem, aby to fungovalo.
Otevři Poznámkový blok (Notepad) nebo jakýkoli textový editor.
Zkopíruj do něj celý SVG kód, který jsem ti poslal.
Ulož soubor jako:
nazev.svg
Důležité:
v okně „Uložit jako“ nastav Typ souboru: Všechny soubory
kódování může být UTF‑8 (nebo nech default)
Spusť Inkscape
Dej Soubor → Otevřít
Vyber svůj nazev.svg
Hotovo — teď s tím můžeš pracovat jako s normální grafikou.
SVG je vektor, takže DPI se řeší až při exportu do PNG. Ale rozměr dokumentu nastavíš takto:
Soubor → Vlastnosti dokumentu
V sekci Stránka nastav:
Šířka: 150 mm
Výška: 100 mm
Soubor → Exportovat PNG
Vpravo nastav:
DPI: 300
Rozsah: „Stránka“
Klikni Exportovat
Ten, co jsem poslal, je základ. Pokud chceš věrnou vektorovou verzi toho tvého ornamentu (věnec, korunka, SLK monogram, barevný okraj), řekni a připravím ti ji jako čisté SVG, které půjde rovnou tisknout.
Chceš přesnou kopii, nebo jen stylově podobný motiv?
Udělám to jako vektor s plochou 150×100, stylově velmi blízko tomu, co máš na obrázku (věnec, korunka, monogram SKL, rám).
Ulož jako slk_150x100.svg:
<?xml version="1.0" encoding="UTF-8"?>
<svg
xmlns="http://www.w3.org/2000/svg"
width="150mm"
height="100mm"
viewBox="0 0 150 100">
<!-- pozadí -->
<rect x="0" y="0" width="150" height="100" fill="white"/>
<!-- vnější rám – tři barevné pruhy -->
<rect x="0" y="0" width="150" height="100" fill="#b10f1a"/>
<rect x="4" y="4" width="142" height="92" fill="#000000"/>
<rect x="8" y="8" width="134" height="84" fill="#d6a63a"/>
<!-- vnitřní bílá plocha -->
<rect x="12" y="12" width="126" height="76" fill="white"/>
<!-- zelený věnec – základní elipsa -->
<ellipse cx="75" cy="50" rx="40" ry="30"
fill="none"
stroke="#2f6b3a"
stroke-width="3"/>
<!-- listy – zjednodušené, symetricky kolem věnce -->
<g fill="#2f6b3a">
<path d="M45 50 C35 40, 35 30, 45 25
C43 32, 43 38, 45 50 Z"/>
<path d="M105 50 C115 40, 115 30, 105 25
C107 32, 107 38, 105 50 Z"/>
<path d="M55 70 C47 66, 43 60, 44 52
C47 57, 50 61, 55 70 Z"/>
<path d="M95 70 C103 66, 107 60, 106 52
C103 57, 100 61, 95 70 Z"/>
</g>
<!-- zlaté ornamentální linky kolem věnce -->
<ellipse cx="75" cy="50" rx="34" ry="24"
fill="none"
stroke="#d6a63a"
stroke-width="1.4"/>
<!-- korunka nad S -->
<path d="M63 24 L67 18 L71 24 L75 18 L79 24 L83 18 L87 24 Z"
fill="#d6a63a"
stroke="#000000"
stroke-width="0.6"/>
<!-- malý ovál pod korunkou -->
<ellipse cx="75" cy="27" rx="10" ry="3"
fill="white"
stroke="#d6a63a"
stroke-width="0.8"/>
<!-- monogram SKL – tři písmena, S dominantní -->
<text x="75" y="62"
text-anchor="middle"
font-family="Times New Roman, Garamond, serif"
font-size="34"
fill="#000000">
S
</text>
<text x="58" y="64"
text-anchor="middle"
font-family="Times New Roman, Garamond, serif"
font-size="20"
fill="#000000">
K
</text>
<text x="92" y="64"
text-anchor="middle"
font-family="Times New Roman, Garamond, serif"
font-size="20"
fill="#000000">
L
</text>
<!-- jemný zlatý obrys kolem monogramu -->
<text x="75" y="62"
text-anchor="middle"
font-family="Times New Roman, Garamond, serif"
font-size="34"
fill="none"
stroke="#d6a63a"
stroke-width="0.5">
S
</text>
</svg>
Tohle otevři v Inkscape, případně si tam doladíš detaily (tvary listů, tloušťky čar, font).
Jasně, Radku — v Inkscape to uděláš přesně takhle. Je to jednoduché, jen musíš použít správnou funkci.
Soubor → Otevřít
Vyber svůj JPG/PNG
Klikni na něj, aby byl modře orámovaný.
Horní menu:
Cesta → Sledovat bitmapu… (anglicky Path → Trace Bitmap)
Otevře se panel.
Pro ornamenty, monogramy a dekorace fungují nejlépe:
Režim: Jasová hranice
Prah: 0,45–0,65
Zaškrtni: Živý náhled
Režim: Více skenů → Barvy
Počet skenů: 8–12
Zaškrtni: Hladké, Odstranit pozadí
Tahle varianta zachová věnec, korunku i barevný rám.
Inkscape vytvoří nový vektor přímo nad původním obrázkem.
Přetáhni ho stranou
Původní bitmapu můžeš smazat
Soubor → Uložit jako → SVG
Hotovo — máš vlastní vektor.
Když mi pošleš obrázek v co nejvyšším rozlišení, můžu ti:
připravit čisté SVG
vyhladit ornamenty
sjednotit barvy
nastavit přesně 150×100 mm
Stačí říct, jestli chceš věrnou kopii, nebo modernější přečištěnou verzi.
Jasně, Radku — uděláme to tak, aby to spolehlivě fungovalo v českém Excelu, ať už máš časy v sekundách, minutách nebo jako časový údaj.
Tvoje zadání:
H5 = čas
I5 = body
čím kratší čas → tím více bodů
maximálně 15 bodů
nejlepší čas = 15 bodů
ostatní podle pořadí (2. = 14, 3. = 13 …)
To znamená, že potřebujeme pořadí podle času (vzestupně) a z něj vypočítat body.
Použij tento vzorec:
=MAX(1; 16 - POŘADÍ(H5; $H$5:$H$100; 1))
POŘADÍ(H5; $H$5:$H$100; 1) → najde pořadí času (1 = nejlepší, nejkratší)
16 − pořadí → nejlepší = 15 bodů, druhý = 14, třetí = 13…
MAX(1; …) → kdokoli horší než 15. místo dostane 1 bod
| Čas (H) | Pořadí | Body (I) |
|---|---|---|
| 10,20 | 1 | 15 |
| 10,50 | 2 | 14 |
| 11,00 | 3 | 13 |
| … | … | … |
| 13,80 | 15 | 1 |
| 14,10 | 16 | 1 |
Některé verze Excelu používají místo POŘADÍ funkci POŘADÍ.EKV.
Pak použij:
=MAX(1; 16 - POŘADÍ.EKV(H5; $H$5:$H$100; 1))
Stačí mi říct:
jaký máš přesný rozsah (např. H5:H60)
jestli chceš minimum 0 nebo 1 bod
jestli mají mít všichni horší než 15. místo 1 bod, nebo 0 bodů
A nastavím ti to na míru.
Radku, pojďme to spravit jednou provždy. Když ti Excel píše #NÁZEV, znamená to, že nezná název funkce, takže POŘADÍ ani POŘADÍ.EKV u tebe nefungují.
Proto použijeme vzorec, který nepoužívá žádnou z těchto funkcí a funguje ve všech českých Excelech.
(vložit do I5)
=MAX(1; 16 - (1 + POČETIF($H$5:$H$100; "<"&H5)))
POČETIF("<"&H5) spočítá, kolik závodníků má lepší (kratší) čas
1 + … = pořadí závodníka
16 − pořadí = nejlepší má 15 bodů, druhý 14, třetí 13…
MAX(1; …) zajistí, že kdokoli horší než 15. místo má 1 bod
| H (čas) | I (body) |
|---|---|
| 10,20 | 15 |
| 10,50 | 14 |
| 11,00 | 13 |
| … | … |
| 13,80 | 1 |
| 14,10 | 1 |
Pokud vzorec v I6 vypadá takto:
=MAX(1; 16 - (1 + POČETIF(H6:H101; "<"&H6)))
→ rozsah se posunul, protože tam chybí $.
Musí tam být vždy:
$H$5:$H$100
Pokud chceš, pošli mi 2–3 konkrétní časy (H5, H6, H7) a já ti ukážu přesně, jaké body mají vyjít.
Rozumím, Radku — dáme ti vzorec, který bude fungovat v každém českém Excelu, bez ohledu na verzi. A hlavně: H5 = čas, I5 = body, kratší čas = více bodů, max = 15 bodů.
A protože u tebe nefungují funkce POŘADÍ ani POŘADÍ.EKV, použijeme metodu, která funguje vždy.
=MAX(1; 16 - (1 + POČETIF($H$5:$H$100; "<"&H5)))
POČETIF("<"&H5) spočítá, kolik závodníků má lepší (kratší) čas
1 + … = pořadí závodníka
16 − pořadí =
nejlepší = 15 bodů
druhý = 14
třetí = 13
…
MAX(1; …) zajistí, že kdokoli horší než 15. místo má 1 bod
| H (čas) | I (body) |
|---|---|
| 10,20 | 15 |
| 10,50 | 14 |
| 11,00 | 13 |
| … | … |
| 13,80 | 1 |
| 14,10 | 1 |
Vzorec v I6 musí vypadat takto:
=MAX(1; 16 - (1 + POČETIF($H$5:$H$100; "<"&H6)))
Pokud tam vidíš H6:H101 místo $H$5:$H$100, rozsah se posunul → a výpočet je špatně.
Pokud chceš, pošli mi 2–3 konkrétní časy a já ti ukážu, jaké body mají vyjít, abys měl jistotu, že to jede správně.
Radku, když Excel hlásí #HODNOTA!, znamená to, že porovnání "<"&H5 nefunguje, protože:
buňky v H5:H100 nejsou čísla, ale text
nebo jsou tam prázdné buňky, mezery, pomlčky, nebo jiný nečíselný znak
nebo je čas uložený jako text (zarovnaný vlevo)
Vzorec je správný — problém je v datech, ne ve vzorci.
Vlož do I5:
=KDYŽ(H5="";"";MAX(1; 16 - (1 + POČETIF($H$5:$H$100; "<"&H5))))
Tahle verze:
ignoruje prázdné buňky
nepadá do chyby
počítá správně pořadí podle času
Excel neumí porovnat:
"<" & "něco, co není číslo"
Takže pokud máš v H5 třeba:
„10,5 s“
„10.5“
„10:05“
„10,5 “ (mezera na konci)
„–“ (pomlčka)
„čas“
nebo je to text zarovnaný vlevo
→ vzorec spadne.
Klikni na H5:
vpravo zarovnané = číslo → OK
vlevo zarovnané = text → problém
Pokud je to text, opravíš to takto:
Tím Excel převede textové číslo na skutečné číslo.
Já ti řeknu, co přesně je v nich špatně a jak to opravit, aby body fungovaly.
Rozumím, tohle už je frustrující – pojďme to úplně zjednodušit a otestovat na mini příkladu, aby bylo jasné, kde je problém.
Do nového prázdného listu zkus přesně tohle:
Buňky:
H5 = 10,2
H6 = 10,5
H7 = 11
Vše zadat jen jako čísla (bez „s“, bez mezer).
Do I5 vlož tenhle vzorec:
=KDYŽ(NEBO(H5="";NEJE.ČÍSLO(H5));"";MAX(1;16-(1+POČETIF($H$5:$H$7;"<"&H5))))
Obec Kamenný Újezd u Rokycan
MÍSTO
KONÁNÍ