Jump to content

Excel - Villkorsstyrd formatering med hänvisning till specifika celler (i stället för specifika tal)


Recommended Posts

Hej!

Vill först bara uttrycka min saknad av eforum (IDG) men också min glädje över att verksamheten på något sätt verkar överleva här. Jag hängde inte dagligen på eforum men de gånger jag besökte platsen fann jag alltid gott kamratskap och hjälpsamma och kunniga människor. Mitt första intryck av den här platsen är att också den delen, med, som det verkar, hjälp av ungefär samma entusiastiska skara människor som befolkade eforum, också har överlevt här.

Till frågan:

Jag använder Excel på hobbybasis och får nog beskrivas som nybörjare.

I detta program av oändliga möjligheter har jag nyss upptäckt möjligheten att använda Villkorsstyrd formatering. Exempelvis med användande av >, = och < i förhållande till ett bestämt tal i en viss cell (eller hela Excelarket).

Jag skulle vilja kunna använda denna funktion mer fritt för specifika celler.

Mer konkret: I stället för att använda t.ex. >, = eller < i relation till ett fastställt tal vill jag kunna hänvisa till en specifik cell.
T.ex.: När värdet är >, = eller < än det i cellen D5 så skall en viss bestämd formatering av cellen äga rum (t.ex. mörkröda siffror i fet stil mot ljusröd bakgrund om värdet understiger [<] det i cellen D5).

Jag har sett att det, i de utökade möjligheterna att använda Villkorsstyrd formatering, finns sådant som "Ny regel…" och "Hantera regler…", men jag har inte någon kunskap om, för det första, det är rätt metod att gå om jag vill få till det jag är ute efter här -och för det andra, hur jag i så fall skall gå till väga.

Tacksam för alla svar, tips och uppslag!

Mvh


ICIT
Link to comment
Share on other sites

Hej Gunnar!

Stort tack för du tog dig an min fråga.

Jag laddade hem den bifogade Excelfilen och tittade, via "Hantera kod..." under Villkorsstyrd formatering, på din kod för cellerna i A-kolumnen (jag bifogar en kopia på detta med filen: "villkorad-formatering_sp_sv_01.PNG").

Innan jag fortsätter är det kanske bäst att först nämna att jag använder versionen 2019 Pro av Excel (i fall det kan skilja i beteende, innehåll, etc., mellan de olika versioner som används av dem som postar i den här tråden).

När man väl ser hur kodningen skall göras ser det ju väldigt enkelt ut. Men först testade jag att skriva in några värden över 100 i några celler efter A7 (som är sista cell i kolumn A som formateringen skall gälla för).
Det visade sig att även A8 och A9 antog formateringen du angett i din kod (om jag omedelbart raderade värdena vartefter jag skrivit in dem i A8 resp A9 förblev värdena i A10 och nedåt "neutrala"). Började jag att skriva in värden över 100 från någon av cellerna A7 - A9 och nedåt antog alla den röda formateringen. Det verkar alltså som om formateringen på något vis överförs när man börjar i en cell där formateringen gäller och sedan fortsätter nedåt. Jag antar att det egentligen inte borde vara så (och begriper inte varför det ändå är så det blir), men lämnade det och tänkte lägga upp en egen formatering baserad på ditt exempel.

Det gick tyvärr inte lika bra.

Först skrev jag in värdet 205 för cellen D10.
Sedan skrev jag in värden från 200 - 210 i cellerna C10 - C20 och markerade dem.
Därefter gick jag till Villkorsstyrd formatering och "Ny regel...". I dialogrutan "Ny formateringsregel" valde jag den sista (6:e) regeltypen: "Bestäm vilka celler som ska formateras genom att använda en formel" (de övriga kunde jag inte se att de skulle fungera).
Under "Formatera värden där den här formeln är sann:" skriver jag in:

Cellvärde > §D§10

Se bif. fil: "egen_villkorad_formatering_nr1_01.PNG" (där syns även det jag inledningsvis beskrev om formateringen i kolumn A).

