Ahoj všem,
potřebovala bych poradit s jedním vzorečkem. Pokud by to nešlo jinak, tak přijmu i řešení v podobě makra, nicméně zatím jsem dala dohromady funkční vzoreček, pouze mi tam chybí jedna drobnost a tu tam nemohu vůbec dostat a nevím si už rady
Mám následující vzoreček maticově (CTRL+SHIFT+ENTER):
{=SOUČET(KDYŽ(DÉLKA($sklad.$A$4:$A$600>0);KDYŽ($sklad.$A$4:$A$600="Nokia";KDYŽ($sklad.$E$4:$E$600="černý";1;0);0);0))}
(Mimo téma: je v tom vzorečku k něčemu ta délka? Ono mi to totiž nefungovalo na rozsah A:A, tak jsem předpokládala, že tomu vadí prázdný řádky, tak jsem tam dala tu kontrolu na délku, ale mám pocit, že je to tam k ničemu, když dám rozsah A4:A600, ale nevím, co myslíte? No kdyžtak to smažu a ozkouším, pak by vzorec vypadal takto maticově (CTRL+SHIFT+ENTER):
{=SOUČET(KDYŽ($sklad.$A$4:$A$600="Nokia";KDYŽ($sklad.$E$4:$E$600="černý";1;0);0))}
Vzoreček má mít tu funkci, aby spočítal počet telefonů jednoho typu (např. Nokia) splňující nejen podmínku: $sklad.$A$4:$A$600="Nokia", ale v momentě, kdy najde ve sloupci A shodu na slovo "Nokia" tak aby se ve stejném řádku podíval ještě do sloupce E a tam porovnal, zda tato buňka obsahuje slovo např.: "černý" a až po této shodě to započetlo +1 do konečného součtu.
Vzorec nyní funguje tak, že se buňka E v konkrétním řádku "MUSÍ" rovnat právě slovu "černý", ale pokud tento text je různorodý (např. černý kryt, GPS, Wi-Fi), prostě obsahuje sice slovo černý, ale i další jiná upřesnění k danému telefonu, tak už vzorec vyhodnotí tuto skutečnost jako neshodu a telefon, ikdyž by se měl do součtu započítat, se tam nezapočítá. Jde mi tedy o to, rozšířit podmínku KDYŽ($sklad.$E$4:$E$600="černý";1;0) tak, aby se neporovnávalo pouze KDYŽ($sklad.$E$4:$E$600="černý";1;0), ale aby tam bylo něco jako: KDYŽ($sklad.$E$4:$E$600 OBSAHUJE SLOVO "černý";1;0).
Omlouvám se, že to popisuju tak složitě, ikdyž je to určitě prkotina, nicméně si s tím už nevím rady. Děkuji všem za pomoc a za případné rady, co s tím.
Tereza
EXCEL - vyhledání řetězce v buňce ve sloupci maticově Vyřešeno
-
- Level 4
- Příspěvky: 1142
- Registrován: srpen 08
- Pohlaví:
- Stav:
Offline
Re: EXCEL - vyhledání řetězce v buňce ve sloupci maticově
Pro tento ucel se lepe hodi pouziti modifikovane funkce listu SOUCIN.SKALARNI viz vice http://www.dataspectrum.cz/excelmag/dow ... am0205.pdf
Najdes tam samozrejme i pouziti maticoveho vzorce.
Najdes tam samozrejme i pouziti maticoveho vzorce.
Re: EXCEL - vyhledání řetězce v buňce ve sloupci maticově
Ahoj, no z toho pořád nejsem moc moudrá, SOUCIN.SKALARNI pouze nahradí ten můj zápis SOUČET(KDYŽ(KDYŽ())), ale to nevyřeší problém s tím, že druhou podmínku potřebuju testovat ne na shodu (ANO/NE), ale na to, zda buňka obsahuje text nebo ne, tedy ne:
rovná se obsah buňky řetězci "text", ale
obsahuje buňka řetězec "text"
Funkce NAJDI (případně ta druhá funkce na vyhledávání) mi je schopná poskytnout potřebnou informaci, ale pouze v jedné konkrétní buňce:
NAJDI("text"; E1; 1)
ale jakmile toto zadám jako rozsah
NAJDI("text"; E1:E600; 1) tak mi je celé vyhledávání na dvě věci.
Potřebuji tučně označenou část předělat na vyhledávání: {=SOUČET(KDYŽ($sklad.$A$4:$A$600="Nokia";KDYŽ($sklad.$E$4:$E$600="černý";1;0);0))}
Dá se nějakým způsobem zjistit, který index řádku je právě prohledáván? Pak bych mohla obyčejné vyhledávání použít s tím, že by tam nebylo E1 ale Eaktuální_index
NAJDI("text"; E1; 1) -> NAJDI("text"; Eaktuální index; 1)
{=SOUČET(KDYŽ($sklad.$A$4:$A$600="Nokia";KDYŽ((NAJDI("text"; $sklad.$Eaktuální index; 1) > 0);1;0);0))}
Nevím, asi se vyjadřuju nějak blbě
rovná se obsah buňky řetězci "text", ale
obsahuje buňka řetězec "text"
Funkce NAJDI (případně ta druhá funkce na vyhledávání) mi je schopná poskytnout potřebnou informaci, ale pouze v jedné konkrétní buňce:
NAJDI("text"; E1; 1)
ale jakmile toto zadám jako rozsah
NAJDI("text"; E1:E600; 1) tak mi je celé vyhledávání na dvě věci.
Potřebuji tučně označenou část předělat na vyhledávání: {=SOUČET(KDYŽ($sklad.$A$4:$A$600="Nokia";KDYŽ($sklad.$E$4:$E$600="černý";1;0);0))}
Dá se nějakým způsobem zjistit, který index řádku je právě prohledáván? Pak bych mohla obyčejné vyhledávání použít s tím, že by tam nebylo E1 ale Eaktuální_index
NAJDI("text"; E1; 1) -> NAJDI("text"; Eaktuální index; 1)
{=SOUČET(KDYŽ($sklad.$A$4:$A$600="Nokia";KDYŽ((NAJDI("text"; $sklad.$Eaktuální index; 1) > 0);1;0);0))}
Nevím, asi se vyjadřuju nějak blbě
Re: EXCEL - vyhledání řetězce v buňce ve sloupci maticově
Tak už mi to asi začalo fungovat, nakonec nevím jak se mi to povedlo, ale funguje to:
{=SOUČET(KDYŽ($sklad.$A$4:$A$600="Nokia";KDYŽ(JEČÍSLO((NAJDI("text"; $sklad.$E4:$E600; 1));1;0);0))}
Takže to tu můžete uzavřít
{=SOUČET(KDYŽ($sklad.$A$4:$A$600="Nokia";KDYŽ(JEČÍSLO((NAJDI("text"; $sklad.$E4:$E600; 1));1;0);0))}
Takže to tu můžete uzavřít
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
JavaScript - načtení web stranky do řetězce.
od L.L » 16 bře 2024 10:23 » v Programování a tvorba webu - 4
- 2450
-
od L.L
Zobrazit poslední příspěvek
20 bře 2024 07:29
-
-
- 0
- 1700
-
od luko02420
Zobrazit poslední příspěvek
02 srp 2023 14:12
-
- 16
- 6501
-
od mirekol
Zobrazit poslední příspěvek
20 říj 2023 08:31
-
-
Excel komparacedvou soborů Příloha(y)
od teichmann.ondrej » 15 dub 2024 17:26 » v Kancelářské balíky - 11
- 3415
-
od teichmann.ondrej
Zobrazit poslední příspěvek
22 dub 2024 15:45
-
-
- 1
- 516
-
od Grimm
Zobrazit poslední příspěvek
12 bře 2024 21:43
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 27 hostů