Pr.
Nejaké príklady. Sú potrebné upresnenia:
-mení sa počet stĺpcov?
-menia sa názvy stĺpcov?
-majú stĺpce hlavičky?
-sú to jednoliate dáta, alebo s medzerami?
-ktorý stĺpec je smerodajný pre počet riadkov?
-výstup má byť tabuľka alebo Tabuľka (objekt)?
...
Sub test()
Dim Cesta As String
Dim uzivatel As String
Cesta = "C:\Users"
uzivatel = Application.UserName
Application.DisplayAlerts = False 'potlačí excelová hlášení (např při zavírání souborů)
With Workbooks.Open(Cesta & "\" & uzivatel & "\Downloads\PorovnaniHodin.xlsx")
.Worksheets("Data").Range("A:K").Copy
ThisWorkbook.Worksheets("PorovnaniHodin").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
.Close False
End With
Application.DisplayAlerts = True 'opětovné povolení excelovských hlášené
End Sub
Ak by som videl reálne prílohy, rozmiestnenie, formáty, počet riadkov, kde sú dáta a kde vzorce, orámovanie a pod., tak by som to vedel urobiť bez nutnosti otvárať daný zošit.
Pr.
Ak je tam iba jedno porovnanie, ktorého výsledkom je TRUE/FALSE (PRAVDA/NEPRAVDA), tak to SUM nezráta. Ale ak sú tam násobené 2 výsledky (napr. TRUE*TRUE), tak vzniknú čísla 0/1, a tie už zráta. V starších verziách Excelu ešte treba potvrdiť takýto vzorec ako maticový (Ctrl+Shift+Enter). V nových verziách už toto nie je potreba, a Excel si to preberie sám.
=SUM(--((D2:P391=B395)*(C2:C391=C396)))
=SUMA(--((D2:P391=B395)*(C2:C391=C396)))
No neviem veru, či pôjde použiť horizontálny aj vertikálny smer podmienok naraz ..
Môžete použiť SUM
=SUM((D2:P391=B395)*(C2:C391=C396))
=SUMA((D2:P391=B395)*(C2:C391=C396))
Tak to ja v tom vidím trochu viac problémov. Na hodiny to nestačí počítať. Treba na minúty. Popasoval som sa s tým takto. Dúfam, že som sa nezamotal.
Zaregistrujte sa, a priložte ozrejmujúcu anonymizovanú prílohu. Nejak to nepoberám, čo kde je, a hlavne čo sa má kam zobraziť.
Toto napr. načíta dáta z objektu "Table001". Musí byť vo všetkých PDF.
Dobrá správa je, že sa to bude dať. Zlá správa je, že musíme vedieť, ktorá/ktoré tabuľka/tabuľky v PDF obsahujú dáta. Je tam 5 strán a 6 tabuliek. Buď priložíte súbor, alebo si v PowerQuery (PQ) sami zistíte, ktorá tabuľka to je. A my Vám potom PQ nastavíme.
Pravý klik - Tabuľka - Upraviť dotaz - v stĺpci Data klikajte nie na text Table (zatiaľ), ale len na biele miesto bunky, a pozerajte dole na obsiahnuté dáta. Dajte vedieť číslo Page a Table.
A potom budeme musieť ešte doriešiť možno také súbory, kde tabuľka presahuje cez X strán.
V PowerQuery E2016 to nebolo, myslím. Ale vyskúšajte pre istotu. Na liste súbor vyplňte presnú cestu k súboru PDF. Potom na karte Údaje kliknite na Obnoviť všetko. Je niečo v liste PDF?
=IFERROR(INDEX(Archiv!A:A;SMALL(IF($D$6=Archiv!$A$2:$A$9999;ROW(Archiv!$A$2:$A$9999));IF(COUNTIF(Archiv!$A$2:$A$9999;$D$6)>20;COUNTIF(Archiv!$A$1:$A$9999;$D$6)-20;0)+ROW(Archiv!1:1)));"")
=IFERROR(INDEX(Archiv!A:A;SMALL(KDYŽ($D$6=Archiv!$A$2:$A$9999;ŘÁDEK(Archiv!$A$2:$A$9999));KDYŽ(COUNTIF(Archiv!$A$2:$A$9999;$D$6)>20;COUNTIF(Archiv!$A$1:$A$9999;$D$6)-20;0)+ŘÁDEK(Archiv!1:1)));"")
Akurát by som nedával celých milión riadkov F:F a A:A, ale rozumnejšie zvolenú oblasť podľa potreby napr. F2:F10000...
Napr.:
=LOOKUP(2;1/(NOT(ISBLANK(F:F))*(A:A=M1));F:F)
=VYHLEDAT(2;1/(NE(JE.PRÁZDNÉ(F:F))*(A:A=M1));F:F)
Formát A a M na Všeobecné.
Asi máte na mysli formuláre, a na to potrebujete platený Acrobat Pro (nestačí Free Acrobat Reader).
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.