webForumDet fria alternativet

Länka cellvärde och rangordna automatiskt i Excel

Kontorsprogram

3 svar · 5 633 visningar · startad av bigsky

Medlem sedan maj 2002821 inlägg
Frågan#1

I flik 1 har jag en lista i 2 kolumner. Kolumn A är Namn och kolumn B är Procent. Kan jag länka denna information till en flik 2 och där automatiskt rangordna namnen från flik 1 efter värdet i kolumn B, dvs. procentsatsen? Hur skulle detta gå till? Visa gärna exempel med kompletta formler.

Medlem sedan okt. 200750 inlägg
#2

Hej bigsky!
Detta kan man göra på två sätt, antingen genom att först ta fram och sortera procentsatserna och sedan utgå från dessa för att leta upp motsvarande namn. Det andra sättet är att först leta upp namnen, och sedan passa in motsvarande procentsatser. Jag skulle nog säga att alternativ 1 är lite enklare. Det som komplicerar formlerna är om det kan förekomma samma procentsats för två olika namn. Jag har för säkerhets skull byggt formeln för att klara detta.

Jag börjar med det enklare alternativet:
Klistra in följande formel i Blad2!B1:

=STÖRSTA(Blad1!$B$1:$B$1000;RAD(1:1))

och kopiera nedåt. Denna formel sorterar dina procentsatser i fallande ordning. Om du vill ha i stigande ordning byter du ut STÖRSTA mot MINSTA.

Klistra in följande formel i Blad2!A1:

=INDEX(Blad1!$A$1:$A$1000;MINSTA(OM(B1=Blad1!$B$1:$B$1000;RAD(INDIREKT("1:1000")));SUMMA(N(A1=$A$1:A1))))

När du har klistrat in formel måste du tryck Ctrl+Shift+Enter i stället för som vanligt, bara Enter. Kopiera sedan formeln nedåt.
OBS! Jag såg i förhandsgranskningen av inlägget att det hade smugit sig in ett mellanslag i formeln som jag inte kan få bort. Kom ihåg att ta bort det!

Det mer komplicerade alternativet, för de som gillar att "jonglera" med Excelformler:
Klistra in följande formel i Blad2!A1:

=INDEX(Blad1!$A$1:$A$1000;PASSA(SUMMA(N(STÖRSTA(Blad1!$B$1:$B$1000;RAD(1:1))=STÖRSTA(Blad1!$B$1:$B$1000;RAD(INDIREKT("1:1000")))*N(RAD(1:1)>=RAD(INDIREKT("1:1000")))));MMULT(N(RAD(INDIREKT("1:1000"))>=TRANSPONERA(RAD(INDIREKT("1:1000"))));N(Blad1!$B$1:$B$1000=STÖRSTA(Blad1!$B$1:$B$1000;RAD(1:1))));0))

Kom ihåg att trycka Ctrl+Shift+Enter innan du kopierar nedåt.

Klistra in följande formel i Blad2!B1:

=INDEX(Blad1!$B$1:$B$1000;PASSA(A1;Blad1!$A$1:$A$1000;0))

Alla formler kräver att du har dina data i området Blad1:A1:B1000

/lecxe

Medlem sedan maj 2002821 inlägg
#3

wow, tack ska prova det. Hur ska jag göra om jag vill ändra bakgrundsfärg på den cell i kolumn A vars värde i kolumn B är det minsta av alla rader i kolumn B? Har försökt lägga in denna formel med villkorsstyrd formatering för alla celler i kolumn A men det fungerar inte. =MINSTA($N$3:$N$11;1)
Problemet är nog att jag ju vill formatera en cell i en annan kolumn än i den kolumn som formeln kollar villkoret i.

Medlem sedan okt. 200750 inlägg
#4

Du hade bara halva delen rätt ;)

All villkorsstyrd formatering måste använda en formel som utvärderas till "SANT" eller "FALSKT". Om du utvärderar din formel så kommer den att returnera det minsta värdet N3:N11, vilket förmodligen inte är "SANT" eller "FALSKT. Om du markerar cellerna med dina bokstäver i A-kolumnen och anger följande formel så tror jag nog att du får till det:

=MINSTA($B$1:$B$1000;1)=B1 eller kort och gott =MIN($B$1:$B$1000)=B1

Eftersom B1 är en relativ referens så kommer varje cell i kolumn A att titta på cellen till höger om sig dvs i kolumn B, och när det minsta värdet dyker upp kommer formeln att utvärderas till SANT och det villkorsstyrda formatet att träda i kraft.

/lecxe

275 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)