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

Ignorera nollvärden


olak

Rekommendera Poster

Jag har ett kalkylblad där jag jämför priser från olika inköpskanaler.

Jag letar upp lägsta priset och returnerar det i en kolumn. I intilliggande kolumner ser jag i procent hur mycket de andra leverantörerna avviker.

Problemet är att om en leverantör inte lämnar nåt pris så blir han ju billigast och de andra ligger 100% för högt.

 

Nu till frågan: Hur får jag Excel att inte ta med den cell som inte har nåt värde (eller noll) i beräkningen?

 

Formeln ser ut så här: =OMFEL(AK11/K11-1;"")

 

Anledningen till "OMFEL" är att jag vill slippa se #DIVISION/0! om jag inte fyller i nåt i en cell.

Länk till kommentar
Dela på andra webbplatser

Hej,

 

...

Formeln ser ut så här: =OMFEL(AK11/K11-1;"")

...

Skriv om formeln i stil med:

 

=OM(ELLER(AK11=0;AK11="");"";AK11/K11)

 

så tar du hand om både nollvärden och tomma celler.

 

Hälsningar

/Johan

Länk till kommentar
Dela på andra webbplatser

Hej,

 

 

Skriv om formeln i stil med:

 

=OM(ELLER(AK11=0;AK11="");"";AK11/K11)

 

så tar du hand om både nollvärden och tomma celler.

 

Hälsningar

/Johan

Tack, det verkar fungera men för att få ut en procentsats så måste jag jämföra med kolumnen där jag har samlat det lägsta priset. Formeln där ser ut på detta viset: =MIN(K11;Q11;W11;AC11;AI11:AI11)

Hur gör jag för att den inte ska räkna med den cell som får ett nollvärde. Den ska ju inte jämföras.

 

Mvh Ola

Länk till kommentar
Dela på andra webbplatser

...

Formeln där ser ut på detta viset: =MIN(K11;Q11;W11;AC11;AI11:AI11)

...

MIN ignorerar tomma celler, så den lämnar bara noll om alla ingående celler är tomma eller om någon av cellerna är noll. Det bästa är väl att hindra att nollor kommer in i MIN-formeln, dvs att K11, Q11 osv antingen lämnar ett värde eller är tomma. Om det inte är för många celler kan du också skala upp nollor så de försvinner direkt i MIN-formeln, typ:

=MIN(OM(K11=0;10000;K11); ...

 

Hälsningar

/Johan

Länk till kommentar
Dela på andra webbplatser

OK, kunde inte släppa det här riktigt ... så här är en "analytisk" lösning också i form av en matrisformel (matas in med <CTRL>+<SHIFT>+<RETUR>):

=MAX(A32:C32)-MAX((MAX(A32:C32)-A32:C32)*((MAX(A32:C32)-A32:C32)<>MAX(A32:C32)))

 

Formeln tittar på cellerna i området A32:C32.

Värdena inverteras (maxvärde-värde), varefter alla värden som nu är maxvärde (och tidigare var noll) nollas med ett logiskt uttryck.

Genom att ta max av det som återstår och invertera tillbaka erhålls minsta värdet förutom noll i området.

 

Hälsningar

/Johan

Länk till kommentar
Dela på andra webbplatser

OK, kunde inte släppa det här riktigt ... så här är en "analytisk" lösning också i form av en matrisformel (matas in med <CTRL>+<SHIFT>+<RETUR>):

=MAX(A32:C32)-MAX((MAX(A32:C32)-A32:C32)*((MAX(A32:C32)-A32:C32)<>MAX(A32:C32)))

 

Formeln tittar på cellerna i området A32:C32.

Värdena inverteras (maxvärde-värde), varefter alla värden som nu är maxvärde (och tidigare var noll) nollas med ett logiskt uttryck.

Genom att ta max av det som återstår och invertera tillbaka erhålls minsta värdet förutom noll i området.

 

Hälsningar

/Johan

 

Toppen!

Detta funkar ju utmärkt, tack. Den formeln hade jag aldrig kunnat klura ut själv.

Dock är där ett problem. Jag har kolumner emellan som innehåller antal och rabatter, dvs värden som inte ska ingå i jämförelsen. I mitt fall är det kolumnerna: K, Q, W, AC och AI som ska jämföras de kolumner som kommer därimellan får inte ingå i formeln. Hur skriver jag då?

 

//Ola

Länk till kommentar
Dela på andra webbplatser

Tyvärr tror jag att matrisformler inte klarar diskontinuerliga områden, men du kan "samla ihop" kolumnerna av intresse vid sidan av formelkolumnen mha referenser. Ibland är det bara bra att dela upp en operation i flera kolumner, de kolumner man inte vill se är det bara att dölja.

 

Hälsningar

/Johan

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...