..|| Blog || Produkti/Storitve || MExcel || MDodatki || 300 nasvetov ||..

Iskanje podatka znotraj matrike

Pomoč pri delu z MS Excelom

Iskanje podatka znotraj matrike

OdgovorNapisal/-a mkralj123 » Pe apr 06, 2018 10:11 am

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



Matjazev.NET
 

Re: Iskanje podatka znotraj matrike

OdgovorNapisal/-a admin » Pe apr 06, 2018 10:28 am

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

Re: Iskanje podatka znotraj matrike

OdgovorNapisal/-a mkralj123 » Pe apr 06, 2018 11:02 am

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

OdgovorNapisal/-a mkralj123 » Pe apr 06, 2018 11:07 am

..lahko sicer naredim več vgnezdenih if stavkov,
vendar bo zadeva malo nepregledna...
mkralj123
 
Prispevkov: 77
Pridružen: Sr jan 14, 2009 12:21 pm

Re: Iskanje podatka znotraj matrike

OdgovorNapisal/-a admin » Pe apr 06, 2018 11:15 am

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

Re: Iskanje podatka znotraj matrike

OdgovorNapisal/-a mkralj123 » Pe apr 06, 2018 2:29 pm

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

Re: Iskanje podatka znotraj matrike

OdgovorNapisal/-a admin » Pe apr 06, 2018 2:46 pm

Pozdravljeni,


mkralj123 je 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
admin
Site Admin
 
Prispevkov: 3483
Pridružen: Sr jul 20, 2005 10:06 pm

Re: Iskanje podatka znotraj matrike

OdgovorNapisal/-a mkralj123 » Pe apr 06, 2018 3:03 pm

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

lpm
mkralj123
 
Prispevkov: 77
Pridružen: Sr jan 14, 2009 12:21 pm


Vrni se na Excel

Kdo je prisoten

Po forumu brska: 0 registriranih uporabnikov in 0 gostov

cron