Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  42 43 44 45 46 47 48 49 50   další » ... 289

Môžete uviesť prílohu?

Takto?

+- autobus ...

Najlepšie je vždy priložiť prílohu. Tu je nejaký príklad HLOOKUP/VVYHLEDAT

Sorry, včera sa to poriadne pretiahlo. Nestihol som. Teraz ráno som to ešte trochu prerobil, len už nestíham, a neviem či som správne zeditoval všetky popisy. Dajte vedieť. Riešené pomocou kolekcií. Aj jedinečnosť aj vzostupné zoradenie. Na počet a súčet klasická WorksheetsFunction.

Mam to vlastne hotove, len mi tam este 1 chybku hodilo, a uz nemam cas to debugovat. Pridem mozno o 3-4 hodky. Tak ak to sem nikto zatial neda, tak no problem.

Prvý riadok uvádzam variant do SK Excelu, a druhý riadok uvádzam variant do CZ Excelu. Niektoré krajiny majú niektoré funkcie preložené (nie všetky, čo vidieť aj v tomto prípade - ISEVEN nie je do CZ preložený). Ja sa takto snažím uvádzať vzorce vždy.

Inak napadlo ma aj nematicové riešenie, teda zadávané obyčajným Enter
=INDEX(C2:H2;LOOKUP(2;1/(ISODD(COLUMN(C2:H2))*(C2:H2=MIN(IF(ISODD(COLUMN(C2:H2));C2:H2;FALSE))));COLUMN(C2:H2)-1))
=INDEX(C2:H2;VYHLEDAT(2;1/(ISODD(SLOUPEC(C2:H2))*(C2:H2=MIN(KDYŽ(ISODD(SLOUPEC(C2:H2));C2:H2;NEPRAVDA))));SLOUPEC(C2:H2)-1))

Iba +1 som zabudol dať na konci - doplnil som do predošlého príspevku. Na môj príklad, kde sú dáta od B. Vy máte dáta od C, teda nie párny ale nepárny stĺpec, a preto len zmena z ISEVEN na ISODD:
=INDEX(C2:H2;MATCH(1;ISODD(COLUMN(C2:H2))*(C2:H2=MIN(IF(ISODD(COLUMN(C2:H2));C2:H2;FALSE)));0)+1)
=INDEX(C2:H2;POZVYHLEDAT(1;ISODD(SLOUPEC(C2:H2))*(C2:H2=MIN(KDYŽ(ISODD(SLOUPEC(C2:H2));C2:H2;NEPRAVDA)));0)+1)

Uveďte prílohu, záleží na párnosti čísla stĺpca (maticový vzorec Ctrl+Shift+Enter)
=INDEX(B2:G2;MATCH(1;ISEVEN(COLUMN(B2:G2))*(B2:G2=MIN(IF(ISEVEN(COLUMN(B2:G2));B2:G2;FALSE)));0)+1)
=INDEX(B2:G2;POZVYHLEDAT(1;ISEVEN(SLOUPEC(B2:G2))*(B2:G2=MIN(KDYŽ(ISEVEN(SLOUPEC(B2:G2));B2:G2;NEPRAVDA)));0)+1)

Aha, OK.
Počet riadkov sa dá riešiť niekoľkými spôsobmi:
a) dostatočným predimenzovaním vzorcov
b) použitím Tabuľky (to nie je prípad listov Y,X,Delus, lebo v nich sú závislé dáta)
c) natiahnutím vzorcov v makre na presnú veľkosť
d) použitím PowerQuery dotazu, ktorý vytvorí aktuálny výsledok (nebudú tam vzorce ale dáta), obnovuje sa cez Údaje - Obnoviť všetko, alebo toto obnovenie vyvolá makro na svojom konci.
e) samotné makro vyrobí presne veľký výsledok (teda nebudú tam vzorce ale dáta)

0 sa dajú skryť predsa priamo v tých vzorcoch pomocou IF/KDYŽ a "", alebo pomocou Podmieneného formátu "General;General;;@", alebo filtrom

Vy tie listy X a Y potrebujete, alebo ide iba o pomôcku pre list Delus?

O čo vlastne ide v tých listoch? O to aby ste v Delus zoradili za sebou najskôr upravené dáta ako v liste Y a hneď za nimi upravené dáta ako v X (teda bez "prázdnych"/"nulových" riadkov)? Je možné tie medzivýpočty v listoch vynechať a zapísať rovno hodnoty do Delus (či už makrom alebo PQ)?

Tie vždy nové dáta, ktoré kopírujete do "Vložení dat", to máte nejaký súbor exportu z nejakého SW, a ten si otvoríte a prekopírujete celé dáta? Tie dáta v tom súbore majú na začiatku aj tie "Výrobní dávka" a pod. čo sú na riadkoch 1 a 2?

A napadajú ma stále nejaké otázky, ktoré sú rozhodujúce pre návrh riešenia. Napr.:
Vy tie údaje potom ešte nejako upravujete/dopisujete v liste "Vložení dat"?
Ak áno, tak je potrebná kompletná aktualizácia po každej zmene, alebo pri kliknutí na tlačítko?
Sú dáta zoradené/zoskupené na "Y" a "X" alebo pomiešané?

