Vyskúšajte či je toto správne (maticovo Ctrl+Shift+Enter):
=IF(SUM(COUNTIFS($B$21:$B$35;$B3;$C$21:$C$35;C$2;INDEX(Dochadzka;;MATCH($A$1;$E$18:$M$18;0));INDIRECT($A3)&"*"));"OK";"NOK")
=KDYŽ(SUMA(COUNTIFS($B$21:$B$35;$B3;$C$21:$C$35;C$2;INDEX(Dochadzka;;POZVYHLEDAT($A$1;$E$18:$M$18;0));NEPŘÍMÝ.ODKAZ($A3)&"*"));"OK";"NOK")
A čo ak by to bol jednoduchý PQ dotaz?
To by ma zaujímalo ako sa dá zistiť, že dnes na riadku 15 výraz "Praha 10" znamená "Praha 10", a zajtra na riadku 15 bude výraz "Praha 4" znamenať "Praha 10"
Alebo inak, že výraz "Praha 4" na riadku 50 znamená vlastne "Praha 10" a má byť na riadku 15 medzi ostatnými "Praha 10" ale zapísaný ako "Praha 4".
Máte pravdepodobne formát bunky ako "Text".
promíchat sloupce mezi sebou
A prečo chcete všetko mať cez VBA? Upravil som Vám ten formulár v Exceli, a VBA iba zapisuje nové položky.
Ďalší príklad. Na popis nemám čas. Podľa mňa to takto ale nieje dobre. Mali by ste zadávať data pod seba do Tabuľky (s pomocnými stĺpcami na zdvojené 1/2), a urobiť KT, kde si vyfiltrujete osoby.
=COUNTIF(A1:A6;C2)>0
C2 - hľadaná hodnota
A obyčajný VLOOKUP/SVYHLEDAT ste neskúšal?
=IFERROR(VLOOKUP(B2;J2:K5;2;FALSE);"")
=IFERROR(SVYHLEDAT(B2;J2:K5;2;NEPRAVDA);"")
PS: mepexg sa iba preklepol, v D2 nieje potrebný maticový vzorec, stačí obyč.
Tak skúste jednorázovo použiť nejaké makro, napr.:
Sub ZmenaHyperlink()
Dim Bunka As Range, Hodnota
With Worksheets("Hárok1")
For Each Bunka In .Range("A1:A6").Cells
Hodnota = Bunka.Value
Select Case True
Case LenB(Hodnota) = 0
Case Left$(Hodnota, 4) <> "http": .Hyperlinks.Add Anchor:=Bunka, Address:="http://" & Hodnota
Case Else: .Hyperlinks.Add Anchor:=Bunka, Address:=Hodnota
End Select
Next Bunka
End With
End Sub
Veď ale Vy máte v R vzorec, teda musíte testovať zmenu v manuálne menených bunkách, ktoré ten vzorec používa. Vzorec používa Q a D. D je manuálne menený, no Q je vzorec, ktorý používa E, a to je manuálne menené. Teda sledované bunky vo Worksheet_Change musia byť všetky manuálne, a teda D a E. Stĺpce D a E reprezentujú vo Vašej Tabuľke "Tabulka2" stĺpce 3 4 (Datum, šarže).
-Teda test zmeny v týchto dvoch,
-Prenesenie na stĺpec R - teda v Tabulka2 číslo 17 (Měsíc),
-Overenie trvania >14 a prenesenie na stĺpec P - teda v Tabulka2 je to posun o -2 stĺpce,
-Zápis "ne"
PS: ---Prípadné ošetrenie hromadného zápisu do viac buniek
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ChangeAreaDE As Range, ChangeAreaR As Range, SubArea As Range, Cell As Range, FinalAreaP As Range, Hodnota
Set ChangeAreaDE = Intersect(ListObjects("Tabulka2").DataBodyRange.Columns(3).Resize(, 2), Target)
If Not ChangeAreaDE Is Nothing Then
Set ChangeAreaR = Intersect(ListObjects("Tabulka2").DataBodyRange.Columns(17), ChangeAreaDE.EntireRow)
If Not ChangeAreaR Is Nothing Then
For Each SubArea In ChangeAreaR.Areas
For Each Cell In SubArea.Cells
Hodnota = Cell.Value
If Hodnota <> "" And Hodnota > 14 Then
If FinalAreaP Is Nothing Then Set FinalAreaP = Cell.Offset(0, -2) Else Set FinalAreaP = Union(FinalAreaP, Cell.Offset(0, -2))
End If
Next Cell
Next SubArea
If Not FinalAreaP Is Nothing Then
Application.EnableEvents = False
FinalAreaP.Value = "ne"
Application.EnableEvents = True
End If
End If
End If
End Sub
Nečítal som celé vlákno, teda možno treba ešte niečo doplniť/zmeniť. Otestujte.
A čo keby sa dalo iba:
=IF(ISBLANK(A1);A2;A1)
+ podmienený formát s podmienkou zisťovania FO/PO:
=ISBLANK($A$1)
s formátom Dátum ?
Tak to je parádne, tá "matrica" dní v týždni...
Príklad, čo ma prvé napadlo ...
EDIT: Len dovysvetlím ...(2*7)...
2* znamená 2. v poradí a 7 znamená deň týždňa. Keď budete hľadať 3. sobotu, tak to bude (3*6)...
Pr.
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.