Just nu i M3-nätverket
Gå till innehåll

Problem med funktionen PASSA (typ -1)


TheController

Rekommendera Poster

TheController

Troligtvis ett löjligt enkelt problem, men måste fråga…

Jag trodde att jag hade förstått funktionen PASSA, men verkar inte som så. Argumentet Typ i passa kan ha tre varianter; -1, 0 eller 1 och det är Typ -1 som jag inte får att fungera som jag trodde att den skulle fungera.
Anta att jag har följande värden i kolumn A1 till A4:
A1: 5
A2: 6
A3: 8
A4: 9

=PASSA(7;$A$1:$A$4;1) returnerar värdet 2 då det är raden för det minsta värde som är större än eller lika med letauppvärdet.
Däremot, och det är här jag får problem:
=PASSA(7;$A$1:$A$4;-1) returnerar värdet #SAKNAS!. Jag tycker att jag här borde få värdet 3 då 8 är det är raden för det minsta värde som är större än eller lika med letauppvärde.

 

Något jag missat här? Varför får jag felvärdet #SAKNAS! när jag använder typ -1 i en PASSA-funktion?

 

Hur gör jag för att få radnumret för det för det minsta värde som är större än eller lika med letauppvärde i detta fall?

 

Bifogar min excelfil där jag testat.

Mvh
TC

passaproblem.xlsx

Länk till kommentar
Dela på andra webbplatser

Troligtvis ett löjligt enkelt problem, men måste fråga…

Jag trodde att jag hade förstått funktionen PASSA, men verkar inte som så. Argumentet Typ i passa kan ha tre varianter; -1, 0 eller 1 och det är Typ -1 som jag inte får att fungera som jag trodde att den skulle fungera.

Anta att jag har följande värden i kolumn A1 till A4:

A1: 5

A2: 6

A3: 8

A4: 9

=PASSA(7;$A$1:$A$4;1) returnerar värdet 2 då det är raden för det minsta värde som är större än eller lika med letauppvärdet.

Däremot, och det är här jag får problem:

=PASSA(7;$A$1:$A$4;-1) returnerar värdet #SAKNAS!. Jag tycker att jag här borde få värdet 3 då 8 är det är raden för det minsta värde som är större än eller lika med letauppvärde.

 

Något jag missat här? Varför får jag felvärdet #SAKNAS! när jag använder typ -1 i en PASSA-funktion?

 

Hur gör jag för att få radnumret för det för det minsta värde som är större än eller lika med letauppvärde i detta fall?

 

Bifogar min excelfil där jag testat.

Mvh

TC

 

Info om PASSA: 

https://support.office.com/sv-se/article/PASSA-Funktionen-PASSA-e8dffd45-c762-47d6-bf89-533f4a37673a

 

Du måste ha värdena i fallande ordning när du letar med -1 om jag fårstått det hela rätt.

Länk till kommentar
Dela på andra webbplatser

TheController

Ja det stämmer naturligtvis. Tack!

Väldigt opraktiskt kan tyckas då det innebär att man inte kan använda Typ 1 och Typ -1 samtidigt...

 

mvh

TC

Länk till kommentar
Dela på andra webbplatser

Ja det stämmer naturligtvis. Tack!

Väldigt opraktiskt kan tyckas då det innebär att man inte kan använda Typ 1 och Typ -1 samtidigt...

 

mvh

TC

Jo det är lite knäppt.

 

Å andra sidan borde du inte söka efter mindre än och större än värdet samtidigt. 

 

Mvh

Erik

Länk till kommentar
Dela på andra webbplatser

TheController

I mitt fall försöker jag få en funktion som mäter avståndet till det exakta värdet och beroende på detta avgöra om jag vill ha Typ -1 eller 1. Dvs om exakt värde inte finns så vill jag ha det värde som ligger närmast exakt värde oavsett om det är det största värde som är mindre än letauppvärdet eller om det är det minsta värde som är större än  letauppvärdet.

Om Letauppvärde är 99 och listan är
40
50
110
Så vill jag returnera 110 (som ligger närmare 99 än 50)
Men om listan är
40
95
110
Så vill ja returnera 95 (som ligger närmare 99 än 110).
Blir ett logiskt test ungefär: (99-INDEX(B1:B3;PASSA(99;B1:B3;1)))>ABS(99-INDEX(B1:B3;PASSA(99;B1:B3;-1)))
Men denna fungerar inte då listorna måste sorteras om baserat på om det är typ 1 eller typ -1

Länk till kommentar
Dela på andra webbplatser

I mitt fall försöker jag få en funktion som mäter avståndet till det exakta värdet och beroende på detta avgöra om jag vill ha Typ -1 eller 1. Dvs om exakt värde inte finns så vill jag ha det värde som ligger närmast exakt värde oavsett om det är det största värde som är mindre än letauppvärdet eller om det är det minsta värde som är större än  letauppvärdet.

Om Letauppvärde är 99 och listan är

40

50

110

Så vill jag returnera 110 (som ligger närmare 99 än 50)

Men om listan är

40

95

110

Så vill ja returnera 95 (som ligger närmare 99 än 110).

Blir ett logiskt test ungefär: (99-INDEX(B1:B3;PASSA(99;B1:B3;1)))>ABS(99-INDEX(B1:B3;PASSA(99;B1:B3;-1)))

Men denna fungerar inte då listorna måste sorteras om baserat på om det är typ 1 eller typ -1

Jag kan för lite excel, men vad händer om du vänder sista Passa till 

PASSA(99;B3:B1;-1)

 

Då ska du enligt min värld söka baklänges.

Annars borde det finnas en funktion som kan vända arrayen med data innan du kör den.

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.



×
×
  • Skapa nytt...