=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).
Veď stačí PF na oblasť $I$2:$AW$17 so vzorcom
=AND($G2="receipts";I2>0)
=A($G2="receipts";I2>0)
EDIT:
Makro by vyzeralo asi takto:
Sub Zvyraznit()
Dim RNG As Range
Dim R As Long, y As Integer
Dim D()
With Worksheets("mrp_daily")
R = .UsedRange.Rows.Count - 1
If R < 1 Then MsgBox "Žádné data", vbExclamation: Exit Sub
With .Range("G2:AW" & R + 1)
D = .Value2
For R = 1 To R
If D(R, 1) = "Receipts" Then
For y = 3 To UBound(D, 2)
If D(R, y) > 0 Then
If RNG Is Nothing Then Set RNG = .Cells(R, y) Else Set RNG = Union(RNG, .Cells(R, y))
End If
Next y
End If
Next R
End With
If Not RNG Is Nothing Then RNG.Select
End With
Set RNG = Nothing
End Sub
Tak fčil som to snáď pochopil správne.
"v textu ze sloupce J" - myslíte P
maticový vzorec s aj bez pomocného stĺpca BK
vracia to vždy iba prvú zhodu
príklad výsledku v F5 máte zle
EDIT:
Moment, asi som to pochopil zle. Ten vzorec, ktorý máme vytvoriť má ísť do BL?
=VLOOKUP(C3;INDIRECT("'rozbor_9'!B:F");5;0)
=SVYHLEDAT(C3;NEPŘÍMÝ.ODKAZ("'rozbor_9'!B:F");5;0)
Skúste nastaviť pre adresár (ak ešte nie je) dôveryhodné umiestnenie a odblokovať súbor (ak nie je).
Link
EDIT:
iný aktuálnejší Link
Pozor na vstupné dáta a dáta zadané v Rozšírenom filtri. Musia byť zhodné! Nemôže byť jedno číslo a druhé dátum ako zobrazený rok ("číslo").
=INDIRECT("'DATA'!A"&fnc)
=NEPŘÍMÝ.ODKAZ("'DATA'!A"&fnc)
alebo
=OFFSET('DATA'!A1;fnc-1;)
=POSUN('DATA'!A1;fnc-1;)
alebo
=INDEX('DATA'!A:A;fnc)
Sub Klik()
Makro3
Makro2
Makro1
End Sub
Z deklarácie dajte preč "As Long"
Dim CenaPartner
a pred tento riadok
Range("AQ2").Value = "objednej " & CenaPartner
dajte tento
If CenaPartner = "" Then Exit Sub
EDIT:
Alebo použite Application.InputBox namiesto InputBox, a Type=1 (číslo), potom pri zrušení je návratová hodnota False:
CenaPartner = Application.InputBox("Otevři případ na www,zadej objednávku PARTNER.", _
"Cena Partner - tvá nákupní cena z objednávky eset.cz", Type:=1)
If CenaPartner = False Then Exit Sub
Teraz na to nemám čas (ani chuť), ale už som to pozeral. Ak sa súbor otvorí z OD adresára, tak si bunky so vzorcom na zistenie cesty prečítajú ako cestu tú na net (https://...), nie na disk. A z toho sa nijako nedá určiť skutočné umiestnenie v PC. Bude sa musieť inak (manuálne alebo makrom) zadať cesta k skutočnému umiestneniu "C:\Users\Fero Mrkva\OneDrive\niečo\". A potom spracovať klasicky. Ďalej bude nutné rozvetviť spracovanie tak, aby na začiatku inak spracovával adresáre, ak sa jedná o SP.
Asi jedine tak, že by boli validné riadky kopírované na iný list. Teda nevalidné sa neskryjú ale nezahrnú.
Nejaké príklady.
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.