To je maticový vzorec (Array Formula), ten sa nezadáva iba ENTER ale pomocou Ctrl + Shift + ENTER.
Navyše pri presúvaní vzorca alebo jeho multiplikovaní, je vhodné nastaviť aj potrebné oblasti ako Absolútne odkazy (nie ako Relatívne). Rozdiel si určite dokážete nájsť :)
Pridávam aj pokus s pomocou PowerQuery.
Mrknite napr. na stackoverflow
Skúsil som odtiaľ túto:
Function Translate$(sText$, FromLang$, ToLang$)
Dim p1&, p2&, url$, resp$
Const DIV_RESULT$ = "<div class=""result-container"">"
Const URL_TEMPLATE$ = "https://translate.google.com/m?hl=[from]&sl=[from]&tl=[to]&ie=UTF-8&prev=_m&q="
url = URL_TEMPLATE & WorksheetFunction.EncodeURL(sText)
url = Replace(url, "[to]", ToLang)
url = Replace(url, "[from]", FromLang)
resp = WorksheetFunction.WebService(url)
p1 = InStr(resp, DIV_RESULT)
If p1 Then
p1 = p1 + Len(DIV_RESULT)
p2 = InStr(p1, resp, "</div>")
Translate = Mid$(resp, p1, p2 - p1)
End If
End Function
Tak skúste pokus numero uno
???
A ako zistíme, na ktorý deň pripadá koľko hodín?
Napr. Franta 10.-13. - 4 dni - 44 hodín - 11 hodín na deň?
Lojza má v jeden deň 8 a v druhý nenaväzujúci iba 4
Pepa 15. - 20. - 6 dní - 48 hodín - 8 hod na deň
Ako sa ten súčet hodín v stĺpci E delí na jednotlivé dátumy?
Aj tak neviem naisto, či potom dobre rozumiem...:
Sub Vymaz_B_AA()
Dim R As Long, i As Long, B(), rngBAA As Range, HLADAJ
HLADAJ = 703320
With ThisWorkbook.Worksheets("List1")
R = .Cells(Rows.Count, 2).End(xlUp).Row
B = .Cells(1, 2).Resize(R).Value2
For i = 1 To R
If B(i, 1) = HLADAJ Then
If rngBAA Is Nothing Then
Set rngBAA = .Range("B1:AA1").Offset(i - 1, 0)
Else
Set rngBAA = Union(rngBAA, .Range("B1:AA1").Offset(i - 1, 0))
End If
End If
Next i
End With
If Not rngBAA Is Nothing Then rngBAA.ClearContents
End Sub
Akurát som odoslal EDIT do príspevku. Mal som preklep v oblasti C1:AA1 vs B1:AA1.
To čo upravujete Vy, teda AB na AA, neodpovedá požiadavke, ktorú ste napísal, a to, že chcete AB hodnoty ponechať.
To .Cells(i, "AB") v kóde slúži práve na to, aby sa uložili oblasti, ktoré sa majú previesť neskôr na hodnoty. Nie zmazať ani nie ponechať vzorec. V AB je totiž vzorec, nemôžete mu zmazať zdrojové hodnoty C,B,K,AA, nezostane mu výsledok.
Dáta v stĺpci AB je možné zanechať iba za predpokladu konverzie vzorca, ktorý sa v AB nachádza na hodnotu. Teda ten výpočet bude v AB (v daných riadkoch) ďalej nefunkčný.
Sub Vymaz_B_AA()
Dim R As Long, i As Long, B(), rngCAA As Range, rngAB As Range, rng As Range, HLADAJ
HLADAJ = 703320
With ThisWorkbook.Worksheets("List1")
R = .Cells(Rows.Count, 2).End(xlUp).Row
B = .Cells(1, 2).Resize(R).Value2
For i = 1 To R
If B(i, 1) = HLADAJ Then
If rngCAA Is Nothing Then
Set rngCAA = .Range("B1:AA1").Offset(i - 1, 0)
Set rngAB = .Cells(i, "AB")
Else
Set rngCAA = Union(rngCAA, .Range("B1:AA1").Offset(i - 1, 0))
Set rngAB = Union(rngAB, .Cells(i, "AB"))
End If
End If
Next i
End With
If Not rngAB Is Nothing Then
For Each rng In rngAB.Areas
rng.Value2 = rng.Value2
Next rng
rngCAA.ClearContents
End If
End Sub
EDIT:
V oblasti som urobil preklep. Namiesto C1:AA1 má byť samozrejme B1:AA1. V prílohe aj v kóde som to opravil.
Nemám tu teraz CZ Excel, ale mne sa zdá, že do PF ako Formula1 musí ísť vo VBA lokálny vzorec.
Sub PF()
With Worksheets("Hárok1").Range("I:AV").FormatConditions.Add(Type:=xlExpression, Formula1:="=WEEKDAY(I$1;2)>5").Interior
.PatternColorIndex = 0
.Color = RGB(255, 230, 153)
End With
End Sub
A ešte ma napadá, určite myslíte I$1 a nie náhodou $I1 alebo I1 ???
PowerQuery, stačí iba Ctrl + Alt + F5, alebo Data - Obnoviť všetko, alebo pravý klik do Tbl - Obnoviť
Možno by sa to dalo ojebabrať takto...
Toto sa vysporiada so všetkými prípadmi čo ma napadli: [HH]:MM ako text, číslo, záporné, kladné, HH:MM ako text, číslo, záporné, kladné
=IF(ISTEXT(A2);VALUE(SUBSTITUTE(A2;"-";""));A2)*IF(LEFT(A2;1)="-";-24;24)
=KDYŽ(JE.TEXT(A2);HODNOTA(DOSADIT(A2;"-";""));A2)*KDYŽ(ZLEVA(A2;1)="-";-24;24)
PS:
HH:MM a [HH]:MM nie je to isté, a tiež 18:48 a "18:48" nie je to isté. Duplom s "-".
Je to formát Text?
Napr.:
=TIMEVALUE(SUBSTITUTE(A5;"-";""))*IF(LEFT(A5;1)="-";-1;1)
=ČASHODN(DOSADIT(A5;"-";""))*KDYŽ(ZLEVA(A5;1)="-";-1;1)
V uvedenej ukážke ale nie nič o dátume/počte dní, s ktorými rátate vo vzorci.
ak sú do toho zarátané celé dni formou [HH]:MM, tak napr.:
=(DATEVALUE(SUBSTITUTE(A7;"-";""))*24+TIMEVALUE(SUBSTITUTE(A7;"-";"")))*IF(LEFT(A7;1)="-";-1;1)
=(DATUMHODN(DOSADIT(A7;"-";""))*24+ČASHODN(DOSADIT(A7;"-";"")))*KDYŽ(ZLEVA(A7;1)="-";-1;1)
alebo
=VALUE(SUBSTITUTE(A8;"-";""))*IF(LEFT(A8;1)="-";-1;1)
=HODNOTA(DOSADIT(A8;"-";""))*KDYŽ(ZLEVA(A8;1)="-";-1;1)
podľa toho, čo má byť presne výsledkom, a čo a v akom formáte reprezentuje zdroj.
Takto, keď to máte v DM, tak by Vám to malo ísť. Ak Vám ten druhý dotaz takto nefunguje, tak ho asi máte priamo do listu, a odtiaľ do KT. Lebo ak by bolo prepojenie vložené ako zdroj KT alebo dotaz načítaný do KT, tak by to nemalo byť obmedzené (ani nastaviteľné). Aspoň u mňa v E2019 to tak je.
Ako ste na tom s veľkosťou súboru, keď je to v DT?
Vyžaduje zmenu limitu:
Načítať do - Vytvoriť iba pripojenie - Načítať tieto údaje do dátového modelu. Potom už bude dotaz vidieť v Údaje - Dotazy a pripojenia - Pripojenia, dvojklik (Vlastnosti), Maximálny počet záznamov na načítanie - OK
Nevyžaduje zmenu limitu (dáva mi to všetky riadky):
Načítať do - Zostava kontingenčnej tabuľky - OK
alebo
Načítať do - Vytvoriť iba pripojenie, menu Vložiť - Vložiť KT, Použiť Externý zdroj údajov - Vybrať pripojenie - Zobraziť pripojenia v tomto zošite - vybrať - Otvoriť - OK
Bude záležať na kombinácii PQdotaz/Pripojenie/KT/DataModel.
Skúste viac popísať Vašu situáciu. Aký je presne tok dát? Máte adresár zo 100 súbormi CSV, ktoré majú také a také názvy stĺpcov, v PQ zložíte súbory dokopy, odfiltrujete abc, načítate do modelu, z neho vytvoríte KT s týmito nastavenia (stĺpce, riadky, hodnoty, filtre), vyfiltrujete xyz, zostane 20000 riadkov, a chcete si pozrieť detail súčtu?
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.