Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  102 103 104 105 106 107 108 109 110   další » ... 289

Neviem, ako to presne myslíte, ale napadajú ma hneď 2 varianty výsledkov...

JoKe: Vy ste to pochopil? A že vraj ja mám krištáľovú guľu. 2

Imh0tep: Vy chcete kopírovať ľubovoľne voliteľné listy? Na to predsa musíte mať pre každý list zatržítko.
Alebo chcete presunúť/kopírovať listy napr. staršie ako 3 mesiace? Tam sa dá použiť cyklus, ktorý pripraví pole, ktoré následne použijete, ako popísal JoKe. Určite, to nemusíte vypodmienkovávať. Lepšie to popíšte.

Ak sa pozriete sem, tak sa dočítate, že prehľadávané údaje musia byť zoradené vzostupne alebo údaje typu True/False, a funkcia vráti najvyššiu hodnotu vektora (2.param, podmienka), ktorá je <= hľadanej. Testovacia podmienka dá True/False (teda 1/0). Odstránime nevyhovujúce tak, že číslo 1 vydelíme práve týmito 1/0. Nulou sa deliť nesmie, takže tam vzniknú chyby, a ostanú jedničky. My hľadáme akože číslo 2. A keďže sú tie 1 akože zoradené vzostupne, vráti nám funkcia najvyšší "index" hodnoty <= hodnote 2. A to je posledná jednička. A keď máme index tak priradíme riadok (posledný param)

normálny vzorec číslo riadku
=IFERROR(LOOKUP(2;1/($A$3:$A$13=E8);ROW($A$3:$A$13));0)
=IFERROR(VYHLEDAT(2;1/($A$3:$A$13=E8);ŘÁDEK($A$3:$A$13));0)


normálny vzorec index
=IFERROR(LOOKUP(2;1/($A$3:$A$13=E8);ROW($A$3:$A$13)-2);0)
=IFERROR(VYHLEDAT(2;1/($A$3:$A$13=E8);ŘÁDEK($A$3:$A$13)-2);0)


maticovo číslo riadku (Ctrl+Shift+Enter)
=MAX(($A$3:$A$13=E8)*(ROW($A$3:$A$13)))
=MAX(($A$3:$A$13=E8)*(ŘÁDEK($A$3:$A$13)))


maticovo index (Ctrl+Shift+Enter)
=MAX(($A$3:$A$13=E8)*(ROW($A$3:$A$13)-2))
=MAX(($A$3:$A$13=E8)*(ŘÁDEK($A$3:$A$13)-2))

A čo to má presne vracať? Toto Vám vráti číslo riadku:
=LOOKUP(2;1/NOT(ISBLANK(A2:A10)*ISBLANK(B2:B10)*ISBLANK(C2:C10));ROW(A2:A10))
=VYHLEDAT(2;1/NE(JE.PRÁZDNÉ(A2:A10)*JE.PRÁZDNÉ(B2:B10)*JE.PRÁZDNÉ(C2:C10));ŘÁDEK(A2:A10))

milos85: Takto ???

A čo to skúsiť pomocou PF?

Príloha nič neobsahuje. Veľkosť 22 bytov.

Pr.
Sub Pocet_stran()
Dim xStr As String, xFdItem As String, xFileName As String
Dim xFileNum As Long, Count As Long
Dim RegExp As Object, FSO As Object, File As Object
Dim F()

With Application.FileDialog(msoFileDialogFolderPicker)
If .Show <> -1 Then MsgBox "Nevybrali ste žiadny adresár": Exit Sub
xFdItem = .SelectedItems(1) & IIf(Right$(.SelectedItems(1), 1) = Application.PathSeparator, "", Application.PathSeparator)
End With

wsOld.UsedRange.ClearContents
With wsCiel.Range("A1:C1").Resize(wsCiel.Cells(Rows.Count, 1).End(xlUp).Row)
wsOld.Range("A1:C1").Resize(.Rows.Count).Value = .Value
.Offset(1, 0).ClearContents
End With

Set FSO = CreateObject("Scripting.FileSystemObject")
Set RegExp = CreateObject("VBscript.RegExp")

With FSO.GetFolder(xFdItem)
For Each File In .Files
xFileName = File.Name
If LCase(FSO.GetExtensionName(xFileName)) = "pdf" Then
Count = Count + 1
ReDim Preserve F(1 To 3, 1 To Count)
F(1, Count) = xFileName
F(3, Count) = File.DateLastModified
With RegExp
.Global = True
.Pattern = "/Type\s*/Page"
xFileNum = FreeFile
Open (xFdItem & xFileName) For Binary As #xFileNum
xStr = Space(LOF(xFileNum))
Get #xFileNum, , xStr
Close #xFileNum
F(2, Count) = .Execute(xStr).Count
End With
End If
Next File
End With