Tu máte jednu z možností - kompletne spracované makrom - teda žiadne vzorce.

??? Tie listy "X", "Y", "Delus" sú predsa celé zle.
Ako viete, že budete mať nových dát zrovna po riadok 175 (teda 174 dátových) ?

V Delus majú byť pod sebou Y a X ? tak prečo sa z Y ťahá iba 99 riadkov a z X iba 100 riadkov, keď Y aj X sú nastavené na 174 riadkov?

Viete prečo máte v stĺpcoch:
Přední hrana - Tloušťka
Zadní hrana - Tloušťka
Levá hrana - Tloušťka
Pravá hrana - Tloušťka
samé 0 ? Lebo hľadáte napr. RIGHT('Vložení dat'!$J4;2)="45" a to nikdy nenastane, lebo dáta v zdrojových stĺpcoch tak nekončia. Majú tam ešte predsa veličinu "mm" napr
HD 241145 - ABS dub gravír 22x0,45mm

Tie 3 listy by sa mali plniť buď makrom alebo PowerQuery, obe si dokážu tie stĺpce dopočítať do Vami požadovaného tvaru.

Ja už to mám zhruba pre Vás aj prichystané, aj som rátal s číslami pomedzi, čakám len na ten rozsah 2
Takže to má reagovať na zmenu od 4. riadku (vrátane) ? Alebo má reagovať a odstraňovať diakritiku aj z riadkov 1-3 (kde 3. je hlavička dát)
Ak áno, tak ďalej od bunky A4 ľubovoľný počet riadkov a ľubovoľný počet stĺpcov ?

EDIT:
Tu máte zatiaľ nastrelenú prípravu.
Oblasť prevodu je nastavená konštantou na A4:BA10000
Na oddelenie čísel, riadkov, stĺpcov som použil tieto znaky "|", "¤", "•" v konštantách. Treba použiť také paznaky, ktoré sa v texte vyskytovať nebudú.

Uvádzam, že ako výkonnú časť makra som použil riešenie od eLCHa. Doprogramoval som len obslužnú časť.

Vaše riešenie je zlé.
Použite to od eLCHa.
Ak budete mať problém s implementáciou, pridajte prílohu, nech vidím ako máte rozmiestnené údaje po liste. Pri Worksheet_Change treba rozlišovať, kedy reagovať a kedy nie. Pridajte zoznam buniek/oblastí ktorých sa to má týkať, podrobnejší popis použitia. A adekvátne Vám to prispôsobím.

Ten dotaz doplní data ve sloupcích A : AR.

Je to urobené tak, že si dotaz zistí, aké sú v oboch súboroch stĺpce, urobí si jedinečný zoznam, a tieto stĺpce zo súborov importuje. Teda rovnaké do rovnakého stĺpca, prípadné rozdielne do samostatných stĺpcov.

V dalších sloupcích mám vzorce, ty nepřepíše, to ano.

Skúšal som obe varianty:
-ak tie vzorce sú vpravo od dát ako súčasť výsledného objektu Tabuľka
-aj ak nie sú súčasťou Tabuľky

V oboch prípadoch ich ponechá (prípadne posinie vpravo ak je pridaný nejaký zdrojový stĺpec).

Ale jak je to z rozsahem řádků?

Z rozsahom je to tak, ako som vydedukoval bez prílohy. Teda tipujem to na neTabuľku a prvý riadok hlavičku. Z hlavičky sa urobia názvy stĺpcov výslednej Tabuľky. Počet riadkov je ľubovoľný.

Pokud ano, jak je ošetřeno, že při další aktualizaci dotazu nebude třeba méně řádků?

Neviem, či rozumiem otázke. Ak budete mať v nových súboroch menej riadkov ako v starých, samozrejme výsledok bude mať tiež menej riadkov. Neviem ako to myslíte.

A dalo by se spouštění toho dotazu přiřadit nějakému tlačítku na jiném listu tak, jak to mám u VBA?

Sub Aktualizace_PQ()
Dim C As Object

Const NAZEV_DOTAZU = "Prijemky_Vydejky"

For Each C In ThisWorkbook.Connections
If Right(C.Name, Len(NAZEV_DOTAZU) + 2) = "– " & NAZEV_DOTAZU Then C.Refresh: Exit For
Next C

Set C = Nothing
End Sub

Nerobíte nič zle. Máte pravdu. Ide to iba na mojom PC, skúšal som to aj na inom, no kým som šiel pozrieť aká je tam verzia Office tak spadol prúd :(
Na mojom PC je 2019 Pro Plus

Každopádne tu poprosím skúsenejších PéQéčkárov a pomoc, v čom je problém.


Strana:  1 ... « předchozí  42 43 44 45 46 47 48 49 50   další » ... 289

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Týden v roce

Petr92 • 16.7. 15:34

Řazení podle času v kategoriích

veny • 16.7. 11:34

špatný výpočet ze zisku - příčina?

Anonym • 12.7. 22:56

špatný výpočet ze zisku - příčina?

Jakoby • 12.7. 12:35

Řazení podle času v kategoriích

Marekh • 12.7. 9:55

Porovnávací Tabulka

Jess • 8.7. 20:49

Vzorec pro zkopírování obsahu buňky.

veny • 6.7. 8:28