I nästa steg påbörjar jag formateringen via "Formatera..." där jag, när dialogrutan "Formatera celler" dyker upp, för Tecken väljer Fet och mörkrött, samt för Fyllning en ljusrosa nyans, varefter jag klickar OK och är tillbaka i dialogrutan "Ny formateringsregel" där jag kan se att min formatering nu har inkluderats (se bif. fil: "egen_villkorad_formatering_nr1_02.PNG").
Jag slutför genom att klicka OK.

Nu hade jag förväntat mig att cellerna D16 - C20 skulle anta den röda formateringen, men så är inte fallet.
Jag kollar min regel vila "Hantera regler..." och ser att det skiljer sig lite från hur det ser ut i ditt exempel Gunnar (se fil: "egen_villkorad_formatering_nr1_03.PNG"). Där finns alltså ett Formel = " före Cellvärde > §D§10, samt ett avslutande " sist i regeln.

Jag försökte redigera regeln för formateringen till enbart Cellvärde > §D§10 men resultatet blir det samma: Excel lägger till Formel = " med avslutande" som tidigare.
Det verkar m.a.o. som om det kanske är ett annat sätt lägga in en egen regel som krävs här, men jag finner inget sådant under Villkorsstyrd formatering.
Eller har det kanske med att min version av Excel (2019 Pro) i något avseende skiljer sig från den version du har Gunnar?

Hoppas det inte blev för rörigt när jag försökte beskriva förloppet och att du, eller andra, kan fortsätta att försöka hjälpa mig att lösa lösa problemet.

Mvh
Bertil

 

 

villkorad-formatering_sp_sv_01.PNG

egen_villkorad_formatering_nr1_01.PNG

egen_villkorad_formatering_nr1_02.PNG

egen_villkorad_formatering_nr1_03.PNG

Link to comment
Share on other sites

Du  använder formler i exemplen du visar. 

Om det Aktuella område är =$A$1:$A$7

Så skriver du in  A1 istället för "cellvärde"

Dvs när du skriver formler utgår du alltid från den Översta/vänstra cellen UTAN $-tecken. sen anpassar sig excel efter övriga celler i området. (I ditt andra exempel är det alltså C10 du skall skriva)

 

Om du istället vill använda Formatera alla celler baserat på deras värde (markera cellerna du vill ha formatering på )

 Villkorsstyrd->regler för cellmarkering->Mindre än

=$D$5

Dvs du "låser" referensen med dollartecken istället för att skriva in ett värde

Är det vad du ville?

  • Like 1
Link to comment
Share on other sites

@MH_

Tack för svar!

Jag har, så gott jag kunnat, testat utifrån det du beskriver, men inte fått till det, vilket förmodligen beror på att jag inte helt hängt med i svängarna. Och jag tror att det beror på att det är något jag i grunden missar när jag dels gör mina helt egna försök, liksom när jag försöker tolka och sedan tillämpa de förslag svar som postas här. Det har helt enkelt med min nybörjarnivå att göra.

D.v.s. jag läste igenom dit inlägg och testade utifrån vad jag antog var rätt - resultatet i slutändan blir ändå inte det avsedda (ingen formatering alls i det här fallet).

Jag antar alltså att det handlar om något av stegen innan man kommer till att börja med hur man skall skriva regeln.

Ett litet framsteg som jag dock gjort i de här försöken att villkorsstyra mina tänkta formateringar kan fungera som utmärkt exempel på det jag menar ovan:


Efter lite testande har jag nu insett att det sett jag valde för att lägga till en ny regel för Villkorsstyrd formatering inte var riktigt det samma som det Gunnar förmodligen använde, d.v.s. just ett sådant där steg som man som van användare antagligen tar för given men som för nybörjaren är något helt annat, mestadels något, om man ens känner till dess existens, ändå ännu inte vet ett dugg om:

 

I menyraden under Villkorsstyrd formatering > Regler för cellmarkering > finns längst ned (under Större än..., etc.) även alternativet Fler regler...

