< návrat zpět

MS Excel


Téma: Pořadové číslo s řadou rss

Zaslal/a 9.5.2014 9:40

Ahoj,

mám tabulku, kde v jednom sloupci mám řadu dokladu a v druhém pořadové číslo v dané řadě. Čísla neustále přibývají, proto nemohu použít vzorec, který mám teď =MAX(KDYŽ(B2:B7=B8;D2:D7)).

Potřeboval bych ho upravit nějak, aby nevznikaly cyklické odkazy. Asi přes nepřímý odkaz, ale nevím přesně jak.

Potřebuji, aby oblast byla dynamická a vždy, když zadám řadu dokladu, tak se mi vyplní poslední nalezené číslo v dané řadě +1.

Více napoví příloha.
Nějaké tipy?
Děkuji.

Příloha: zip19367_sesit1.zip (7kB, staženo 37x)
Zaslat odpověď >

Strana:  1 2   další »
icon #019370
eLCHa
Jesli jsem to pochopil, tak maticový
=MAX(D$2:D7*(B$2:B7=B8))+1Řekl bych dvě věci:
- ta příloha mi moc smysl nedává.
- nevím, kolik těch řádků se vzorci tam bude, ale možná bych se přikláněl k VBA a konstatntním hodnotám v buňkáchcitovat
#019372
avatar
Vzorec, který jsi přidal funguje stejně jako ten můj.
Řádku bude takové množství, kolik bude za rok objednávek, to dopředu nikdy nevím.

Proto potřebuji vzorec rozšířit na oblast například =MAX(D$2:D65536*(B$2:B65536=B8))+1, aby když přidám nový řádek (objednávku), tak se mi opět našlo nejvyšší číslo a přičetla 1.

Je pravda, že kdyby zde byl vzorec, tak se všechny řádky budou pořád aktualizovat s přidáním nového řádku (objednávky).

Asi budu muset vyřešit makrem.
Při změně buňky (zapsání řady - 100; 101; 200) vyhledej poslední hodnotu a přičti +1.

To by asi možné bylo..?citovat
icon #019373
eLCHa
66 tisíc řádků? - určitě VBA a ano, přesně tak.

Mimochodem, přesně to dělá ten vzorec. Vyhledá maximum - protože to je rovno poslední hodnotě a přičte 1
Vy tam nemáte to +1 a hlavně jsem zmaten z toho, že
101 v řádku 3 má číslo 9140003 (napevno vložené)
101 v řádku 7 má číslo 9140015 (napevno vložené) - nemělo by být 9140004?

200 v řádku 4 má číslo 1140010 (napevno vložené)
200 v řádku 6 má číslo 9140005 (napevno vložené) - nemělo by být 1140011?citovat
#019375
avatar
Napevno jsou tam vložené, protože je to vytvořené jako příklad. 66 tisíc řádků nikdy nebude, byl to příklad toho, že řádků bude větší množství než 7 (nebo-li dopředu neurčené množství a vzorec musí fungovat v jakémkoliv řádku)

Jinak s čísly máte pravdu, mělo by to tak být, čísla jsem tam měla vložena náhodně, abych otestoval vzorec.
¨
Omlouvám se za zmatečné zadání.. :-/citovat
#019380
avatar
Nějaký tip na makro
Při změně buňky (zapsání řady - 100; 101; 200) vyhledej poslední hodnotu ve sloupci "D" a přičti +1?
Děkuji.citovat
#019406
avatar
Věděl by mi někdo poradit jak na makro:

Na aktivním řádku na kterém stojím se podívej do sloupce "B" o jakou řadu se jedná a v této řadě ve sloupci "D" vyhledej poslední číslo z řady ze sloupce "B" a přičti k tomuto číslu 1?
Makro by se spouštělo při změně buňky ve slopci "B".

Děkuji.citovat
#019410
avatar
Řešení od eLCHy do makra.

Číslo se vypíše do sl.A aktivního řádku.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 2 Then
Cells(Target.Row, "A").FormulaArray = "=MAX(R2C4:R65536C4*(R2C2:R65536C2=R" & Target.Row & "C2))+1"
Cells(Target.Row, "A") = Cells(Target.Row, "A")
End If
End Sub
citovat
icon #019419
eLCHa
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column = 2 Then
Cells(.Row, 4).Value = Application.Evaluate("MAX(D2:D" & .Row - 1 & "*(B2:B" & .Row - 1 & "=B" & .Row & "))+1")
End If
End With 'Target
End Sub
citovat
#019449
avatar
Díky, ale potřeboval bych ještě menší úpravu.

Do tabulky přibyl sloupeček typ, který potřebuji také zohlednit v řadě dokladů.

Pořadové číslo vzniká tak, že

9140015
9 = typ dokladu
140015 = pořadové číslo

Potřeboval bych tedy makro upravit tak, aby při zapsání řady se nic nedělo a po zadání typu se ze sloupce "D" v dané řadě a v daném typu dokladu našlo poslední číslo a přičetlo +1.

Vždy je typ dokladu číslo mezi 1-9 a je první zleva.

Děkuji za ochotu.
Příloha: zip19449_sesit1.zip (7kB, staženo 29x)
citovat
icon #019453
eLCHa
Ta příloha je stejná jako v prvním příspěvku. Žádný sloupec nepřibyl ;) .citovat

Strana:  1 2   další »

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

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.

On-line nástroje