No už to sem dám, čo s tým:
1. Hárok2 - Tam je na to vzorec, odtiaľ si skopírujte len celý stĺpec A a niekam vložte, Poznámkový blok atď.
2. makro ExportTXT to robí celé makrom, vytvorí/prepíše súbor Zasobnik2.TXT
3. makro ExportTXT2, použije ako zdroj vzorce z Hárok2, vytvorí/prepíše súbor Zasobnik3.TXT
1. - treba ešte ukladať v niečom data
2. - pomalé
3. - toto je najlepšia a najrýchlejšia možnosť
Priložené sú aj vzorce v TXT (aj rozložené, aj zložené), dali by sa urobiť aj inak, napr. maticovo s potrebnou šírkou v maticovej konštante, ale bola by tam veľká komplikácia so znamienkami "+" iba u niektorých stĺpcov, "%" atď.
Mám to pre Vás už vyriešené vzorcom. Ešte dopilovávam aj makro verziu. Nezabudli sme na Vás, nebojte
Dám Vám to sem naraz.
With ThisWorkbook 'Pro tento sešit
With .Worksheets("Datový list")
N = .Range("A26") & " " & .Range("C26") 'Název pro nový list
End With
Cesta = .Path & "\"
With .Worksheets("Protokol")
.Buttons("btnOdeslatUlozit").Visible = False 'Skryť tlačítko
On Error Resume Next
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Cesta & N, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
If Err <> 0 Then
MsgBox ("Chyba při exportu do" & vbNewLine & Cesta & N)
Err.Clear
End If
On Error GoTo 0
.Buttons("btnOdeslatUlozit").Visible = True 'Zobraziť tlačítko
End With
End With
Tak na toto sa Vám žiaľ nedám. Jednoduchší vzorec? Excel nemá žiadnu metódu, aby vzorcom zistil počet a názvy listov, duplom nie dynamicky. Jedine cez VBA.
Tie názvy by museli byť niekde uložené, pomocný stĺpec, list, maticová konštanta.
Potom vytvoriť maticový vzorec na beh po všetkých listoch cez INDIRECT, v tom ďalšia matica na kontrolu všetkých riadkov, v tom vyhľadávanie slova. Všetko ošetrené na chybu, na nevyplnené listy, na nevýskyt slova... Ďalej toto všetko (asi v ďalšej matici) radiť pod seba ako výsledky bez prázdnych riadkov. Ďalej budú tam vždy zadané 2 slová ? Čo ak sa stane že bude 1 alebo 3 ? Musí sa vyhľadať posledné slovo, čo tiež nieje malý vzorec. Všetky tieto matice sa budú pravdepodobne viackrát opakovať v každom jednom vzorci, tie isté kvôli podmienkam. Niečo také v jednej bunke bez zlúčenej tabuľky, definovaného názvu, bez známych listov, a jednoduchším vzorcom, nieje možné, a je to dosť ťažko vôbec premysliteľné, nie ešte prevediteľné.
Snáď Vám niekto poradí viac.
Dúfam, že to odborníkom na maticové vzorce uľahčím. Urobil som pomocný list Temp (ktorý sa schová), v ktorom sú vzorcom spojené tabuľky. Reaguje dynamicky.
Teraz už len treba odborníka na maticové vzorce, aby Vám urobil vzorec, ktorý bude z tejto zlúčenej tabuľky vyhľadávať, a pod seba vypísať iba validné údaje.
Podobným vzorcom, ako som dal do List1!A4, vypočítať index validného riadku, a vypísanie všetkých údajov z tohto riadku už nebude problém. Tento môj pokusný vzorec ale nefunguje, treba ho upraviť/opraviť/zmeniť. V poli SMALL už sú správne TRUE, FALSE, ale ja ich odtiaľ neviem očíslovať :(
EDIT:
Tak som to nakoniec nejako poriešil, prikladám novú prílohu, ktorá funguje ako popisujete :
PS: Vzorce si treba natiahnuť pokiaľ potrebujete + rezerva
Alebo by sa dalo zmeniť vzorce na používanie konštanty MAXR, ktorú nastavíte na toľko riadkov, koľko potrebujete, a nemusíte meniť vzorce pri inej požiadavke na riadky. Záleží na tom ako často budete meniť počet riadkov.
Snáď je to to, čo ste chcel. Upravil som ten vzorec od pepe74287. Máte tam možnosť nastavenia akého čísla sa to týka, a aký je limit počtu za sebou idúcich čísel, aby bol výsledok 0.
PS:
mohl byste mi pomoci jak v tech 25 skupinách po 40 najít dvoujky za sebou? a kdyz pudou dvě dvojky po sobě tak napsat delku skupiny 0 jinak délku skupiny?
Vašim potrebám, by to snáď vyhovovalo aj takto. Je to iba "hlúpy" vzorec, čiže počíta s 0,1,2 výskytami "-" (viac nekontroluje), a vracia prvý výskyt XX-XXX. Čiže ak Vy tam máte v niektorých bunkách XX-XXX 2 krát (napr. TouchNTuff 93-300 93-700 PS CS), vráti iba prvý výskyt.
Taký druh rozsahu aký spomínate (nesúvislý multicolumn), nastavíte takto.
@pepe74287: Tu máte reupload toho posledného súboru od hans66.
Ak sa to chce niekomu rozpitvávať, tak UndoHandler :
http://www.jkp-ads.com/Download.asp#UndoHandler
Je ale potrebné dopredu vedieť čo sa bude meniť. Ak to nevieme, tak musíme v OnChange, odložiť nové hodnoty po zmene, urobiť Undo (rovno v OnChange to ide), zistiť čo bolo pred zmenou (vieme ktoré bunky sa menili), a aplikovať tie odložené nové hodnoty do UndoHandler-u. Všetko z tej OnChange.
Nič jednoduché to teda nieje. Navyše treba UndoHandler ešte dosť prispôsobiť svojím potrebám. Ale takto ako je tam naprogramovaný funguje - sfunkční šípky Undo+Redo na vybrané druhy zmien.
No a teraz sa pripravte na totálny HardCore vzorec (maticový). Nechal som tam aj stĺpce, v ktorých som si najskôr rátal potrebné veci, aby bolo vidno, ako som sa k tej ozrute dopracoval. Teda:
-pozícia "číslo-číslo"
-posledné slovo
-ako hľadať prvé nečíslo
-skrátiť reťazec pred prvé nečíslo (alebo koniec) za nájdeným "číslo-číslo"
-No a Výsledok, je len podopĺňanie sa navzájom
Žiadne stĺpce okrem zdroju a výsledku nieje potrebné nechávať, to je len na ukážku.
Je to fakt brutalita... ALE (!) :
-nájde všetko čo môžete chcieť
-akonáhle je tam "číslo pomlčka číslo" tak ho nájde
-na začiatku
-na konci
-v prostriedku
-rôzny počet čísel pred pomlčkou
-rôzny počet čísel za pomlčkou
-kombinácie uvedených vecí
Na mojich testoch to našlo čo potrebujete. Len si neviem predstaviť výpočet na 10K riadkoch. Otestujte.
PS: Určite by to šlo upraviť na znesiteľnejšiu dĺžku, ale som rád, že som sa dopracoval konca aspoň takto.
=ABS(A4-A3)
Vložiť do B3, a nakopírovať po B1001. V B2 nič nebude, lebo nemá čo odčítať z predošlého riadku, keďže žiaden predošlý nieje. Ak potrebujete aj záporné hodnoty výsledku, tak bez toho ABS().
PS: Stále som neprišiel na to, ako Vám sfunkčniť to FREQUENCY().
Ak by bol všade zápis : 2 čísla pomlčka 3 čísla
nieje problém použiť zástupné znaky:
=IFERROR(MID(A1;SEARCH("??-???";A1);6);"")
čiže vynechá : písmená pomlčka písmená
Áno, problém robí práve to overenie dát. Zrušil som ho, a nahradil bezproblémovou podmienkou.
Prosím vyskúšajte funkčnosť, a či sa zapisujú tie firmy (aj vyplnené aj nevyplnené) tak ako majú, alebo to treba upraviť. Práve sa mi už nechce rozmýšľať nad tým, čo som napísal ja, a čo Vy
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.