Avatar billede tida Juniormester
20. september 2011 - 14:11 Der er 14 kommentarer og
1 løsning

Hente sidste tekstværdi i et område

Jeg har brug for en funktion der henter sidste forekomst vertikalt i et område - altså henad og der er tale om et tekstfelt

Kan nogen hjælpe mig ;-)
Avatar billede natkatten Mester
20. september 2011 - 14:32 #1
Prøv med denne matriksformel:

=INDEKS($A$1:$ZZ$1;1;STØRSTE(HVIS($A$1:$ZZ$1<>"";KOLONNE($A$1:$ZZ$1));1))

Skulle gerne finde den sidst indtastede værdi i række 1 (til og med kolonne ZZ) uanset om der er tale om et tal eller en tekst.

Husk at taste <CTRL>+<SHIFT>+<ENTER> når du har sat formlen ind.
Avatar billede tida Juniormester
20. september 2011 - 15:41 #2
Hej natkatten

Tak for svar, jeg får desværre en #reference fejl på formlen, tror ikke den kan finde ud af den del der handler om STØRSTE ?
Avatar billede tida Juniormester
20. september 2011 - 15:43 #3
Det er en tekststreng den skal returnere...og her dur STØRSTE hvis ikke...eller ?
Avatar billede tida Juniormester
20. september 2011 - 15:54 #4
Tror det er noget andet der driller....Kan det passe at området skal være på samme ark som formlen ?
Avatar billede natkatten Mester
20. september 2011 - 15:54 #5
Jo, den burde virke, fordi det er området, som STØRSTE virker på, og ikke værdierne i cellerne. Du skal huske at afslutte formlen med <CTRL>+<SHIFT>+<Enter>. Du kan kontrollere dette ved at Excel automatisk sætter tuborgparanteser omkring den.

Hvis du har gjort dette, og du benytter Excel 2003 eller tidligere, så er problemet sikkert referencen til kolonne ZZ. I 2007 og 2010 kan der være op til 16.384 kolonner (helt ud til kolonne XFD), men i 2003 er grænsen 256. Lav i så fald en ændring i formlen, så matriksformlen hedder f.eks.:

=INDEKS($A$1:$IV$1;1;STØRSTE(HVIS($A$1:$IV$1<>"";KOLONNE($A$1:$IV$1));1))
Avatar billede natkatten Mester
20. september 2011 - 16:00 #6
Ad #4: Hvis du laver den på et andet ark, så skal du referere til dette:

F.eks.:

=INDEKS('Ark1'!$A$1:$ZZ$1;1;STØRSTE(HVIS('Ark1'!$A$1:$ZZ$1<>"";KOLONNE('Ark1'!$A$1:$ZZ$1));1))

Husk stadig, at det er en matriksformel!
Avatar billede tida Juniormester
20. september 2011 - 16:13 #7
Der er noget der driller...har husket matrix..og jeg bruger Excel 2007. Kan få det til at fungere "lidt" i det samme ark, men den henter noget forkert. Har forsøgt med områdenavn istedet for se denne formel

=INDEKS(STED;1;STØRSTE(HVIS(STED<>"";KOLONNE(STED));1))

men jeg får en reference fejl retur.

Nå, sidder og bikser lidt med det...så må vi se.
Avatar billede natkatten Mester
20. september 2011 - 16:22 #8
Jeg uploader lige dette ark:

http://gupl.dk/65833/
Avatar billede natkatten Mester
20. september 2011 - 16:28 #9
Hvis jeg navngiver området A1:ZZ1 'Sted' så fungerer det fint på mit eksempelark:

=INDEKS(Sted;1;STØRSTE(HVIS(Sted<>"";KOLONNE(Sted));1))

Jeg uploader lige en version med navngivningen:

http://gupl.dk/65834/
Avatar billede tida Juniormester
21. september 2011 - 10:00 #10
Hej igen natkatten

Tak for fil, det ser jo helt perfekt ud, lige det jeg har brug for og din matrixformel er jo identisk med min. Alligevel fungerer min formel ikke.

Der er dog noget der undrer mig. Mit område STED kommer herfra
='4.1. Strukturel likviditet DATA'!$I$5:$L$45
den består altså kun af 4 kolonner

men når jeg klikker på "fx" for at se funktionsargumenterne henviser den rigtig nok til = 1 i rækkedelen men i kolonnedelen til = 12

hvordan hænger det mon sammen når der nu kun er 4


Hvis jeg checker din formel i dit ark siger den rigtig nok 397.
Avatar billede natkatten Mester
21. september 2011 - 10:31 #11
Det er ikke antallet af kolonner, der er problemet, men antallet af rækker, idet dette - ud fra hvad du skriver - er 46. Min funktion arbejder på én række, hvorfor det er ret enkelt at definere den sidste værdi vertikalt, idet det er den celle med indhold, som har det største kolonnenummer.

Hvordan vil du definere den sidste værdi, som skal findes? Dette er vel så en eventuel værdi i L45. Men hvad nu, hvis der er en værdi i L44 og K43, hvilken skal så være den sidste værdi?
Avatar billede tida Juniormester
21. september 2011 - 10:41 #12
Ok jeg forstår lidt bedre nu sorry - men hvis jeg så korrigere min formel til kun at gælde 1 række så kan jeg alligevel ikke få den til at fungere :

=INDEKS('4.1. Strukturel likviditet DATA'!I5:L5;1;STØRSTE(HVIS('4.1. Strukturel likviditet DATA'!I5:L5<>"";KOLONNE('4.1. Strukturel likviditet DATA'!I5:L5));1))

nu siger den = 10 i kolonne nummer
Avatar billede natkatten Mester
21. september 2011 - 10:54 #13
Prøv denne (som kun arbejder på at finde tekst og altså ikke tal). Dette er IKKE en matriksformel:

=INDEKS(Sted;SAMMENLIGN(GENTAG("å";255);Sted))

Arbejder på en navngiven række som hedder 'Sted'.

Jeg vil så lige kigge videre på min anden formel.
Avatar billede tida Juniormester
21. september 2011 - 11:06 #14
Se den var meget bedre :-) Tak for det. Du behøver ikke se mere på den gamle for mig skyld. Smid et svar
Avatar billede natkatten Mester
21. september 2011 - 11:14 #15
Ok, godt det lykkedes. Særligt interesserede kan kigge på dette whitepaper fra 2004, som laver en ret så grundig beskrivelse af nogle af de muligheder (og problemer), som findes, hvis man skal finde den sidste værdi i en række eller en kolonner (tal, tekst eller begge):

http://www.xldynamic.com/source/xld.LastValue.html
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester