Avatar billede visto Professor
10. maj 2021 - 18:00 Der er 7 kommentarer og
1 løsning

Formel der viser det sidste resultat <>0 i kolonne

Jeg søger en formel, der viser det sidste/nyeste resultat forskelligt fra 0 i en kolonne.
Der er formler i alle kolonne C's celler fra og med celle C3. I C1 er der tekst.  C2 er tom. Der er aktuelt resultater <>0 i området C3:C30. Fra og med række 31 giver formlen resultatet 0 (men senere kommer der også resultater <>0 i cellerne C31 og nedefter).  Formlen skal returnere det seneste/nyeste resultat, i dette eksempel resultatet i celle C30.
Hvordan gør man det?
Avatar billede ebea Ekspert
10. maj 2021 - 18:23 #1
Kan du ikke definere lidt nærmere, hvad det er for resultater og data. Er det hakkebøffer, eller datoer, eller hvad er det for data?
Det bedste, ville være at uploade et eks. på dine data (fiktive data).
Avatar billede Jan K Ekspert
10. maj 2021 - 18:25 #2
Hvis den nyeste altid er den nederste, kan dette måske inspirere

http://kronsell.net/finde_indholdet_af_sidste_celle.htm
Avatar billede visto Professor
10. maj 2021 - 20:20 #3
#1
Det er blot tal. Resultatet i kolonne C er tal fra en anden kolonne ganget med 7 og divideret med 1000.
Hvis jeg skal uploade: hvordan gør man det?

#2
Den nyeste er altid den nederste.
Men ingen af de i linket foreslåede løsninger virker. Jeg har været en del rundt på nettet og bl.a. stødt på det foreslåede; intet af det, jeg har mødt, virker - selv om situationen jo er rimeligt enkel.
Avatar billede xl-Enthusiast Ekspert
10. maj 2021 - 20:25 #4
Med dine data i kolonne A

=LOOKUP(2;1/(A:A<>0);A:A)

dansk:

=SLÅ.OP(2;1/(A:A<>0);A:A)
Avatar billede visto Professor
10. maj 2021 - 22:02 #5
#4
Yep. Det virker. Tak for hjælpen.

Jeg kan godt lide at forstå, hvad formler gør. Denne her forstår jeg ikke. Jeg ville være glad for en forklaring.
Avatar billede xl-Enthusiast Ekspert
11. maj 2021 - 08:31 #6
Prøv at indtaste følgende i A1:A10: 1, 5, =2/0, 7, 9, tom, 25, 0,0,0.
I D3 (for eksempel) indtaster du formlen, for mit vedkommende:
=LOOKUP(2;1/(A1:A10<>0);A1:A10) Jeg har her brugt det aktuelle dataområde i stedet for som i den formel jeg gav herinde A:A som er det samme som A1:A1048576, altså hele kolonne A. A1:A10 er nemmere at arbejde med når man skal analysere formlen. Bemærk i øvrigt, at hvis du arbejder med matrixformler (herunder SUMPRODUCT) så er det en rigtig dårlig ide at arbejde med "full column references", men der sker ikke noget ved det med den funktion vi bruger her.

Prøv at vælge cellen med din formel, marker med musen i formelfeltet præcist følgende del af formlen (A1:A10<>0) og tryk på F9. Du vil nu se følgende:
{TRUE;TRUE;#DIV/0!;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE}

LOOKUP virker på den måde, at hvis opslagsværdien er større end alle værdier i lookup-området (A1:A10) vil Excel søge efter den sidste værdi i lookup-området der er mindre end lookup-værdien. Lookup-værdien her er 2 og lookup-området er
{TRUE;TRUE;#DIV/0!;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE}

Er der nogen værdi i lookup-området der er mindre end 2. Lad os teste

=TRUE<2
=FALSE<2
Begge logiske test reurnerer FALSE. Med andre ord, TRUE er større end 2 og FALSE er større end 2. Faktisk er det sådan, at TRUE og FALSE er større end et hvilket som helst tal Excel kan arbejde med. Derfor laver vi regnestykket:

1/(A:A<>0). Prøv i formelfeltet at markere præcist denne del af formlen og tryk på F9. Du vil nu se:

{1;1;#DIV/0!;1;1;#DIV/0!;1;#DIV/0!;#DIV/0!;#DIV/0!}

Den samlede formel er nu reduceret til:
=LOOKUP(2;{1;1;#DIV/0!;1;1;#DIV/0!;1;#DIV/0!;#DIV/0!;#DIV/0!};A1:A10)

Det første ettal indenfor de krøllede parentes fremkommer som 1/TRUE = 1/1 =1 (når TRUE og FALSE indgår i regneoperationer konverteres TRUE til 1 og FALSE til 0). I tredje position får vi 1/#DIV/0! hvilket giver #DIV/0! I fjerde position får vi igen 1/TRUE = 1 og så videre på samme måde. Vores lookup-værdi 2 er nu større end et hvilket som helst tal i lookup-området. Derfor er resultatet af formlen det sidste tal i området A1:A10 der korresponderer med det sidste tal i:
{1;1;#DIV/0!;1;1;#DIV/0!;1;#DIV/0!;#DIV/0!;#DIV/0!};A1:A10) det vil sige det tal der står i syvende position. Syvende position i A1:A10 er A7, hvorfor tallet 25 returneres.
Avatar billede visto Professor
11. maj 2021 - 09:46 #7
Hold da op! Den er da ellers for viderekomne.

Jeg må tilstå, at jeg ikke forstår det hele - den skal gennemtygges nogle gange før det i bedste fald vil ske. Jeg værdsætter dit arbejde med at anskueliggøre det for mig. Så tak også for det.
Avatar billede xl-Enthusiast Ekspert
11. maj 2021 - 10:18 #8
Prøv at arbejde med det, og så spørg igen om det du stadigvæk måtte være i tvivl om.
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

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