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

 
ForumForumDiskussionerDiskussionerExcelExcelOM -Special FormelOM -Special Formel
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2016-10-04 14:45
 

 Hej

Jag har en knepig sak jag vill försöka lösa genom OM formel, men vet inte om det går

Har två olika excel dokument, låt oss säga dokument A och dokument B

 

I dokument A har jag följande

Kolumn A: maskinnummer

Kolumn B: Tomt Fält (där för och efternamn skall fyllas i (kopplas till dokument B))

Kolumn C: maskintyp

Kolumn D: starttid 

 

I dokument B har jag följande:

Lista med personer, för och efternamn i samma cell och i kolumn A

 

Nu kommer frågan om formel:

När jag i kolumn B och dokument A fyller i ett av namn och efternamnet som finns i dokument B, låt oss säga Arne Andersson, skall den i dokument B veta vilket av namnet jag skrev och då i sin tur på samma rad som namnet finns i hämta värde från den raden namn och efternamn fylls i och ta med sig maskinnummer till dokument B och raden där Arne Andersson finns i kolumn B, hämta maskintyp från dokument A och den rad Arne Andersson fylldes i och sätta detta i kolumn C och slutligen göra samma sak med starttid till kolumn D

Jag vet att min beskrivning låter crazy så:

Dokument A:

Rad 1, Cell A: 345345 (maskinnummer), Rad 1, Cell B (här fyller jag i Arne Andersson), Rad 1, Cell C: TPX324 (maskintyp), Rad 1, Cell D: 06:00 (Starttid)

När jag då fyllt i Arne Andersson i Dokument A som jag skrev raden ovan så i 

Dokument B:

På samma rad där Arne Andersson finns, låt oss säga Rad 2 och Cell IA skall det:

I Rad 2 Cell B hämta värdet från Dokument A, Cell A och samma rad där Arne Andersson fylldes i 3345345 (maskinnummer)

I Rad 2 Cell B hämta värdet från Dokument A, Cell C och samma rad där Arne Andersson fylldes i TPX324 (maskintyp)

I Rad 2 Cell C hämta värdet från Dokument A, Cell D och samma rad där Arne Andersson fylldes i 06:00 (Starttid)

 

Är detta ens möjligt?

 

Tacksam för svar

Nytt inlägg
 2016-10-04 15:26
 
Det här är faktiskt något excel gillar, samtidigt som det KAN vara lite knöligt att förstå. Det är egentligen enkelt, men det ser rätt krångligt ut.

Om du hade haft namnet i kolumn A i Dokument A så kunde du ha använt en formel som heter LETARAD().
Den formeln gör precis vad det låter som. Leta rätt på vilken rad som har ett visst namn/löpnummer i kolumnen till vänster och returnerar värdet i den kolumn du är ute efter.

Men eftersom du spränger in namnet mitt i så får du krånglat till det litegrand.
Formeln PASSA() används för att leta reda på vilken rad ett värde finns på (låt os säga rad N) och den kan kombineras med formeln INDEX() som kan returnera ett värde från rad n.
Exempel:
Låt oss kalla Dokument A för blad1 istället, då kan du skriva in den här formeln i dokument B, cell B2
=INDEX(Blad1!A:A;PASSA(A2;Blad1!B:B;0))
I C2
=INDEX(Blad1!C:C;PASSA(A2;Blad1!B:B;0))
D2
=INDEX(Blad1!D:D;PASSA(A2;Blad1!B:B;0))

Om "DokumentA" är en helt annan fil (bok2 i det här exemplet) måste du lägga till filnamnet i formeln:

=INDEX([Bok2]Blad1!$A:$A;PASSA(A2;[Bok2]Blad1!$B:$B;0))

De här formlerna får du kopiera ner så långt de behövs i dokument B



Och som sagt var, om du kan få in namnet längst till vänster, i Kolumn A i blad1 istället:

Namn | maskinnummer | maskintyp | starttid

så blir formlerna mycket enklare att förstå:

=LETARAD($A2;Blad1!$A:$D;2;FALSKT)
=LETARAD($A2;Blad1!$A:$D;3;FALSKT)
=LETARAD($A2;Blad1!$A:$D;4;FALSKT)

Dvs:
*leta efter Värdet som står i A2
* kolla den "vänstraste" kolumnen i tabellen Blad1!$A:$D
* returnera värdet som står i kolumn 2 (ändra till 3 och 4 för maskintyp och starttid)
* FALSKT betyder att excel INTE får ta ett namn som liknar Arne Andersson, det måste vara en exakt träff

