Excel 2007, lista värde från annan kolumn

Permalänk

Excel 2007, lista värde från annan kolumn

Hej,

Nu ska vi se om jag kan förklara min utmaning här.

Jag har en kolumn (A) med lite över 2000 värden, samt en kolumn (X) med lite över 1000 värden.

Jag skulle vilja ha värden i kolumn X att visas i en ny kolumn (C) ifall kolumn A och X passar ihop, på samma rad som A.

Ex. I kolumn A, rad 3 finns värde 5, detta värde finns i kolumn X, fast på rad 768. Hur gör jag för att få detta värde att visas i kolumn C på rad 3?

Hänger ni med? Som lök på laxen så finns det tre färgkodningar i kolumn X som måste följa med. Så typ en 'Kopiera värde från X till C om det matchar med A'

Någon med excelvana som kan detta?

Visa signatur

Bio: Denon AVC-X3700H - Emotiva XPA-2 - Revel F208 - T.Amp 1050 - Ino Audio pY-2
Dator: Rampage V Extreme, 5930K, Palit 2070 Super, Acer XB270HU, Asus Essence STX II, Sennheiser HD650, Kama Bay Mini Amp, Klipsch RB51

Permalänk
Medlem
Skrivet av StefanLundgren:

Hej,

Nu ska vi se om jag kan förklara min utmaning här.

Jag har en kolumn (A) med lite över 2000 värden, samt en kolumn (X) med lite över 1000 värden.

Jag skulle vilja ha värden i kolumn X att visas i en ny kolumn (C) ifall kolumn A och X passar ihop, på samma rad som A.

Ex. I kolumn A, rad 3 finns värde 5, detta värde finns i kolumn X, fast på rad 768. Hur gör jag för att få detta värde att visas i kolumn C på rad 3?

Hänger ni med? Som lök på laxen så finns det tre färgkodningar i kolumn X som måste följa med. Så typ en 'Kopiera värde från X till C om det matchar med A'

Någon med excelvana som kan detta?

Hur menar du med olika färgkodningar?

Hur lång tid skulle det ta att lösa detta med manuellt arbete?

Måste lösningen vara i excel eller går det att kopiera in kolumn A i en lista, sedan kolumn X i en annan lista. Köra dem mot varandra där A[3] equals X [750] save in C(Row A)?

Permalänk
Medlem
Permalänk
Skrivet av Razki:

Hur menar du med olika färgkodningar?

Hur lång tid skulle det ta att lösa detta med manuellt arbete?

Måste lösningen vara i excel eller går det att kopiera in kolumn A i en lista, sedan kolumn X i en annan lista. Köra dem mot varandra där A[3] equals X [750] save in C(Row A)?

Där är tre färger, beroende på status på numret, grön, blå, röd.

Kolumn A är kopplad till cirka 15 andra kolumner, det är radvis som det hänger ihop.

Typ rad 1 innehåller 15 variabler som inte kan delas.

Manuellt vill jag inte ens tänka på, det tar nog en hel arbetsdag för mig...

Visa signatur

Bio: Denon AVC-X3700H - Emotiva XPA-2 - Revel F208 - T.Amp 1050 - Ino Audio pY-2
Dator: Rampage V Extreme, 5930K, Palit 2070 Super, Acer XB270HU, Asus Essence STX II, Sennheiser HD650, Kama Bay Mini Amp, Klipsch RB51

Permalänk

Plättlätt

=IF(ISERROR(MATCH(A1;$X:$X;0));0;A1)

A1 i början får du ersätta med första cellen du vill kolla
Ersätt X i $X:$X med kolumnen du vill jämföra mot
0 (före A1) är vad som skrivs ut om de inte finns nån matchning.
Stämmer resultatet skrivs värdet ut från cell A1 (i slutet på formeln)

Att matcha färgen från kolumn X kan nog va lite jävligare dock.

Permalänk
Medlem
Skrivet av Kaffeperkulator:

Plättlätt

=IF(ISERROR(MATCH(A1;$X:$X;0));0;A1)

