Pogojni zapis

Pomoč pri delu z MS Excelom
Odgovori
ROOMAN
Prispevkov: 5
Pridružen: To Mar 10, 2009 4:43 pm

Pogojni zapis

Odgovor Napisal/-a ROOMAN »

Zdravo!
Problem, ki ga ne znam rešiti in vas prosim za pomoč, rešitev ali vsaj nasvet. Hvala.
Imam tabelo z npr. 5 stolpci. V stolpcu A in B so podatki (ime, vrednost). Podatki - ime, se lahko pojavi večkrat. V ostalih treh se izpiše vrednost stolpca B, če je izpolnjen pogoje, da je vrednost večja od O. V C stoplec se izpiše, če ime nastopi prvič, v D če drugič itd. Želim pa, da ni praznih vrednosti, torej če pri imenu 1 prvič ni pogoja za izpis, se v stoplec C izpiše vrednost šele, ko je pri imenu1 izpolnjen pogoj (drugi, tretji zapis imena1).
A B C D E
AA 0 0 0 0
BB 10 10 0 0
AA 20 20 0 0
CC 30 30 0 0
AA 40 0 40 0
BB 50 0 50 0
Pogojnih stolpcev je lahko več kot 20, zato IF stavek mislim da ni prava rešitev.
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Pozdravljeni,

Pod predpostavko, da je prvo ime vpisano v celici A1, prva vrednost v B1 in da želite imeti prvi pogoj v C1, potem v C1 vpišite tole formulo:

Koda: Izberi vse

  =IF(COUNTIF($A1:$A$1;$A1)=COLUMN()-2;$B1;0)
In formulo poljubno kopirajte po koloni C navzdol in desno prko D,E,F.... kolikor daleč želite.

Če ne želite videti 0 (ničel) - meni je tako bolj pregledno; potem vpišite sledečo formulo:

Koda: Izberi vse

  =IF(COUNTIF($A1:$A$1;$A1)=COLUMN()-2;$B1;"")
če pa se podatki začnejo v npr. peti (5) vrstico, pa v C5 vpišite tole formulo (mislim da vidite da je potrebno 1 pač zamenjati s 5 :) :

Koda: Izberi vse

  =IF(COUNTIF($A5:$A$5;$A5)=COLUMN()-2;$B5;"")
lp,
Matjaž Prtenjak
Administrator
ROOMAN
Prispevkov: 5
Pridružen: To Mar 10, 2009 4:43 pm

to je to

Odgovor Napisal/-a ROOMAN »

Deluje na primeru tako da bo verjetno tudi v končni tabeli. Hvala.

Bi pa na potreboval še eno tabelo, lahko na istem listu, v katerem bi vsako ime nastopalo samo enkrat, v stolpcih C in naprej pa bi bile izpisane vse vrednosti, ki se pojavljajo v zgornji tabeli. To bom sedaj mogoče znal, pa vseeno, če vam ne jemlje časa, prosim za nasvet.
ROOMAN
Prispevkov: 5
Pridružen: To Mar 10, 2009 4:43 pm

ja, pa ne dela

Odgovor Napisal/-a ROOMAN »

Zdravo!
malo prehitro sem odgovoril. Ne dela tako kot bi želel. Če je ime 1 v prvi vrstici in ima vrednost 0 in npr. v peti vrstici z vrednostjo 5, potem mi to vrednost v peti vrstici vpiše pod D stolepec, želel pa bi v C (saj v prvi vrstici ni bilo pogoja za vpis v stoplec)
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Hm... zdaj ste me pa izgubili. Ko se neko ime pojavi prvič, se njegova vrednost, ki je v koloni B vpiše v kolono C, ko se to isto ime pojavi drugič, se njegova vrednost (zopet zapisana v B) zapiše v kolono D itd...

Ime se torej pojavi že 2x ==> vrednost gre v D in ne v C.

kar pa se tiče vmesnega vprašanja - to je imena samo 1x in zraven seštete vse vrednosti - za to pa izberite vrtilno tabelo, ki vam bo naredila natanko to kar želite. Za razlago vrtilnih tabel, v forumu poiščite tematike z besedico 'vrtilna' in našli boste ustrezno razlago.
lp,
Matjaž Prtenjak
Administrator
ROOMAN
Prispevkov: 5
Pridružen: To Mar 10, 2009 4:43 pm

pojasnilo

Odgovor Napisal/-a ROOMAN »

Če se neko ime pojavi prvič se njegova vrednost vpiše v stolpec C samo če je večja od nič. Drugače se pri tem imenu vpiše vrednost v stoplec C pri drugem zapisu, če je npr. tam vrednost večja od nič. Drugače pa pri tretjem oz. v stoplec C se izpiše za ime 1 prvič ko je večja od nič.
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

V kolikor teh vrednosti z 0 ne potrebujete, (mislim da jih v nadalnji obdelavi ne potrebujete) potem jih preprosto iz tabele pobrišite, saj se vam bo sicer stvar zelo zakomplicirala in bova morala uvesti še en stolpec ipd. Torej rešitev vem bom podal tudi v tem primeru a bo precej bolj zakomplicirana in tudi vi se boste morali bolj potruditi.

Torej če res nujno ne potrebujete elementov z vrednostjo 0; jih raje pobrišite iz tabele in vse bo OK.
lp,
Matjaž Prtenjak
Administrator
ROOMAN
Prispevkov: 5
Pridružen: To Mar 10, 2009 4:43 pm

še nekaj

Odgovor Napisal/-a ROOMAN »

V teh stolpcih me ničle ne motijo. Gre se za ono spodnjo tabelo, kjer so rezultati.
Moti me če piše:
AA 0 0 10 0 0 50
namesto:
AA 10 50
To je vse kar bi želel, zgoraj pa me preveč podatkov ne moti. Če je preveč komplicirano potem mogoče ne bo za mene, tako kot ste ugotovili.
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Ne vem, če sva se popolnoma razumela. Jaz vam svetujem, da preprosto izbrišete vrstice, ki imajo vrednost 0 in potem bo vse OK. Če torej vaša tabela izgleda takole:

Koda: Izberi vse

A     B   
AA   10
BB    0
AA    0
BB   20
AA   30
BB   40
Boste dobili takle rezultat:

Koda: Izberi vse

A     B    C     D    E   
AA   10   10     0    0
BB    0    0     0    0
AA    0    0     0    0
BB   20    0    20    0
AA   30    0     0   30
BB   40    0     0   40
Če pa iz vhodne tabele pobrišete zapise, ki imajo ničle (to je tisto, kar vam jaz svetujem, saj se bo sicer stvar zelo zakomplicirala), pa dobite takole vhodno tabelo (pobrisani sta bili vrstici 3 in 4):

Koda: Izberi vse

A     B   
AA   10
BB   20
AA   30
BB   40
In iz tega dobite točno tisto, kar želite:

Koda: Izberi vse

A     B   C   D
AA   10  10   0
BB   20  20   0
AA   30   0  30 
BB   40   0  40 
lp,
Matjaž Prtenjak
Administrator
Odgovori