AL napsal/a:
musíš vybrať celý stĺpec tabuľky bez záhlavia
Aha, děkuji.
Mně se tam pořád "pletlo" to záhlaví
DataTab[[#Záhlaví];[Zbývající částka]]
Myslel jsem, že, když vždycky kliknu do DataTab, že se to automaticky namapuje, ale to [#Záhlaví]; tam automaticky načetlo a já nevěděl a dosud nevím, kde je chyba.
Dá se to nějak automaticky namapovat, správným kliknutím do oblasti dat DataTab?
Dobrý den,
mám dotaz ohledně Tabulky, jako zdroji dat.
Na listu "data" mám data ve formě Tabulky a využívám pro kontingenční tabulku.
Tabulka má název "DataTab".
A na jiném listu mám standardní tabulku, kde má vzorce pro výpočty.
A konkrétně u tohoto vzorce
=SUMIFS(data!$D$2:$D$24;data!$S$2:$S$24;$A7;data!$A$2:$A$24;D$6)
Bych potřeboval použít tu tabulku "DataTab", jako zdroj dat pro tento vzorec. De facto nahrazení odkazování na list "data" a určité sloupce odkazováním na "DataTab" a určité sloupce.
Vzorec čerpá nyní data z listu "data", kde je vlastně ta tabulka "DataTab".
Ani nevím, zda lze použít data ve formě tabulky ve vzorci.
Konkrétně mi jde o vzorce na listu "limity banky" v buňkách D7:D16 a E7:E16.
Na ty nastavené limity ve žlutých polích nekoukejte, jsou tam jen pokusná čísla.
Mohl byste mi, prosím, někdo poradit?
Já nyní mám od pátku "funkční" tento vzorec, kontroluje SPZ i novou syntaxi kódu zakázek.
=KDYŽ(TYP(A2)=2;KDYŽ(NEBO(GETYEAR(A2)="";TYP(HODNOTA(ČÁST(A2;1;1)))=16;TYP(HODNOTA(ČÁST(A2;2;1)))=16;TYP(HODNOTA(ČÁST(A2;2;1)))=16);"NENÍ ROK";GETYEAR(A2));KDYŽ(A(HODNOTA(ČÁST(A2;1;9))>=150001011;HODNOTA(ČÁST(A2;1;9))<=359999999);20&ČÁST(A2;1;2);KDYŽ(GETYEAR(A2)="";"NENÍ ROK";GETYEAR(A2))))
a funkce GETYEAR je:
Function GETYEAR(T As String) As Variant
Dim i As Byte, Y As Variant
GETYEAR = vbNullString
If Len(T) >= 4 Then
For i = 0 To Len(T) - 4
Y = Mid(T, Len(T) - 4 - i + 1, 4)
If IsNumeric(Y) And Y > 1900 And Y < 2100 Then GETYEAR = Y: Exit Function
Next i
End If
End Function
Musel jsem totiž ještě reagovat na nový zápis kódu zakázek.
Nyní má zápis tuto syntaxi:
15 0001 011 je to bez mezer
15 - rok (2015; já to mám omezené intervalem jen do roku 2035)
0001 - čtyřmístné pořadové číslo zakázky v daném roce (může nabývat hodnot 0001 až 9999)
011 - třímístné číslo (kód výrobního úseku; může nabývat hodnoty 011 až 999)
Řešil jsem to asi složitě přes interval, ale nic jiného mě amatéra nenapadlo
Kouknu na to zitra behem dne. Ja jsem v patek doplnil vzorec i na kontrolu noveho cislovani zakazek a SPZ, takze bych to pripadne zeditoval.
A ta kontrola SPZ je nutna, protoze jinak mi to doplnuje i cislo SPZ z toho intervalu.
Jinak mne ten vzorec z patku s tim mym doplnenim funguje dobre, dam ho sem.
Neni, je to neco jineho.
V pohode. Dekuju
Děkuji všem
Ten TYP je funkce typ. a může nabývat hodnot:
Číslo 1
Text 2
Logická hodnota 4
Chybová hodnota 16
Matice 64
@elninoslov
Super, děkuji, takhle to funguje.
Jen jsem ještě dodělal kontrolu na nové číslování zakázek a zmenšil jsem interval na 1990 do 2100, protože mi tam u auta 1AN 1901 hlásilo rok 1901 ale tím jsem už nechtěl otravovat.
Nebo se mi všechna auta do budoucna, objeví, jako letopočty, pokud se vejdou do intervalu 1990 - 2100?
Já, ale vím, že pokud je to auto, tak má v prvních třech znacích zleva vždycky alespoň jedno písmeno.
Jedině to zkusím ještě upravit v úvodu toho mého vzorce, tuhle kontrolu, že první tři zleva nesmí být TYP(2).
Takže mám ten vzorec takto:
=KDYŽ(TYP(A2)=2;KDYŽ(GETYEAR(A2)="";"NENÍ ROK";GETYEAR(A2));KDYŽ(A(HODNOTA(ČÁST(A2;1;9))>=150001011;HODNOTA(ČÁST(A2;1;9))<=159999999);20&ČÁST(A2;1;2);KDYŽ(GETYEAR(A2)="";"NENÍ ROK";GETYEAR(A2))))
Ještě jednou děkuji
@AL
Ty řádky 1531 atd. jsem nějak popletl, asi jsem se překoukl, najde to korektně, omlouvám se za dezinformaci
nepriem sa, nehľadal som, ale mohol by si uviesť nejaký príklad?
Jde mi to, aby ta rutina, když najde první číslo zprava, tak by měla ještě otestovat, jestli tato nalezená pozice (první) a následující další tři (doleva) jsou čísla TYP(1).
Pokud ano a zároveň ty čtyři znaky jsou číslo v intervalu od 1990 do 2100, tak je vypiš, pokud ne, jiná hláška (např. není rok).
Příklad:
396/2010 1
3962009/01 4
3962009/02 4
3962009-003 5
952010 1
0952011E 2
V těchto případech by se rok vypsal, neboť od nalezené pozice i další tři znaky doleva jsou TYP(1) a navíc jsou v intervalu od 1990 do 2100.
Naopak tady, by se měla vypsat chyba:
9999 1
9889 1
9999 1
48 1
114 1
A jako první by byla ideální kontrola SPZ, které nepotřebuji, ale zapomněl jsem to původně napsat.
Na řádku 1179 je například SPZ a následujících...
Pokud by šlo přidat ještě jednu "úvodní" kontrolu, že pokud je první nebo druhý nebo třetí znak ZLEVA TYP(2), tak, aby to rovnou napsalo "není rok".
Zatím děkuji
@opičák
děkuji, už je to skoro dobré, ale...
Je tam asi "nekorektně" udělané kontrola:
když najde první číslo zprava, tak by mělo otestovat, jestli tato nalezená pozice (první) a následující další tři (doleva) jsou čísla TYP(1), pokud ano a zároveň ty čtyři znaky jsou číslo v intervalu od 1990 do 2100, tak je vypiš, pokud ne, jiná hláška (např. není rok).
Konkrétně to je na řádcích:
1122
1425 (tady by to mělo ten rok vypsat)
1530 (tady by to mělo ten rok vypsat)
1697 až 1699 (tady je chybně test, mělo by to vypsat 2013)
2291 (tady je také chybně test, mělo by to vypsat 2014)
a ještě maličkost, o které jsem nepsal.
Na řádku 1179 je například SPZ a následujících...
Pokud by šlo přidat ještě jednu "úvodní" kontrolu, že pokud je první nebo druhý nebo třetí znak ZLEVA TYP(2), tak, aby to rovnou napsalo "není rok".
@AL
Také děkuji, nicméně jsou tam nějaké "nekorektní" věci...
Není tam ta kontrola na čtyři znaky, jak jsem psal výše a proto to nefunguje dobře například na řádcích:
1531
1532
ale na řádku 1533 už ano...?
a také to bez té kontroly najde i čísla, která mají jen dva znaky a není tam letopočet. (rok)
A ty SPZ by mi taky pomohly...
Každopádně, pokud byste byli ochotní mi to dopracovat, moc by mi to pomohlo.
Děkuji
Jj, děkuji, akorát bych chtěl požádat o doplnění.
Zjistil jsem, že některé kódy mají na druhém místě zprava buď "/" nebo "-". Jsou to řádky 2133, 2134 a 2229, 2230.
Protože my jde o letopočty, tak by se tam asi hodila kontrola, že pokud to najde pozici TYP(1), tak od této pozice doleva ověří, že první až čtvrtá pozice jsou také TYP(1). Pokud ano, zapíše nalezené pořadí, pokud ne, bude hledat další pozici a stejně ověřovat. Pokud by vůbec nenalezl, napíše "0" (nula).
Děkuji
Dobrý den,
chtěl bych požádat o pomoc se zjištěním pořadí ZPRAVA první hodnoty TYP(1) v každé buňce.
Například:
3282011 A výsledek by měl být 3, protože první znak číslo zprava v dané buňce je "" a je třetí zprava, protože je tam mezera. To je má představa.
Děkuji
Jejej, já tu nechci řešit ty datumy.
Ona například existuje možnost tzv. odklad první splátky a podobně... Takže jste se s tím nemuseli nikdo setkat, pokud s tím nepracujete častěji.
Proto jsem psal, že se nastaví datum první předpokládané splátky a od toho by se odvíjel celý splátkový kalendář.
Ve výsledku se právě může nastavit ta první splátka právě měsíc po prvním čerpání respektive dočerpání celé jistiny.
Jak říkám, v pohodě, byly to jen náměty na případné "dodělání", které samozřejmě po nikom nepožaduji, jen kdyby se tím chtěl někdo hlouběji zabývat.
Úrok se počítá vždy za skutečný počet dní.
Tedy například od 25.7. do 24.8., protože 25.8. mám splátku. A pak dále od 25.8. do 24.9. atd.
Sankce za pozdní úhradu je jiná věc, to jsem nepotřeboval řešit.
Já jen "upozornil", že při zadání konkrétního pořadového dne v měsíci se ve splátkovém kalendáři nastaví vždy 1. v daném měsíci. Ale jinak je to super.
Díky
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.