PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerExcelExcelFlera om funktionerFlera om funktioner
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2019-04-26 10:59
 
 Ändrad av ALN_82  på 2019-04-26 11:06:27
Hej, Behöver skapa en kalkylblad + flera blad (prislistor) och välja på beroende på användarens val. Jag kommer att ha flera poster i kalkylbladet (valbart) kommer ha en cell för mängd (kg/st) Kommer ha prislistor från olika affärer (i ovan nämnda blad). Val av affär ska styra vad för prislista som gäller (det har jag gjort kryssruta för med respektive affärnamn).


Min funktion ser ut såhär:
=OM(C8=SANT; D8*OM(C2=SANT;PLIST1!B2;0;OM(C3=SANT;PLIST2!B2;0;OM(C4=SANT;PLIST3!B2;0;OM(C5=SANT;PLIST4!B2;0))))

C8=(typ av vara)
D8=(mängd)
C2-C4 affären som användaren ska välja för att få fram ett pris
PLIST= prislistorna

Funktionen funkar inte riktigt, vad är det för fel?


Tack på förhand! Hälsningar // Alan
Nytt inlägg
 2019-04-29 08:31
 
Hej hej

Låt oss bryta ner din funktion...

=Om(C8=SANT (Detta är ditt första villkor).
Villkoret är uppfyllt om det står SANT i cell C8, i den cellen ska kunden välja vara, så den kommer nog alldrig bli uppfyld om inte jag har misstolkat dig. Om det skulle stå sant så räcker det att skriva =Om(C8;

Är det så att du vill att villkoret ska vara uppfylt så fort cellen inte är tom så skriver man =om(C8<>"";

Därefter kommer delen av om satsen där villkoret är sant:
D8*OM(C2=SANT;PLIST1!B2;0;OM(C3=SANT;PLIST2!B2;0;OM(C4=SANT;PLIST3!B2;0;OM(C5=SANT;PLIST4!B2;0))))

Du har ingen avslutande parantes, vilket innebär att hela efterföljande del av din funktion är den satsen.

Kikar vi på dina nästade funktioner: "C2=SANT;PLIST1!B2;0;OM( ", Så har du i varje del av dina nästningar, för många argument. Första villkoret:
C2= sant,.. Står det sant i cell c2?( du måste ha aktiverat celllink för dina kryssrutpr för att detta sk fungera... , Villkor om sant: PList1!B2.. dvs om villkoret är uppfyllt så ska du få tillbaka resultatet av vad som nu står i cell B2 på fliken plist1. Därefter villkoret om falskt: ";0" om villkoret inte är uppfyllt, returnera 0. Sedan kommer ett ytterliggare villkor: ;om(, Detta innebär att även din första nästade om formel är fel då du har använt för många argument, likaså dina efterkommande Om formler.

Därutöver så skriver du D8*, i d8 har du mycket riktigt en mängd, så denna går att mulpiplera med. Men står det verkligen något numeriskt i cell B2 på flik plist1, plist2, plist3? Verkar mer som du vill att du ska få ett pris på en vara returnerat, då kommer du istället behöver en formel som behöver kunna matcha varans namn som användaren valt med namnet på varan i dina prislistor.

Jag kan tyvärr inte sätta upp en formel till dig som ger dig det du vill ha eftersom detta inte framgår av din beskrivning. Vill du ha prislistans namn? Vill du ha varans totala pris för vald prislista?.

Sist men inte minst.. Varför inte låta användaren se alla prisförslag direkt? och därefter välja den mest fördelaktiga istället för tvärtom?

Mvh
Christian


Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelFlera om funktionerFlera om funktioner

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter