» »

[Excel] SumIf - Uporabi prejšnjo vrednost

[Excel] SumIf - Uporabi prejšnjo vrednost

mrsmoke ::

Zdravo,
imam spodnjo tabelo z nekaj tisoč vrsticami.
Rad bi v formuli seštel vrednosti po datumih.
Težavo predstavljajo prazne vrstice, kjer bi moral uporabiti zadnjo ne-prazno vrednost. Mora pa biti rešitev s formulo, ne pa z vmesno tabela na nekem drugem listu. Nikakor ne pridem do rešitve brez VBA.

Ima kdo mogoče kaksno idejo?

1.12.2019	10
		5
		5
15.12.2019	2
		2
		2


Rezultat:
1.12.2019	20
15.12.2019	6

smetko ::

Če ti datumi vedno samo naraščajo, uporabi funkcijo max.
No comment

smetko ::

No comment

mrsmoke ::

Poznam te funkcije, vendar ne znam pridti do rezultata.

showsover ::

Vzemi si cas, napravi si uporabnisko funkcijo, ki ga lahko spimpas po svojih potrebah (glede na strukturo podatkov in uporabljene funkcije) - da jemlje vrednosti iz sosednjih celic (v 1-8 smereh) v primeru praznih. Imas Range object in ("") funkcijo pa zanke pa Cells(r,c).Value itn.

Zgodovina sprememb…

  • spremenilo: showsover ()

sajmon ::

Če ti ustreza rešitev, da dodaš poleg datuma dodatni stolpec, je sledeča rešitev: link

V dodatni stolpec se s pomočjo formule doda datum v prazne celice, potem pa s pivot tabelo izračunaš vsoto po dnevih.

Zgodovina sprememb…

  • spremenil: sajmon ()

reeves ::

Tak način zapisa je precej nepraktičen za obdelavo podatkov.
Svetujem, da stolpec z datumi zapolniš do konca (vpišeš vse datume). Tega ti ni potrebno delati za vsak dan posebej. Naredi, kot v spodnjem videu in nato samo še vstavi pivot table.

free_rider ::

Recimo da imaš podatke v 15-ih vrsticah, potem si pa sam nastavi točno.

    A           B
1.12.2019	10
        	5
        	5
15.12.2019	2
        	2
        	2
30.12.2019	4
        	5
1.01.2020	6
        	5
        	4
        	3
konec



Potem pa imaš od celice A19 dol datume

    A           B
1.12.2019	=SUMPRODUCT(OFFSET($A$1;MATCH(A19;A$1:A$15;0)-1;1;MATCH(A20;A$1:A$15;0)-MATCH(A19;A$1:A$15;0);1))
15.12.2019
30.12.2019
1.01.2020
konec


V B19 potem vnesi zgornjo formulo, seveda priredi naslove sklicev, kolikor imaš veliko bazo - A$1:A$15, A19 in A20.
Na kratko - formula gre gledat, kje se zgoraj pojavi datum (A19), vzame intervalni stolpec, ki je eno celico desno, do naslednjega datuma, ki je vrstico nižje(A20) ter sešteje vrednosti znotraj stolpca.
Formulo si potem skopiraš dol za preostale datume.

smetko ::

Čeprav je rešitev od free_rider že zelo dobra, ti podajam še malo spremenjeno formulo.

V tem primeru se funkcija SUMPRODUCT lahko zamenja z SUM.
Prej ali slej se najde tudi kakšen čistun, kateri ne mara funkcije OFFSET, katro se da zamenjati z INDEX.
In tako dobiš spodnjo formulo.
=SUM(INDEX($B$1:$B$15;MATCH(A19;A$1:A$15;0)):INDEX($B$1:$B$15;MATCH(A20;A$1:A$15;0)-1))

Pa ne pozabi, beseda "konec" v obeh tabelah od free_rider nista tam samo za okras.

Vsekakor, pa uporabi idejo z dodatno kolono in vrtilno tabelo, če ti to tvoja zasnova dopušča.
No comment

mirator ::

Napisal si da imaš nekaj tisoč vrstic. Datume in vrednosti vpisuješ verjetno sproti in verjetno potrebuješ statisko za celo leto.
Jaz bi ti predlagal, da si namesto po stolpcih urediš po vrsticah. Potem v vrstici v 1. stolpec (n.pr. A1) vneseš formulu SUM(C1:C100), v celico B1 vneseš datum in v celice desno od datuma posamezne vrednosti). Vse vrstice preprosto skopiraš za 365 dni ali manj. Boš pa pri vsakem datumu, ki ga boš zapisal samo enkrat, takoj imel že tudi vsoto. Prvi in drugi stolpec potem zamrzneš, tako da ga pri vpisu v oddaljene celice še vedno vidiš.
Pač ideja.

Zgodovina sprememb…

  • spremenil: mirator ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

pomoč excel (strani: 1 2 )

Oddelek: Programska oprema
587942 (3519) -JM-
»

pomoč excel

Oddelek: Pomoč in nasveti
383527 (2251) sax8er
»

EXCEL vgnezdenje dveh vlookup funkcij?

Oddelek: Programska oprema
101891 (1590) prtenjam
»

excel

Oddelek: Programska oprema
324767 (3376) xtrat
»

Excel Težava - fukncija

Oddelek: Pomoč in nasveti
202500 (2193) smetko

Več podobnih tem