Väljer man där alltså Fler regler... för man upp en helt annan dialogruta än om man under Villkorsstyrd formatering direkt går till Ny Regel... , vilket alltså var det jag först gjorde (jag hade då ännu inte uppmärksammat "Fler regler...")

Om man i dialogrutan för Fler regler...väljer den förvalda regeltypen "Formatera endast celler som innehåller" och där även, under "Redigera regelbeskrivningen" i rutan: "Formatera endast celler med:", behåller "Cellvärde" och "Större än" och sedan, i den tomma rutan, skriver in den cell man vill utgå ifrån (i just det här fallet med mitt exempel, cellen D10 vilket här alltså i den tomma rutan blir kodsnutten $D$10) erhåller man exakt samma upplägg som det Gunnar bidrog med tidigare i tråden (se bilderna nedan).

Så långt är ju allt väl, men, vilket också framgår av andra bilden, uteblir fortfarande den avsedda formateringen...

Poängen med att ta upp det här exemplet är alltså främst att försöka beskriva det jag nämnde i inledningen - det verkar finnas något basalt jag missar i något steg innan det som sedan beskrivs här.
Det är ju alltså just det exemplet visar: Det ser ut som jag gör allt rätt - men resultatet uteblir, någon formatering äger inte rum som avsett.

Om vi, tillsvidare, begränsar oss och börjar där, i mitt exempel förtydligat med bilderna nedan - vad är det som jag kan ha missat där?

Får vi svar på det (om det finns ork och tålamod för det här) förmodar jag att det också kommer att bli lättare att hänga med i resten av de exempel som tagits upp här.
Hoppet har jag i alla fall :)

egen_villkorad_formatering_nr2_01.PNG

egen_villkorad_formatering_nr2_02.PNG

Link to comment
Share on other sites

@Mikael63

Tack för input!

Som svar på frågorna ovan:

  1. Inget nytt värde inskrivet i D10 (det har stadigt varit 205)
  2. Om jag inte missuppfattar termen "cellformat" så är cellformatet, så vitt jag kan se, detsamma för de berörda cellerna (d.v.s. "Allmänt"). (Men det kanske finns fler betydelser av "cellformat"?)
  3. Nedan bifogas exempelboken (som jag så klart borde ha lagt upp från början).

Skall dock lägga till en rättelse: I mitt exempel ovan gör jag en jämförelse och påstår att man (d.v.s. jag) erhåller "exakt samma upplägg som det Gunnar bidrog med tidigare i tråden". Det stämmer dock inte helt. När jag tittade lite närmare på värdena man får upp genom "Hantera regler..." är det tydligt att i mitt exempel finns det citationstecken kring den angivna cellen för "Regel" (Cellvärde > "$D$10") medans det i Gunnars exempel saknas sådana (Cellvärde > $D$5).
En liten detalj kan tyckas, men så långt min erfarenhet sträcker sig är det just de här små detaljerna som visat sig ligga bakom det som i tillämpningen är det stora, ibland avgörande, felet. Om det också är så i detta fall återstår väl att se.

Ser verkligen fram emot vad du, MH_, Gunnar eller någon annan här kan få fram genom gå igenom mina försök i exempelboken - och om det kan sprida någon klarhet i det hela :)

 

Villkorad-Formatering_Test_01.xlsx

Link to comment
Share on other sites

@gsb

Yep, det gjorde susen :)!

Det märkliga är dock att citationstecknen är något som Excel skapar automatiskt, på samma sätt som Excel också skapar likhetstecknet (=) (jag skriver endast in angivelsen av cellen, enligt: $D$10 i det här fallet, inga citationstecken, och heller inget likhetstecken) när jag lägger upp formateringen enligt ovan (Fler regler... > "Formatera endast celler som innehåller" ,etc.) - och måste därför gå tillbaka och göra korrigeringen i efterhand via "Hantera regler...", vilket verkar lite udda.
Kan det vara så att jag återigen har missat något i början av processen?

