Kdysi jsem řešil obdobné.
NEPŘÍMÝ.ODKAZ(ODKAZ(ŘÁDEK(Hárok2!A1)*15+1; 1; 4; 1; "List2"); PRAVDA)
sjednotit názvy listu - Hárok2 nebo List2
=NEPŘÍMÝ.ODKAZ("List2!B" & B3)
A1 - den týden
B1 - rok
=DATUM(B1;1;A1*7-2)-DENTÝDNE(DATUM(B1;1;3))
https://www.zive.cz/poradna/excel-vba---datum-prvniho-dne-tydne-z-cisla-tydne/sc-20-cq-509607/default.aspx?consultanswers=1
C2 ... hledaná hodnota
C4:G15 ... oblast dat
maticově
{=suma(KDYŽ($C$2=C4:G15;1;0))}
vrátí počet výskytů hledané hodnoty
@eLCHa
Nikoliv text, ale logickou hodnotu
Souhlasím.
Navíc neřeší to problém, KT bere jako hodnotu nula.
co vrací =KDYŽ(JE.ČISLO(I7);AA7)
když není číslo?
FALSE nebo NEPRAVDA čili TEXT
nutno ošetřit druhou část podmínky
např. =KDYŽ(JE.ČISLO(I7);AA7;"")
nebo =KDYŽ(JE.ČISLO(I7);AA7;0) apod. dle potřeby
Nějakou úsporu by přineslo přeházet cykly a některé nahradit výpočtem.
Pokud jsem dobře pochopil vzorce tak by mohlo fungovat
- cykly a,b,c
- d vypočítat protože má platit i = p
- kontrola, zda d je celé číslo v daném intervalu
počet cyklů se sníží jen 7200x (na 780=44800)
Pokud d vyhovuje:
- až nyní cykl m
- vypočítat modu2, protože má platit modu=modu3
- kontrola zda modu2 je v daném intervalu a číslo celé či s 1/2
Pokud modu2 vyhovuje pokračovat dál.
případně ve sloupci "B" vzorec rozšířit
=KDYŽ(A1=""; ""; NEPŘÍMÝ.ODKAZ(ODKAZ(KDYŽ(MOD(ŘÁDEK();3)=0;3;MOD(ŘÁDEK();3));8)))
Pokud bude počet položek v "G" proměnlivý, bude třeba
v "A" rozsah $G$1:$G$8 definovat dynamicky.
Jinak makrem s ruční nebo automatickou aktualizací.
Určitě je problém v SELECT
např. v části
If Range("B144").Text = "4" Then
Range("A144:I187").Select
End If
If Range("B191").Text = "2" Then
Range("A191:I232").Select
End If
jsou-li splněny obě, je vybrána pouze druhá oblast "A191:I232"
Jde o pojení nesouvislých oblastí.
Mám zato,že
Range("$A$1:$I$95", Selection)
vrací souvislou oblast tj. od $A$1 po poslední vybranou buňku
Super. Prošel jsem si některé starší megavzorce a kromě dříve uvedeného, funguje skvěle.
(Námět - uložit zpět do buňky naformátované?)
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.