A1 i början får du ersätta med första cellen du vill kolla
Ersätt X i $X:$X med kolumnen du vill jämföra mot
0 (före A1) är vad som skrivs ut om de inte finns nån matchning.
Stämmer resultatet skrivs värdet ut från cell A1 (i slutet på formeln)

Att matcha färgen från kolumn X kan nog va lite jävligare dock.

I all den stund man använder annan version än en svensk, avseende IF, ISERROR och MATCH. Den innehåller dock ";" istället för ",", vilket är OK.

Se även (i stort samma som ovan):
http://support.microsoft.com/kb/213367
Deras exempel:
=OM(ÄRFEL(MATCHA(A1,$C$1:$C$5,0)),"",A1)

Å andra sidan innehåller Microsofts snabböversättningar ibland fel (MATCHA ska vara PASSA och komma som sagt semikolon).

Kanske bättre med "" än 0.

Satt just och tittade på det, för den del TS önskade utöver indikering av match även position; format kan bli knivigare.

Permalänk

Hmm, detta kanske kan gå

Eller inte alls, jag skall testa Kaffeperkulators förslag och se.

Jag tackar och bugar för er hjälp

Visa signatur

Bio: Denon AVC-X3700H - Emotiva XPA-2 - Revel F208 - T.Amp 1050 - Ino Audio pY-2
Dator: Rampage V Extreme, 5930K, Palit 2070 Super, Acer XB270HU, Asus Essence STX II, Sennheiser HD650, Kama Bay Mini Amp, Klipsch RB51

Permalänk
Skrivet av Kaffeperkulator:

Plättlätt

=IF(ISERROR(MATCH(A1;$X:$X;0));0;A1)

A1 i början får du ersätta med första cellen du vill kolla
Ersätt X i $X:$X med kolumnen du vill jämföra mot
0 (före A1) är vad som skrivs ut om de inte finns nån matchning.
Stämmer resultatet skrivs värdet ut från cell A1 (i slutet på formeln)

Att matcha färgen från kolumn X kan nog va lite jävligare dock.

Ja, det funkade, nu får jag upp siffran där jag vill. Men som du skrev, så blir det jäfligare med färgen, så den försvinner.

Om jag delar upp kolumn X i tre kolumner, där jag lägger värden kopplat till färg, får det att göra något då?

Typ, om A1 finns i kolumn X, bli röd, om A1 finns i kolumn Y, bli blå och om A1 finns i kolumn Z, bli grön.

Visa signatur

Bio: Denon AVC-X3700H - Emotiva XPA-2 - Revel F208 - T.Amp 1050 - Ino Audio pY-2
Dator: Rampage V Extreme, 5930K, Palit 2070 Super, Acer XB270HU, Asus Essence STX II, Sennheiser HD650, Kama Bay Mini Amp, Klipsch RB51

Permalänk

Med VBA går de väl att lösa, men ett alternativ kanske kan vara att dela upp "svarskolumnen" i tre?
Om A1 finns i kolumn B lägg svaret i E1
Om A1 finns i kolumn C lägg svaret i D1
osv

Permalänk
Medlem

En ful lösning är att sortera kolumn X efter färg. Sen göra en kolumn Y där du skriver 1 på första färgen, 2 på andra färgen osv. Sortera sedan tillbaka den som den var, om det behövs (löpnr innan?).
Så du lägger till villkorsstyrd formatering som säger att cellen i kolumn A ska vara te.x röd =om(letarad(a1;kolumnX;2;falskt)=1)
Sen lägger du till en regel för varje färg.

Permalänk

Fortsätter man på det jag skrev sist går det att lösa i en fjärde kolumn med conditional formatting (Home>Styles).

Om du hängde med vad jag menade i förra inlägget så har du nu dina "svar" i tre kolumner, beroende på var den hittade det matchande värdet.
Vi har 7 kolumner än så länge

A - Värden att kolla

B - Gröna värden
C - Gula värden
D - Röda värden

E - Matchning mot grönt värde
F - Matchning mot gult värde
G - Matchning mot rött värde

