< návrat zpět

MS Excel


Téma: Generování kódu z buněk + pořadového čísla rss

Zaslal/a 23.11.2017 17:46

Dobrý den,

jakožto člověk bez zkušeností s VBA bych rád požádal o radu, jestli je možné nějakou jinou cestou vytvořit v Excelu generátor kódu definovaného z buněk + pořadové číslo v určitém intervalu. Dám příklad:

v na stejném řádku mám jedné buňce mám A v druhé B v třetí C a ve čtvrtém zase A. Vygenerovaný kód by pak měl vypadat asi takto A_B_C_1000, přičemž číslo na konci kódu je výsledkem toho, že vím, že když je ve čtvrté buňce A, tak na konci kódu musí být číslo v intervalu od 1000-1099. Pokud bych měl pak na dalším řádku v buňkách A, B, B, A, tak by kód měl vypadat takto A_B_B_1001 tzn., že by se kód měl vygenerovat tak, aby byl v intervalu od 1000-1099, byl o jedno vyšší a neshodoval se s již žádným kódem s již vygenerovaným číslem danoho intervalu dle čtvrté buňk. Když bych zadal další řádek, kód by se vygeneroval tak, že by vzorec poznal, které číslo v pořadí není ještě v daném intervalu v pořadí použito a to by doplnil do nově vygenerovaného kódu.

Příklad výstupu zasílám v příloze, snad bude jasnější :)

Příloha: xlsx38457_generator.xlsx (9kB, staženo 58x)
Zaslat odpověď >

#038458
elninoslov
Napr. takto. Ale pozor, akonáhle niečo vypočítavate takto vzorcom, a vymažete riadok, zmení ostatné kódy. A ak je to napr. číslo objednávky, alebo materiálu a pod, tak je "priekak" na svete. A pripočítava sa vždy počet po daný riadok, ale je to možné urobiť aj na Maximum+1.
Příloha: xlsx38458_38457_generator.xlsx (9kB, staženo 77x)
citovat
#038461
avatar
Aha..už jsem si to zkusil. Je pravdou, že se můžeš stát, že někdo řádek smaže. Přepisovat by se to asi nemělo. Jak bych prosím vás mohl toto ošetřit?citovat
#038502
avatar

elninoslov napsal/a:

Napr. takto. Ale pozor, akonáhle niečo vypočítavate takto vzorcom, a vymažete riadok, zmení ostatné kódy. A ak je to napr. číslo objednávky, alebo materiálu a pod, tak je "priekak" na svete. A pripočítava sa vždy počet po daný riadok, ale je to možné urobiť aj na Maximum+1.Příloha: 38458_38457_generator.xlsx (9kB, staženo 5x)


Mohu se ještě prosím zeptat, jak do tohoto vzorce ještě přidám podmínku, aby se čísla počítala od začátku ještě dle hodnoty ve sloupci 3. Např. když mám ve třetím sloupci A a vím, že číselné hodnoty dle sloupce 4 bude kód nabývat v intervalu 2000-2099, tak bude pořadové číslo 2001, když bude v dalším řádku třetího sloupce opět A, tak 2002, ale když bude v dalším řádku třetího sloupce B, tak to bude opět 2001.

Podle čtvrtého slupce se vybere číselný interval kódu (což funguje skvěle) a podle třetí ho sloupce by se při každé nově definované hodnotě číslovalo v daném intervalu od jedničky.citovat
#038515
avatar
Ahoj, zkouším dle elninosova souboru aplikvoat funkce COUNTIFS, ale nechápu, proč počítadlo nefunguje, když bych měl mít vzorec napsán správně.

=A2&"_"&B2&"_"&C2&"_"&SVYHLEDAT(D2;$G$2:$H$4;2;NEPRAVDA)+COUNTIFS($C$2:$C2;$G$2;$C$2:$C2;$G$3;$C$2:$C2;$G$4;$A$2:$A2;$G$2;$A$2:$A2;$G$3;$A$2:$A2;$G$4)citovat
#038637
elninoslov
Ak má byť interval 2000-2099, tak prvé číslo nemôže byť 2001, ale 2000, ale to si len na konci zmeníte to "-1".
Na ten Váš posledný popisovaný príklad platí:
=A2&"_"&B2&"_"&C2&"_"&VLOOKUP(D2;$G$2:$H$4;2;FALSE)+COUNTIFS($D$2:$D2;D2;$C$2:$C2;C2)
=A2&"_"&B2&"_"&C2&"_"&SVYHLEDAT(D2;$G$2:$H$4;2;NEPRAVDA)+COUNTIFS($D$2:$D2;D2;$C$2:$C2;C2)

Ale v poslednom príspevku pridávate ďalšie a ďalšie podmienky. Uveďte príklad vo forme súboru (nie popisom), kde je to čo máte, a vedľa manuálne vyrobte čo s toho má byť ako výsledok.

PS: Ak sa tie čísla nesmú meniť pri zmazaní, treba to vyriešiť jedine makrom. Takže tento vzorec je pase.citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

odpocet a storno tl.

PavDD • 28.3. 8:53

odpocet a storno tl.

Začátečník • 26.3. 14:39

odpocet a storno tl.

PavDD • 26.3. 10:22

odpocet a storno tl.

elninoslov • 26.3. 7:50

odpocet a storno tl.

PavDD • 26.3. 7:26

odpocet a storno tl.

elninoslov • 25.3. 22:34

odpocet a storno tl.

Začátečník • 25.3. 15:09