Chcete zoradiť podľa abecedy, alebo len zoradiť pod seba, tak ako idú ?
Toto ich dá tak ako idú:
=IFERROR(INDEX($M$3:$M$25;SMALL(IF($M$3:$M$25<>"-";ROW($M$3:$M$25)-2);ROW(M1)));"")
=IFERROR(INDEX($M$3:$M$25;SMALL(KDYŽ($M$3:$M$25<>"-";ŘÁDEK($M$3:$M$25)-2);ŘÁDEK(M1)));"")
a toto ich aj zoradí podľa abecedy (nesmú sa ale opakovať):
=IFERROR(INDEX($M$3:$M$25;MATCH(ROW(M1)-1;IF($M$3:$M$25<>"-";COUNTIFS($M$3:$M$25;"<"&$M$3:$M$25;$M$3:$M$25;"<>-"));0));"")
=IFERROR(INDEX($M$3:$M$25;POZVYHLEDAT(ŘÁDEK(M1)-1;KDYŽ($M$3:$M$25<>"-";COUNTIFS($M$3:$M$25;"<"&$M$3:$M$25;$M$3:$M$25;"<>-"));0));"")
"Jiří49" napsal/a:
...elninoslov přijde se "zázračným" maticovým vzorcem...
No a čo skúsiť KT?
Priložte prílohu. A to ste mohol pokračovať v predchádzajúcom vlákne, v ktorom je riešenie predošlej variácie dotazu, na ktoré ste ani nereagoval.
https://pc-help.cnews.cz/viewtopic.php?p=1689208#p1689208
Maticový vzorec:
=SUM((LEN(A1:A10)-LEN(SUBSTITUTE(LOWER(A1:A10);LOWER(G1);"")))/LEN(G1))
=SUMA((DÉLKA(A1:A10)-DÉLKA(DOSADIT(MALÁ(A1:A10);MALÁ(G1);"")))/DÉLKA(G1))
V G1 je hľadaný text.
Uveďte nejaké požiadavky, príklady, prílohy, popis, nech sa vieme rozhodnúť, či budeme vedieť ako postupovať.
Dá sa použiť CLng()
DATEoldCOUNT = WorksheetFunction.CountIf(OblastSMAZ, "<" & CLng(DATEnow))
alebo Long namiesto dátumu
Dim DATEnow As Long
PS: Ale viete o tom, že to bude kolabovať ak bude oblasť SpecialCells(xlCellTypeVisible) rozdelená filtrom.
Pošlite prílohu,nech je jasné odkiaľ makro spúšťate a čo je v listoch. Z toho sa bude dať snáď vydedukovať, čo chcete urobiť.
V polospánku :
Sub add()
Dim WS As Worksheet, Nazov As String
Nazov = Format(Now, "dd.mm.yyyy")
On Error Resume Next
Set WS = Worksheets(Nazov)
On Error GoTo 0
If Not WS Is Nothing Then MsgBox "Nelze přidat, jelikož se den už v sešitě nachází", vbExclamation: Exit Sub
Worksheets("VZOR").Visible = True
Worksheets("VZOR").Copy After:=Worksheets(Worksheets.Count)
Worksheets("VZOR").Visible = False
Set WS = Worksheets(Worksheets.Count)
WS.Range("A1").Value = Nazov
WS.Name = Nazov
ActiveWindow.Zoom = 55
End Sub
Nerozumiem, ale skúsim:
=COUNTIF(NOVÉ_xlsm[Měsíc];"*"&TEXT(B7;"[$-cs-CZ]mmmm")&"_"&YEAR(B7)&"*")
=COUNTIF(NOVÉ_xlsm[Měsíc];"*"&HODNOTA.NA.TEXT(B7;"[$-cs-CZ]mmmm")&"_"&ROK(B7)&"*")
=COUNTIFS(NOVÉ_xlsm[Měsíc];"*"&TEXT(B7;"[$-cs-CZ]mmmm")&"_"&YEAR(B7)&"*";NOVÉ_xlsm[Jméno];"<>";NOVÉ_xlsm[KONTROLA];"<>")
=COUNTIFS(NOVÉ_xlsm[Měsíc];"*"&HODNOTA.NA.TEXT(B7;"[$-cs-CZ]mmmm")&"_"&ROK(B7)&"*";NOVÉ_xlsm[Jméno];"<>";NOVÉ_xlsm[KONTROLA];"<>")
=COUNTIFS(NOVÉ_xlsm[Jméno];"<>";NOVÉ_xlsm[KONTROLA];"")
EDIT: Aj ten predošlý je divný, dal by som ho takto:
=COUNTIFS(NOVÉ_xlsm[Jméno];"<>";NOVÉ_xlsm[KONTROLA];">=1.1.2019")
a ten prvý počíta milión riadkov. Načo. Veď odkazujte iba Tabuľku:
=COUNTIF(NOVÉ_xlsm[číslo];"*")
alebo
=COUNTA(NOVÉ_xlsm[číslo])
=POČET2(NOVÉ_xlsm[číslo])
Súbor - Možnosti - Vzorce - Čísla formátované ako text alebo s apostrofom na začiatku
ak ide o zobrazenie (nie o to aby tam tie 0 skutočne boli), bunku naformátujte vlastným formátom
00000000
a potom aj keď zadáte 15475 bude zobrazovať 00015475 ale v skutočnosti tam bude 15475.
Znamienko - uchovávajte vedľa v samostatnej bunke, čas dajte absolútne číslo, naformátované podľa vyššie uvedeného. A samozrejme toto znamienko zohľadnite v ďalších výpočtoch s časom, v ktorých zase uložte znamienko bokom. atď.
EDIT: nižšie od eLCHa, to bude jednoduchšie.
Sub CheckAndPrint()
If Range("M8") & Range("F9") & Range("F18") = "" Then MsgBox "Ani prd !", vbCritical: Exit Sub
' ... pokračuje tlačiace makro
End Sub
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.