Iskanje podatka znotraj matrike

Pomoč pri delu z MS Excelom
Odgovori
mkralj123
Prispevkov: 77
Pridružen: Sr Jan 14, 2009 12:21 pm

Iskanje podatka znotraj matrike

Odgovor Napisal/-a mkralj123 »

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
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Iskanje podatka znotraj matrike

Odgovor Napisal/-a admin »

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

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
mkralj123
Prispevkov: 77
Pridružen: Sr Jan 14, 2009 12:21 pm

Re: Iskanje podatka znotraj matrike

Odgovor Napisal/-a mkralj123 »

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
.
.
.
.
mkralj123
Prispevkov: 77
Pridružen: Sr Jan 14, 2009 12:21 pm

Re: Iskanje podatka znotraj matrike

Odgovor Napisal/-a mkralj123 »

..lahko sicer naredim več vgnezdenih if stavkov,
vendar bo zadeva malo nepregledna...
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Iskanje podatka znotraj matrike

Odgovor Napisal/-a admin »

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.

Koda: Izberi vse

=INDIRECT("Y1:AR" & (N * 44))
Kjer je N pač število vaših matrik.
lp,
Matjaž Prtenjak
Administrator
mkralj123
Prispevkov: 77
Pridružen: Sr Jan 14, 2009 12:21 pm

Re: Iskanje podatka znotraj matrike

Odgovor Napisal/-a mkralj123 »

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
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Iskanje podatka znotraj matrike

Odgovor Napisal/-a admin »

Pozdravljeni,

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 ?
Da, kot drugi parameter funkcije MATCH...

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
mkralj123
Prispevkov: 77
Pridružen: Sr Jan 14, 2009 12:21 pm

Re: Iskanje podatka znotraj matrike

Odgovor Napisal/-a mkralj123 »

Seveda, z obema funkcijam sem se seznanil šele pred kratkim, tako,
da bo potrebno še kar nekaj uporabe ..

lpm
Odgovori