V tom prípade sa dá urobiť aj jednoduchší vzorec, keď vieme, že je tam vždy koncovka ".jpg". Len nerozumiem tomu, čo spomínate o tom ručnom doplnení
vytvořím i druhou buňku s názvem /upload/product-photo/obrazek-02.jpg
Ale to je predsa niečo iné, ako ste popísal. Každopádne to nebude problém. Ale keďže sa jedná o časti url adresy, tak viete že tam bude vždy adresa obrázku? Teda bude tam prípona oddelená bodkou, alebo tam môže byť iný link? Obrázok bude vždy jpg (nie jpeg, png, gif, ...)? Ak tam môže byť aj iný typ obrázku, dá sa použiť na identifikáciu bodka? Teda nemôže nastať situácia, že bude adresa aj na inom mieste obsahovať bodku? Ten prvý link v A vždy obsahuje text BEZ čísla pred príponou? Alebo aj tam sa môže vyskytnúť nejaké číslo, ktoré sa má v nasledujúcom stĺpci už navýšiť o 1? Alebo sa bez ohľadu na ukončenie nejakým číslom iba pripíše ďalší text s číslom stĺpca za neho? Tie čísla majú byť vždy dvojciferné?
Riešenie na jeden z tých mnou načrtnutých prípadov môže byť napr. toto:
=IFERROR(REPLACE($A2;SEARCH("@";SUBSTITUTE($A2;".";"@";LEN($A2)-LEN(SUBSTITUTE($A2;".";""))));1;TEXT(COLUMN();"-00."));"")
=IFERROR(NAHRADIT($A2;HLEDAT("@";DOSADIT($A2;".";"@";DÉLKA($A2)-DÉLKA(DOSADIT($A2;".";""))));1;HODNOTA.NA.TEXT(SLOUPEC();"-00."));"")
nájde to poslednú bodku v názve, pričom ich môže byť viac, nahradí ju textom "-00.", pričom to 00 značí dvojciferné číslo stĺpca. Je jedno akú to bude mať príponu, tá ostáva, keď nenájde bodku nič nevypíše, a je mu jedno či A obsahuje pred príponou číslo. Len v A nesmie byť znak @, lebo ten používa ako zástupný znak na hľadanie poslednej bodky. Prípadne zvoliť iný paznak, ktorý určo v A nebude.
OT: Prosím neskloňujte môj nick. "elninoslav" - nie netreba mi zvolávať na slávu
To "slov" na konci je Slovensko. Kedysi v minulom tisícročí, keď som si zakladal prvé nicky tak som používal "Elnino", nikto také nemal. No neskôr taký istý blbý nápad dostali aj iní. Tak som si pridal "Slov". Rozdiel je veľký, a to v skloňovaní - je krkolomné (a Vy ste ešte zamenil "o" za "a") "elninovi" vs. "elninoslovovi". Mňa to neuráža, to aby ste si nemyslel, len mi to príde také divné. Láme sa mi pri tom jazyk. Kľudne použite iba "Elnino" - to sa dá skloňovať.
???
=IFERROR(REPLACE($A$1;SEARCH(".jpg";$A$1)-2;2;TEXT(ROW()+1;"00"));"")
=IFERROR(NAHRADIT($A$1;HLEDAT(".jpg";$A$1)-2;2;HODNOTA.NA.TEXT(ŘÁDEK()+1;"00"));"")
prípadne
=IFERROR(LEFT($A$1;SEARCH(".jpg";$A$1)-3)&TEXT(ROW()+1;"00")&".jpg";"")
=IFERROR(LEFT($A$1;HLEDAT(".jpg";$A$1)-3)&HODNOTA.NA.TEXT(ŘÁDEK()+1;"00")&".jpg";"")
alebo
=IF($A$1="";"";LEFT($A$1;LEN($A$1)-6)&TEXT(ROW()+1;"00")&".jpg")
=KDYŽ($A$1="";"";ZLEVA($A$1;DÉLKA($A$1)-6)&HODNOTA.NA.TEXT(ŘÁDEK()+1;"00")&".jpg")
Skúste si vytvoriť nový Vlastný
Súbor - Možnosti - Rozšírené - dole kategória Všeobecné - Upraviť vlastné zoznamy - označte Nový záznam - do Položky zoznamu dajte iba NE - Pridať.
V slovenčine to pomôže, tak snáď aj v češtine. Prebije to vstavaný zoznam "Po, Ut, ...,So , Ne"
Pokúšam sa pochopiť, a zisťujem, že je to nedostatočne popísané a/alebo premyslené.
Ako nazvať nové listy? Podľa nejakej bunky? Čo ak bude taký list už existovať?
PocetPolozek - určite to chcete tak ako to počítate? Ak zadáte 5, kopírovať budete 6 skupín (lebo pripočítavate 1, teda prvý riadok ďalšej skupiny). A tých 5 má byť kontrolovaných alebo kopírovaných. To je rozdiel. Kontrolovaných môže byť 5, ale kopírovaných (vzhľadom na "n") iba 2. Alebo pokračovať dovtedy kým nebude nájdených 5?
Aký rozsah stĺpcov? Je stále rovnaký?
Kopírovať čo? Hodnoty? Aj vzorce? Aj formáty? Orámovania a farby? Šírky stĺpcov? ... Možno by bolo jednoduchšie kopírovať iba hodnoty do kópie listu vytvoreného zo skrytého prázdneho šablónového listu.
Určite to nemá hlavičky a idú dáta rovno od 1. riadku?
Príklad.
Tu máte do toho súboru pridané aj PQ riešenie bez makra (v súbore sú obidve riešenia).
Na PQ sú tu ale iný borci, ktorí to určo skrátia. Stačí iba nastaviť na List2 cestu (alebo nechať podľa umiestnenia tohto súboru cez vzorec, tak ako je tam teraz), a na liste List3 dať pravý klik - Obnoviť, alebo Údaje Obnoviť Všetko, alebo Ctrl+Alt+F5
Makro môže byť jednoduché. Toto sa bude dať aj bez makra v PowerQuery.
Ono to dosť záleží na konkrétnej situácii. Ak máte v Tabuľke iba hodnoty môžete použiť aj COUNTA/POČET2, ale nie na celý stĺpec listu, ale iba na stĺpec danej Tabuľky. No ak tam máte vzorce, kde "prázdna" hodnota je vracaná vzorcom ako "", vtedy nemôžete použiť COUNTA/POČET2. Použite to, čo som použil ja a nemusíte "" riešiť. Samozrejme, že zase platí to použiť iba na stĺpec Tabuľky, nie stĺpec listu. Iba poznamenám, že COUNTIF Vám s "<>" vo vzorci v Tabuľke tiež nepomôže.
EDIT: A ešte poznámka. Ak by boli medzi hodnotami medzery/"prázdne" riadky, tak posledný vyplnený riadok v Tabuľke (teda nie riadok v liste) zistíte takýmto vzorčekom
=LOOKUP(2;1/(Tabulka1[stĺpec]<>"");ROW(Tabulka1[stĺpec])-MIN(ROW(Tabulka1[stĺpec]))+1)
=VYHLEDAT(2;1/(Tabulka1[stĺpec]<>"");ŘÁDEK(Tabulka1[stĺpec])-MIN(ŘÁDEK(Tabulka1[stĺpec]))+1)
V tom prípade ale stačí iba upraviť riadok s kontrolou na tento
If D(i, 1) <> "" And (D(i, 11) = "" Or (D(i, 11) = 1 And Not (D(i, 12) = "" And D(i, 13) = ""))) Thenteda aby sa nekontrolovalo IsEmpty a porovnávalo = či <> "". Teda v prípade, že vzorec vracia "". Vzorec som sa nedozvedel.
"listu3 (V Opravě)", "Listu4 (Soupis)" o ničom takom ste nepísal.
"V každém listu kam by se generoval výstup by byl první řádek záhlaví" - čože? Takže koľko tých listov budete generovať. Veď nech sa to urobí v jednom cykle.
"větší než 1 a má textovou poznámku ve sloupci 12 nebo 13 nakopíruje do třeba Listu4 (Soupis)" - takže každý generovaný list bude mať svoje rozdielne podmienky, predpokladám.
Ak by ste dal na začiatku reálnu anonymizovanú prílohu (reálne rozsahy, formáty, umiestnenia, typy dát, vzorce, listy, podmienky ..., iba zmenené na nie citlivé dáta), tak to máte dávno hotové, ja by som na "neštartoval" kvôli dávkovaniu informácií, a máme obaja cez víkend viac času na upratovanie a na manželku
Tak aké sú podmienky pre ktorý list?
Vy teda potrebujete uchovať v Zostave rovnaké vzorce aké sú v tom 11. stĺpci v liste Souhrn. Podľa mňa je zostava výstup nejakých dát, a meniť v nej by sa hodnoty nemali. Teda postrádam zmysel, aby tam boli vzorce, ktoré svoju hodnotu už raz vypočítali v Souhrn. Môžete priložiť ten vzorec? A ide iba o vzorec v 11. stĺpci?
Tu máte príklad. No či to bude možné urobiť takto rýchle, záleží na Vašej odpovedi.
Ak to teda chápem správne, tak napr. takto:
Položím teda rovnakú otázku ešte raz:
"elninoslov" napsal/a:
Ten list v tých zdrojových súboroch, odkiaľ čerpáte dáta, sa volá vždy rovnako?
Najlepšie by bolo priložiť prílohu. Obrázok nie je priložený.
If (Len(Cells(A, 1)) = "n") Thenje nefunčné Len() vráti dĺžku hodnoty a porovnávate dĺžku s písmenom "n".
Vytvoriť list pre každú položku? A ako sa bude list volať?
...
Zaregistrujte sa, aby ste mohol priložiť anonymizovanú prílohu.
Ten list v tých zdrojových súboroch, odkiaľ čerpáte dáta, sa volá vždy rovnako?
Dáta v tých súboroch sú v D s medzerami?
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.