Nytt inlägg
 2016-10-04 15:27
 
 Ändrad av anonymous  på 2016-10-04 15:29:05
**blev en dubblett **


1 Rapporter 
Nytt inlägg
 2016-10-05 03:54
 

 Hej

Tack 

Jag får inte till själva formelnerna du gjort, men å andra sidan kanske jag gör fel

Det jag dock också undrar är hur jag skall få till formeln då varje person kan få någon av alla maskinnummer.

 

Vi säger att det är 150 maskiner och 150 personer. Av dessa 150 personer kan vem som helst placeras ut på någon av de 150 maskinerna. Så Arne Andersson kan hamna på maskin i rad 2, men likaså också i rad 145 eller var som helst. Var än han hamnar skall det på andra dokumentet kunna synas bredvid hans namn vart han hamnat.

 

Dokumentet är tänkt jag skall kunna placera ut ett namn på någon av de 150 maskinerna, och när jag gjort den och sparat skall det i andra dokumentet där alla namn är, kunna gå in och se vad namnet har fått för maskin, maskintyp och starttid.

Är detta möjligt?

Nytt inlägg
 2016-10-05 03:57
 
 Ändrad av TomTim  på 2016-10-05 04:14:51

*Hängde sig och blev tre inlägg*

Nytt inlägg
 2016-10-05 04:01
 
 Ändrad av TomTim  på 2016-10-05 04:14:20

*Hängde sig och blev tre inlägg*

Nytt inlägg
 2016-10-05 12:42
 
Jag ser ju inte dina blad så jag kanske missförsår något. Men vi nöjer oss med maskinnumret för det här exemplet.
Du har din lista med maskinnummer osv i fliken "blad1" (jag utgår ifrån att du fyllt i listan med några namn)

I Blad2 så har du skrivit namnet i cell A2 (kolumn A, rad2)
Då kan du klistra in den här formeln i cell B2:
=INDEX(Blad1!A:A;PASSA(A2;Blad1!B:B;0))
nu skall den hämta det maskinnummer som stämmer med namnet i A2 på blad2.
kopiera formeln så många rader det behövs. kolla youtube om du är osäker på hur man gör:

https://www.youtube.com/watch?v=zcA9MMskIRg

Testa tills du får maksinnummret att fungera som du vill, sen kan du kolla de andra formlerna, det är precis samma princip



PS: du kan testa de olika delarna av formeln
=PASSA(A2;Blad1!B:B;0)
tar namnet som står i cell A2 och tittar i blad1, kolumn B efter samma namn. Sen returnerar den vilken rad som ditt namn står på. Index hämtar sedan värdet från samma rad i kolumnA (i bok1).

Nytt inlägg
 2016-10-05 18:57
 

 Grymt

Tack så mycket

Nu bara en återstående fråga, när inget är ifyllt står det #SAKNAS!

Jag förstår varför, men går det att lägga in i formeln att det blir tomt i rutan istället??

//Tommy

Nytt inlägg
 2016-10-06 04:53
 

 Hej Igen

Glömde fråga i mitt senaste inlägg, så jag gör en tilläggsfråga

 

I formeln som nu funkar, så skulle jag gärna vilja antingen plusa på nytt blad, så att jag kan dela upp maskinerna i olika kategorier, men att oavsett om jag skriver in blad ett på någon maskin eller i blad 2, skall den ge samma resultat på namnet

Alltså:

I blad 3 har jag formeln du gav mig som är: =INDEX(Blad1!A:A;PASSA(A2;Blad1!B:B;0))

Formeln går till Blad 1, men kan man också lägga in Blad 2 i? så det blir både och?

Alternativt om man kör bara på Blad1 men man utökar att den letar efter A kolumn och H kolumn i samma formel exempelvis?

Tack på förhand

/Tommy

Nytt inlägg
 2016-10-06 12:48
 
om du har en någorlunda ny excel kan du använda OMFEL()
OMFEL(en formel;värde om fel)
om formeln ger ett svar så ges det, annars det man skriver. I ditt exempel:

=OMFEL(INDEX(Blad1!A:A;PASSA(A2;Blad1!B:B;0));"")

dvs den ger svaret "" om indexformeln blir fel ("" brukar användas när man skriver en formel och vill ha en tom cell, Det är i princip = ingenting, fast inte riktigt... ehhh vi struntar i det nu, om du bara vill ha en cell som ser tom ut så är det rätt sak att skriva).
Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelOM -Special FormelOM -Special Formel

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