Jag lade även märke till att det i ditt exempel inte finns något citationstecken i början av kodsnutten, d.v.s. före D, vilket alltså i ditt exempel blir: D$10. Jag testade att göra på samma sätt. Naturligtvis lade Excel till citationstecken även kring detta, men när jag i efterhand går in och redigerar bort citationstecknen så fungerar det precis lika bra.
Om jag, utgående från vad som skrivits tidigare i tråden (om låsning med $-tecken), försöker mig på en gissning vad detta kan bero på så kanske det skulle kunna ha att göra med att även om nu inte hela D-kolumnen är låst till formateringen för cellerna C10:C20 så är just cellen 10 (i D-kolumnen) det, vilket ju är meningen - och skiljer sig ju egentligen inte från koden som använder bägge $-tecknen - så, egentligen, känns det väl som en rätt kass gissning - men det skulle vara toppen att få rätsida på vad som ligger bakom detta (för att bättre komma åt formuleringsprincipen med formateringskodens syntax) - och, som sagt, varför Excel lägger till citationstecken i mina exempel.

Edited by Bertil Oldenburg
Link to comment
Share on other sites

17 timmar sedan, Bertil Oldenburg sade:

Jag lade även märke till att det i ditt exempel inte finns något citationstecken i början av kodsnutten, d.v.s. före D, vilket alltså i ditt exempel blir: D$10.

Blev rejält fel där. Förstår om det blev svårt att få någon logik i den meningen - och den följande frågeställningen...

Det skall naturligtvis vara $-tecken (inte citationstecken).
D.v.s. Meningen skall se ut så här:
Jag lade även märke till att det i ditt exempel inte finns något $-tecken i början av kodsnutten, d.v.s. före D, vilket alltså i ditt exempel blir: D$10.

Hoppas att det därmed blev tydligare.

Link to comment
Share on other sites

On 2022-07-28 at 00:01, Bertil Oldenburg sade:

Det märkliga är dock att citationstecknen är något som Excel skapar automatiskt, på samma sätt som Excel också skapar likhetstecknet (=) (jag skriver endast in angivelsen av cellen, enligt: $D$10 i det här fallet, inga citationstecken, och heller inget likhetstecken) när jag lägger upp formateringen enligt ovan (Fler regler... > "Formatera endast celler som innehåller" ,etc.) - och måste därför gå tillbaka och göra korrigeringen i efterhand via "Hantera regler...", vilket verkar lite udda.

Insåg att förekomsten av citationstecknen rimligen borde ha att göra med hur jag skrev koden och det logiska borde då vara att själv börja koden med att skriva ett likhetstecken (som man ju så gott som alltid i så gott som alla sammanhang gör annars) - och på sätt "förekomma" Excel att skriva kod jag själv inte önskar.

Jag behöll upplägget enligt ovan med "Fler regler" > "Formatera endast celler som innehåller". osv. men testade sedan alltså med =$D$10.

Det löste problemet. Nu är koden faktiskt identisk med den Gunnar lade upp i början av den här koden. Redan från början. Ingen korrigering i efterhand.

I efterhand självklart, tänker jag, likhetstecken i början är ju så gott som regel 1A, men när det börjat gå lite snett, man befinner sig i en Excel-miljö man inte är bekant med och där upplever att Excel inte "uppför sig" som man är van vid, kan det vara lätt hänt att de få basics man trodde sig hantera har blåst ut genom fönstret... men de återvänder så gått som alltid när man börjar om från början och försöker vara lite mer grundlig och systematisk, och vill det sig väl kan det vara lösningen på problemet...

D.v.s., första frågan avklarad: Fler regler... > "Formatera endast celler som innehåller" och sedan börja koden med ett likhetstecknen (=) så fungerar det :)

Det blev ju en del frågor kvar. Jag försöker bråka med dem på egen hand ett tag när jag får en stund över då och då och återkommer. Antingen med en lösning, eller kanske någon fråga...

Edited by Bertil Oldenburg
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...