If Count > 0 Then
wsCiel.Range("A2:C2").Resize(Count).Value = Application.Transpose(F)
wsCiel.Columns("A:C").AutoFit
Else
MsgBox "Žiadne súbory PDF"
End If

Set FSO = Nothing: Set RegExp = Nothing: Set File = Nothing
End Sub

Pr.

milos85 : COUNTIF() s parametrom čo sme teraz získali &"?" prípadne &"*"

Barth : Kedysi som robil vzorce na vyťahovanie čísel z akýchkoľvek reťazcov, nemôžem to nájsť. Uveďte príklad, možno poriešime ...

Aha, no však dá sa aj tak samozrejme.

Ešte o mikrokúštik kratšie :)
=LEFT(A1;LEN(A1)-IFERROR(RIGHT(A1)*0;1))
=ZLEVA(A1;DÉLKA(A1)-IFERROR(ZPRAVA(A1)*0;1))

Áno myslel som na to, no nakoniec prevážila myšlienka, že nevieme čo obsahuje ten "txt", a čo ak tam bude tiež "/", tak som to spravil radšej takto :)

Skúsim iba zľahka.
Pomocný stĺpec je v oboch Tabuľkách na konci - skrytý.
Vypozoroval som, že dátumu vždy predchádza "/".
Vzorec funguje približne takto:
-nahradí "/" za počet medzier rovnajúcich sa dĺžke raťazca, tento trik sa používa na rozdelenie textu na úseky/slová či získanie N-tej časti.
txXt010018/24.01.2020
txXt010018                     24.01.2020

-Teraz zoberieme zprava toľko znakov, aká je dĺžka origo textu
           24.01.2020
-A teraz keď máme 11 medzier a textodátum, prevedieme tento textodátum na dátum
DATEVALUE("           24.01.2020")
DATUMHODN("           24.01.2020")

-a máme dátum 24.1.2020, ktorý môžeme testovať voči našej podmienke Datum!D3 a Datum!D4 (preto musí byť vo vzorci ešte jedno rovnaké počítanie pre druhý interval)
-samozrejme je to obalené v IFERROR, pre prípad, že tam dátum nebude, a pri prevode na dátum nastane chyba.

-lenže my toto celé nerobíme s bunkou, ale s 18-stimi, a teda nám vznikne maticovým vzorcom pole 0 a 1, ktoré pomocou SUM/SUMA spočítame.
Napr v 4. raidku
SUM(0/1/1/1/FALSE/FALSE/FALSE/FALSE/FALSE/FALSE/FALSE/FALSE/FALSE/FALSE/FALSE/FALSE/FALSE/FALSE)
SUMA(0/1/1/1/NEPRAVDA/NEPRAVDA/NEPRAVDA/NEPRAVDA/NEPRAVDA/NEPRAVDA/NEPRAVDA/NEPRAVDA/NEPRAVDA/NEPRAVDA/NEPRAVDA/NEPRAVDA/NEPRAVDA/NEPRAVDA)

-a tento súčet nám udáva koľkokrát sa v 18 stĺpcoch nachádza dátum v rozmedzí intervalov, ak je >0 tak je výsledkom číslo riadku dát v Tabuľke, ak je 0 tak ""
-tieto výsledky (čísla riadkov) sú logicky teda aj zoradené vzostupne.

A teda vo výslednej Tabuľke:
-potom pomocou vzorca zisťujeme na každom riadku zdrojový riadok
SMALL(stĺpec;koľká najmenšia hodnota)
"stĺpec" - je ten výsledný pomocný skrytý stĺpec na konci zdrojovej Tabuľky
"koľká najmenšia hodnota" - tu si pomocou relatívneho adresovania zabezpečíme, že vzorec na každom riadku bude ťahať o jedno väčšie číslo z výsledkov v zdroji (vždy ďalší riadok)
ROW(A1)
ŘÁDEK(A1)

-A potom už iba indexujeme data tak, že ich najskôr skontrolujeme, či nieje výsledná bunka prázdna, lebo by nám to ťahalo 0.

fertig


Strana:  1 ... « předchozí  102 103 104 105 106 107 108 109 110   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

vyhledání obsahu buňky

vfort • 18.7. 11:22

Názvy z řádků do sloupců Power Query

Alfan • 18.7. 10:01

Tlac 2 roznych tabuliek

loksik.lubos • 17.7. 20:43

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