I cell E1 kan du fylla i
=IF(ISERROR(MATCH($A1;B:B;0));0;$A1)
så är de bara att dra ut den formeln över alla celler i kolumn E, F och G så anpassar den sig mot kolumn B, C och D.
Alla celler som inte matchar kommer nu ha en nolla i sig.

För att samla ihop alla svaren i en kolumn istället använder vi en formel i kolumn H.
=IF(ISERROR(MATCH(A1;B:B;0));IF(ISERROR(MATCH(A1;C:C;0));IF(ISERROR(MATCH(A1;D:D;0));"";A1);A1);A1)
Det den gör är att kolla om vi har en matchning i kolumn E, F eller G. Finns det en matchning skriver den ut värdet, annars lämnar den cellen blank.
Lägg den i cell H1 och dra ut nedåt över hela kolumnen.

För att få med färgen använder oss av conditional formatting kolumn H.
Markera kolumn H och välj Manage rules (Home -> Styles -> Conditional formatting -> Manage rules), välj new rule och "Use a formula to determine which cells to format".
Som formel skriver du
=AND(AND(($E1>0); ($F1=0));($G1=0))
och sätter format grön cellfyllnad (Värdena i kolumn B jämförs med kolumn A och skrivs ut till kolumn E)

Gör två rules till,
=AND(AND(($E1=0); ($F1>0));($G1=0))
=AND(AND(($E1=0); ($F1=0));($G1>0))
och sätt färgen till gul respektive röd (kolumn C och D)

Permalänk

Finns ett och samma värde i fler än en av kolumnerna B, C eller D kommer det bli problem med färgkodningen dock.
Det går att lösa med fler rules dock, du kan sätta en fjärde färg och den finns med i fler än en kolumn då.

Edit: Ändra reglerna till
=E1>0
=F1>0
=G1>0
Då behåller cellen färgen även om värdet finns i fler kolumner. Så de beror lite på vad du är ute efter.

Permalänk
Medlem

Conditional formating?

Eller är den funktionen inte tillräckligt avancerad för det?
Tänker matcha nya kolumnen med X och ändra färg? Men den kanske inte kan kopiera färg?

Permalänk
Medlem

Hej,

Finns en funktion som heter letarad, denna borde kunna utföra det du vill, ifall jag förstått dej rätt. Kan ej svara på hur man skall flytta färgformateringen.

Permalänk
Medlem

På något vis känns det som VBA är det lämpligaste i detta fallet.

En loop som använder kolumn A som sökvärde och använder application.match.
Det ger radnr om matchning sker.

Med radnr kan man kopiera och använda interiörfärg med range.

EDIT: kan du lägga upp en "dummyworkbook" någon stans? Alltså några rader bara som visar upplägget på din fil och kanske ett blad med "resultat".
Det räcker med ca 10 rader och du kan maskera känslig data, bara det liknar varandra i upplägg.
Ska se om jag kan förhandla fram lite fritid ikväll, men det är fredag så jag tror inte jag får det.

Permalänk
Medlem
Skrivet av Agonotheta:

På något vis känns det som VBA är det lämpligaste i detta fallet.

En loop som använder kolumn A som sökvärde och använder application.match.
Det ger radnr om matchning sker.

Med radnr kan man kopiera och använda interiörfärg med range.

Exakt, min tanke också (därför sade att färg blir knivigt, då det inte beräknas i formler). Men mina kunskaper i VBA är minimala (brukar dock frekventera forum där verklig expertkunskap finns). Så ja, något med Interior object, CellFormat.Interior.

I det första exemplet ovan, av Kaffeperkulator, gav MS även en kodad variant; tittade på den och om man kunde kombinera det med annan kod. Fick dock lägga det åt sidan.

Permalänk
Medlem

Det är som sagt inte så svår kod.
Men det är alltid lättast att ha en dummyworkbook att jobba med.
Utan blir det oftast segt eftersom man inte kan se resultatet på sammma sätt.

En sak som jag undrat över är kolumn X, pratar vi där om kolumn X eller kolumn vilken som?
Anledningen till frågan är att det står beskrivet både som kolumn X och kolumn (X) i första inlägget.
En dummy så fixar jag detta ganska snabbt.

Permalänk
Medlem

Har TS trillat av planeten eller?