Pozdravljeni
Imam naslednji problem v excelu, za katerega bi prosil za pomoč
V matriki podatkov Y1:AR44 želim najti podatek
ki je v 44-ti vrstici in v poljubnem stolpcu te vrstice taiste matrike.
Kriterij za določitev št stolpca so podatki v prvi vrstici te matrike.
V prvi vrsti te matrike Y1:AR1 so imena in priimki, ostalo
so številčne vrednosti.
Podatek da gre za 44-to vrstico se nahaja v celici D10
OK,
to sem zaenkrat še uspešno rešil,
sestavil sem izraz
=INDIRECT(ADDRESS(D10;MATCH(D7;Y1:AR1)+22))
in v celici
se izpiše prava vrednost
(D10 ==> iskana številka vrstice D7 ==> iskani podatek v nizu Y1:AR1 )
Sedaj pa želim zgoraj navedeni matriki podvojiti obseg
torej postane je njen novi obseg Y1:AR88
Moja želja je da sedaj poiščem podatke iz 88-te vrstice
( to definiram v celici D10) in v stolpcu matrike, ki je
definiran s položajem celice (ime in priimek) v 45 vrstici.
npr:
=INDIRECT(ADDRESS(D10;MATCH(D7;Y45:AR45)+22))
Kako bi preuredil izraz, da bi se mi ob spremembi podatka
v celici D10 (št vrstice iskanja) spremenil položaj niza podatkov iskanja za
izraz funkcijo MATCH(D7;....) ?
Če povzamem,
ko iščem podatke iz 44 vrstice, naj se poišče podatek (definiran v D7) iz =44-43 vrstice in poda št stolpca
niz ==> Y1:AR1
in
ko iščem podatke iz 88 vrstice naj se poišče podatek iz =88-43 -te vrstice in poda št stolpca
niz ==>Y45:AR45
Upam, da sem bil dovolj razumljiv
lp
marko
Iskanje podatka znotraj matrike
Re: Iskanje podatka znotraj matrike
Pozdravljeni,
Moram priznati, da ne razumem najbolje, vendar kolikor razumem je rešitev pač preprost IF stavek. Če je D10 manjša od 44 potem išči po enem območju, sicer po drugem. Nekaj v stilu
Moram priznati, da ne razumem najbolje, vendar kolikor razumem je rešitev pač preprost IF stavek. Če je D10 manjša od 44 potem išči po enem območju, sicer po drugem. Nekaj v stilu
Koda: Izberi vse
=INDIRECT(IF(D10<44);ADDRESS(D10;MATCH(D7;Y1:AR1)+22);ADDRESS(D10;MATCH(D7;Y45:AR45)+22)))
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Iskanje podatka znotraj matrike
Ja,
to je rešitev če se povečevanje velikosti matrike ustavi pri tej velikosti.
Vendar se bo sšasoma matrika povečevala v korakih po 44 vrstic
torej
Y1:AR44 ==> iščemo podatev 44-ti vrstici matrike in v stolpcu, ki je definran s položajem podatka v 1. vrstici
Y1:AR88 ==> iščemo podatev 88-ti vrstici matrike in v stolpcu, ki je definran s položajem podatka v 45-ti vrstici
Y1:AR132==> iščemo podatev 132-ti vrstici matrike in v stolpcu, ki je definran s položajem podatka v 89. vrstici
.
.
.
.
to je rešitev če se povečevanje velikosti matrike ustavi pri tej velikosti.
Vendar se bo sšasoma matrika povečevala v korakih po 44 vrstic
torej
Y1:AR44 ==> iščemo podatev 44-ti vrstici matrike in v stolpcu, ki je definran s položajem podatka v 1. vrstici
Y1:AR88 ==> iščemo podatev 88-ti vrstici matrike in v stolpcu, ki je definran s položajem podatka v 45-ti vrstici
Y1:AR132==> iščemo podatev 132-ti vrstici matrike in v stolpcu, ki je definran s položajem podatka v 89. vrstici
.
.
.
.
Re: Iskanje podatka znotraj matrike
..lahko sicer naredim več vgnezdenih if stavkov,
vendar bo zadeva malo nepregledna...
vendar bo zadeva malo nepregledna...
Re: Iskanje podatka znotraj matrike
Ja saj potem pa imate preprosto forumlo ker se lementi vedno povečujejo s korakom po 44 - 1x44; 2x44;3x44...Nx44 in lahko uporabite funkcijo INDIRECT, ki vam niz pretvori v naslov.
Kjer je N pač število vaših matrik.
Koda: Izberi vse
=INDIRECT("Y1:AR" & (N * 44))
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Iskanje podatka znotraj matrike
Hmmm... tega nisem najbolj razumel
Predlagan izraz =INDIRECT("Y1:AR" & (N * 44))
vnesem kam ? verjetno to =INDIRECT(ADDRESS(D10;MATCH(D7;Y1:AR1)+22)) enačbo ?
Verjetno nekam v del kjer je zapisan del MATCH(....)
Zadevo sem rešil nekoliko drugače
v dveh celicah sem definiral začetek in konec
iskalnega niza, kjer se poišče vrednost iz D7
[B10] =ADDRESS(D10*45-44;19) in [C10]=ADDRESS(D10*45-44;38)
na koncu sem celo formula sestavil v
=INDIRECT(ADDRESS(D10*45;MATCH($D$7;B10:C10)+17)) (iskana matrika je v tem primeru S1:AL1)
Ne vem pa, zakaj ne morem v to formula vstaviti direktno
izraze iz B10 in C10?
lp, marko
Predlagan izraz =INDIRECT("Y1:AR" & (N * 44))
vnesem kam ? verjetno to =INDIRECT(ADDRESS(D10;MATCH(D7;Y1:AR1)+22)) enačbo ?
Verjetno nekam v del kjer je zapisan del MATCH(....)
Zadevo sem rešil nekoliko drugače
v dveh celicah sem definiral začetek in konec
iskalnega niza, kjer se poišče vrednost iz D7
[B10] =ADDRESS(D10*45-44;19) in [C10]=ADDRESS(D10*45-44;38)
na koncu sem celo formula sestavil v
=INDIRECT(ADDRESS(D10*45;MATCH($D$7;B10:C10)+17)) (iskana matrika je v tem primeru S1:AL1)
Ne vem pa, zakaj ne morem v to formula vstaviti direktno
izraze iz B10 in C10?
lp, marko
Re: Iskanje podatka znotraj matrike
Pozdravljeni,
Vendar glede na vse prebrano bi vam svetoval, da si dobro preberete in preizkusite čemu točno sta namenjeni funkciji INDIRECT in ADDRESS, ker menim da ste z njuno uporabo malce zašli (lahko sicer, da se motim, vendar že samo dejstvo, da se nenehno pojavljata v vaših funkcijah, nakako implicira na to, da ju napačno oz. po nepotrebnem uporabljate)
Da, kot drugi parameter funkcije MATCH...mkralj123 napisal/-a:Hmmm... tega nisem najbolj razumel
Predlagan izraz =INDIRECT("Y1:AR" & (N * 44))
vnesem kam ? verjetno to =INDIRECT(ADDRESS(D10;MATCH(D7;Y1:AR1)+22)) enačbo ?
Vendar glede na vse prebrano bi vam svetoval, da si dobro preberete in preizkusite čemu točno sta namenjeni funkciji INDIRECT in ADDRESS, ker menim da ste z njuno uporabo malce zašli (lahko sicer, da se motim, vendar že samo dejstvo, da se nenehno pojavljata v vaših funkcijah, nakako implicira na to, da ju napačno oz. po nepotrebnem uporabljate)
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Iskanje podatka znotraj matrike
Seveda, z obema funkcijam sem se seznanil šele pred kratkim, tako,
da bo potrebno še kar nekaj uporabe ..
lpm
da bo potrebno še kar nekaj uporabe ..
lpm