Avtomatično izračunavanje glede na vnos

Pomoč pri delu z MS Excelom
Odgovori
matyuv
Prispevkov: 4
Pridružen: To Nov 24, 2009 3:28 pm

Avtomatično izračunavanje glede na vnos

Odgovor Napisal/-a matyuv »

Prosim za malo zagona pri naslednjem problemu:
Imam celici A2, A3, kjer izberem vrednosti iz seznama. Nato imam tabelo P na drugem Listu z nekimi podatki. Glede na izbor A2 in A3 bi moral dobiti podatek iz tabele P, ki je presek izbora. Namreč A2 predstavlja 1. stolpec v tabeli P, izbrana vrednost pa vrednost v tem stolpcu, A3 predstavlja 2. ali 3. stolpec, odv. od izbora in glede na pozicijo A2 dobim vrednost, ki jo iščem.
Težko opisati, pa upam da bo.Za kakršen koli namig se Vam zahvaljujem!
lp
admin
Site Admin
Prispevkov: 3712
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Če vas pravilno razumem, iščete vrednost, ki je na presečišču neke vrstice in stolpca katerih vrednosti sta podani v A1 in A3. V tem primeru imate rešitev podano v sledečih tematikah:
lp,
Matjaž Prtenjak
Administrator
matyuv
Prispevkov: 4
Pridružen: To Nov 24, 2009 3:28 pm

Odgovor Napisal/-a matyuv »

Hvala Matjaž za Hiter odgovor..
Je nekaj takega...sicer sem te teme že pogledal, vendar....

Ali sprejme [/=MATCH(HLOOKUP(A4;$A$1:$R$1;1;TRUE);$A$1:$R$1) ]
tudi dva pogoja, namreč pri meni predstavlja presečišče vrednost dveh celic,
torej A2 pomeni vrstico, A3 pa stolpec v drugi tabeli in to je iskana vrednost...
verjetno pa bi moral nekako združiti dva HLOOKUP izraza?
admin
Site Admin
Prispevkov: 3712
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

za te namene je uporabna funkcija OFFSET, ki je v omenjenih tematikah ni, kar je zanimivo - sem spregledal, saj sem samo preletel vsebino in sem mislil, da je to to. Spomnim se namreč da sem podobno stvar že razlagal...

Torej funkcija OFFSET se pozicionira glede na neko referenčno celico in v vašem primeru je to seveda gornja desna celica tabele. Druga vrednost pove koliko vrstic naj se pomakne navzdol, tretja pa koliko kolon desno naj se pomakne. Zadnja dva parametra pa določata velikost območja in v vašem primeru je to ena celica torej 1,1.

Da na pišem romana, ker nimam časa, kar lep in ustrezen primer. Elementi tabele so "zanalašč" izbrani tako bedasto, da se zares vidi učinek. Torej vi sedaj lahko v a2 vpišete (kruh, jabolka ali mleko), v a3 pa (Celje, Ljubljana ali Maribor) in v B2 vidite, v kateri koloni se nahaja izbran izdelek, v B3 vidite v kateri vrstici se nahaja kraj in končni rezultat je potem v celici B4

Koda: Izberi vse

  |     A     |           B         |   C    |    D     |    E      |
---------------------------------------------------------------------  
1 |           |                     |        |          |           |
2 | jabolka   |  =MATCH(A2;C6:E6;0) |        |          |           |
3 | Ljubljana |  =MATCH(A3;B7:B9;0) |        |          |           |
4 |           |  =OFFSET(B6;B3;B2)  |        |          |           |
5 |           |                     |        |          |           |
6 |           |                     |  kruh  |  jabolka |   mleko   |
7 |           |  Celje              |  a     |    b     |     c     |
8 |           |  Ljubljana          |  d     |    e     |     f     |
9 |           |  Maribor            |  g     |    h     |     i     |
lp,
Matjaž Prtenjak
Administrator
matyuv
Prispevkov: 4
Pridružen: To Nov 24, 2009 3:28 pm

Odgovor Napisal/-a matyuv »

Spoštovani!
Stvar deluje, res najlepša hvala!
Če lahko še nekaj, kako bi stvar pretopil v vba?
Samo majhen namig...
Hvala še enkrat!
admin
Site Admin
Prispevkov: 3712
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Preko objekta worksheetfunction imate na voljo tako funkcijo MATCH, kot tudi OFFSET.

Primer uporabe s funkcijo VLOOKUP.
lp,
Matjaž Prtenjak
Administrator
matyuv
Prispevkov: 4
Pridružen: To Nov 24, 2009 3:28 pm

Odgovor Napisal/-a matyuv »

Hvala za pomoč!
Odgovori