Neviem, či správne rozumiem.
Vy potrebujete systém 1 súbor = 1 riadok?
Pomocou zlúčenia zistím Min/Max hodnoty teplôt, vlhkosti, času. Nastavenie teploty a vlhkosti je naprieč súborom rovnaké?
Vy potrebujete kontrolovať každý riadok poľa [Teplota] voči minimu a maximu z tohto poľa [Teplota]+-tolerancia 5?.
Identifikátor Batch je jedinečný naprieč súbormi? Teda nikdy nie je rovnaké Batch v názvoch viacerých súborov?
EDIT:
Sorry, nereloadlo mi stránku, inak by som zistil, že veny už pridal riešenie.
A ktorý z tých stĺpcov obsahuje rozhodujúci maximálny dátumočas ? (Začátek předehřevu / Konec předehřevu / Datum modifikace / Trplota in spec start)
Výborný nápad. Premýšľal som ako sa zbaviť toho jedného hľadania...
Napr. (to sa dá nakombinovať viacero textových funkcií)
=REPLACE(A1;SEARCH(" ";A1);LEN(A1);MID(A1;SEARCH(" ";A1)+1;2)&"Test_Q")
=NAHRADIT(A1;HLEDAT(" ";A1);DÉLKA(A1);ČÁST(A1;HLEDAT(" ";A1)+1;2)&"Test_Q")
Pr.
Private Sub CommandButton1_Click()
On Error Resume Next
With Worksheets("List1")
Intersect(.UsedRange, .Range("B:C").Resize(Rows.Count - 3).Offset(3, 0)).SpecialCells(xlCellTypeVisible).Select
If Err.Number <> 0 Then MsgBox "Nic.", vbInformation
End With
On Error GoTo 0
End Sub
Ak by ste pre e-shop menil napr. počet vlastností DATA produktu, teda umiestnenie stĺpcov, tak by akákoľvek verzia vzorca počítajúca s číslom stĺpca absolútne (či už COLUMN()=4 ale ISEVEN()/ISODD(), ktorá zisťuje párnosť/nepárnosť aktuálneho stĺpca) prestala okamžite fungovať. Preto som to prerobil tak, že párnosť/nepárnosť sa neurčuje z aktuálneho stĺpca, ale z rozdielu medzi aktuálnym stĺpcom a referenčným stĺpcom. Musíte dbať len na jedinú vec. Aby tie počítané stĺpce išli hneď za referenčným stĺpcom. Teda teraz je referenčný stĺpec napr. U. Tak všade vo vzorci bude $U2. ak aj pridáte napr. 3 stĺpce pred stĺpec U, všetko ostane fungovať, lebo sa počíta rozdiel medzi aktuálnym stĺpcom a referenčným, a referenčný sa automaticky zmení po pridaní sám z U na X. Že sa zmení nepárny na párny nehrá úlohu.
=IF($U2="";"";IF(ISODD(COLUMN()-COLUMN($U2));$E2&", "&IF(COLUMN()-COLUMN($U2)=1;"";TRUNC((COLUMN()-COLUMN($U2)+1)/2)&" ")&"produktový obrázek.";REPLACE($U2;LEN($U2)-3;1;TEXT(TRUNC((COLUMN()-COLUMN($U2)+2)/2);"-00."))))
=KDYŽ($U2="";"";KDYŽ(ISODD(SLOUPEC()-SLOUPEC($U2));$E2&", "&KDYŽ(SLOUPEC()-SLOUPEC($U2)=1;"";USEKNOUT((SLOUPEC()-SLOUPEC($U2)+1)/2)&" ")&"produktový obrázek.";NAHRADIT($U2;DÉLKA($U2)-3;1;HODNOTA.NA.TEXT(USEKNOUT((SLOUPEC()-SLOUPEC($U2)+2)/2);"-00."))))
To je zase niečo iné, ak má byť každý druhý stĺpec iný výsledok. Každopádne takýto "všemocný" vzorec to rieši:
=IF($C2="";"";IF(ISEVEN(COLUMN());$B2&", "&IF(COLUMN()=4;"";TRUNC((COLUMN()-2)/2)&" ")&"produktový obrázek.";REPLACE($C2;LEN($C2)-3;1;TEXT(TRUNC((COLUMN()-1)/2);"-00."))))
=KDYŽ($C2="";"";KDYŽ(ISEVEN(SLOUPEC());$B2&", "&KDYŽ(SLOUPEC()=4;"";USEKNOUT((SLOUPEC()-2)/2)&" ")&"produktový obrázek.";NAHRADIT($C2;DÉLKA($C2)-3;1;HODNOTA.NA.TEXT(USEKNOUT((SLOUPEC()-1)/2);"-00."))))
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)
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.