Avatar billede Rasmusjc Juniormester
13. december 2017 - 22:22 Der er 19 kommentarer

Indhent data fra andet excel ark

Hej Folkens

Nu gik det forrygende med mit sidste excel spørgsmål og det har sparet mig for en del tid så nu prøver jeg med den her som nok er lidt sværere.

Men sagen er den at jeg har denne udlejningsplan.
Når der er en udlejning bliver der lavet en lejekontrakt.
I denne lejekontrakt har jeg allerede skrevet ind med navn, adresse, og hvad der bliver udlejet, fragt ect.

Jeg synes det kunne være lidt smart hvis jeg kunne undgå at skrive det over i udlejningsplanen og slippe for at skrive det 2 gange.

Eftersom vi er en frivillig forening bliver udlejningsplanen sendt ud en gang om ugen og derfor vil jeg helst at det er 2 forskellige dokumenter.

Jeg har lavet et link med et udsnit af udlejningsplanen
https://imgur.com/gr0cUjk

Her tænker jeg at hvis jeg skriver udlejning nr. 1, så skal arket søge i en mappe efter regneark nr.1
Hvis dette er opfyldt så skal udlejningsplanen finde navnet i "nr. 1" altså en bestemt kolonne ect.

Foruden det skal udlejningsplanen undersøge de forskellige kolonner i nr. 1. med f.eks stole og indsætte dem i udlejningsplanen hvis der er skrevet nogle på.

https://imgur.com/a/ZSz4v

Jeg har arbejdet med Hvis funktionen og jeg forventer ikke en skræddersyet ark men hjælp til lige at komme igang.

Så er det overhovedet muligt? Og hvordan skal jeg lige starte op på at få udlejningsplanen til at hente data fra udlejning nr. 1?

På forhånd tak.
Avatar billede kim1a Ekspert
13. december 2017 - 23:20 #1
Det med at søge i et ark alt efter udlejningsnummer kan løses med "indirekte" formlen. Du kan evt. have en opslagsliste der har oversættelsen mellem udlejning nr. 1 og arknavnet/kolonnen den skal søge i.
Avatar billede Rasmusjc Juniormester
17. december 2017 - 17:09 #2
Tak Kim, vil lige undersøge mulighederne med den funktion.
Avatar billede Rasmusjc Juniormester
17. december 2017 - 17:54 #3
Har du mulighed for at skrive formlen der passer til følgende

regneark1 og regneark2

Hvis der i regneark1 (A1) står 1

Så skal der hentes Data fra regneark2 (B2) denne data skal indsættes i regneark1 på plads B2

Håber det giver mening.
Avatar billede kim1a Ekspert
18. december 2017 - 08:13 #4
=if(regneark1!A1=1;regneark2!B2;"")

if = hvis på dansk version. Skriv formlen i regneark plads B2
Avatar billede Rasmusjc Juniormester
18. december 2017 - 21:01 #5
Tak Kim
HVIS funktionen har jeg brugt i andre regneark, havde ikke lige tænkt at jeg kunne bruge den til at hente data fra en andet regneark, men det er sådan set fint til mit formål.

Har dog lige et spørgsmål til HViS-funktionen.

Har lavet følgende formel.

D6 =HVIS(D24=1;[1.xlsx]Prisliste!D4;HVIS(D24=2;[2.xlsx]Prisliste!D4;HVIS(D24=3;[3.xlsx]Prisliste!D4;"")))

Jeg skal have lavet D24 sådan at det går op til 40 da vi har 30+ udlejninger. Altså D24=4.... D24=5.... D24=6 ....osv
Jeg tænker ikke der er nogle nemme måder at lave det på end copy - past og ændre tallene så de tæller en højere med hver HVIS funktion indtil 40?

Når jeg så sætter den funktionen ind i mit regneark, skal den stå så den som her
i kolonne D6, F6, H6 ect og ligeledes i D27, F27, H27 ect.

Dvs. jeg fra kolonne D6 med =HVIS(D24... I F6 skal ændres til =HVIS(F24...

Er der nogen nem måde at komme over det her?
Jeg har 52 uger hvor formlen skal stå 5 gange, så hvis der er en nem måde, ellers må jeg bruge søg/erstat funktionen og så bruge den efter hver uge?

Når jeg har lavet funktionen og den returner fra mit Prisliste ark. Hvis dette felt er tomt returnere men med 0 kan dette ændres sådan at kolonnen returneres med blank fremfor 0?

Håber at mine spørgsmål gav mening :)
Avatar billede kim1a Ekspert
19. december 2017 - 09:00 #6
Der må være en nemmere måde end det du påpeger. Har du ikke mulighed for at uploade en relativt tom løsning af arket, så vil jeg gerne se på problemet.

En måde kan være at bruge indirekte formlen, men jeg kan ikke helt greje hvordan det vil fungere smartest. En anden måde kunne være at skrive din hvis sætning (med kun et kriterie) i en anden fane og så lave en form for valgmulighed.

Kan du uploade arket, f.eks. til dropbox?
Avatar billede Mads32 Ekspert
19. december 2017 - 10:16 #7
Hej

Et svar på dit spørgsmål:

Når jeg har lavet funktionen og den returner fra mit Prisliste ark. Hvis dette felt er tomt returnere men med 0 kan dette ændres sådan at kolonnen returneres med blank fremfor 0?

Lav en formatering af cellerne, som for eksempel med ikonet 000 på faneblad "Startside", og  fjern eventuel tal efter komma. Hvis cellen er tom vises der -.
Avatar billede Rasmusjc Juniormester
19. december 2017 - 10:29 #8
Kim jeg uploader det lige her i eftermiddag.

Tak Mads det prøver jeg lige..
Avatar billede Rasmusjc Juniormester
19. december 2017 - 18:14 #9
Så har jeg fået det lagt over i DB

https://www.dropbox.com/sh/rbjkh5v4nwykdeq/AAD0hUXExn66zJnP7QWwoWp_a?dl=0

Først bruger jeg lejekontrakten skriver det ind der skal skrives ind, gemmer som 1, 2 osv.

Ind i udlejningsplanen og taster 1 eller 2 i feltet (har markeret det inde så det er til at finde) og derefter henter den data fra lejekontrakten ind der også.

Så jeg kun skal skrive informationerne ind 1 gang og lige notere hvilken udlejning vi har med at gøre i den uge det passer med og så skulle det bare køre.
Avatar billede kim1a Ekspert
20. december 2017 - 14:09 #10
Jeg har nu lavet en indirekte formel til dig:

=IF(INDIRECT("'C:\Users\M68780\Downloads\["&D24&".xlsx]Prisliste'!D4")="";"";INDIRECT("'C:\Users\M68780\Downloads\["&D24&".xlsx]Prisliste'!D4"))

Din eneste udfordring er så at du lige skal rette D4 på hver linje første gang. Jeg håber du selv kan oversætte formlen. bemærk at formlen jo henviser til downloads på min bruger, så du skal lige selv se stien.
Sig til hvis det ikke giver mening.
Avatar billede Rasmusjc Juniormester
20. december 2017 - 21:22 #11
Jeg forstår ikke selve indirekte funktionen.

Hvilket et af arkene skal jeg sætte den ind?
Og fungere den på samme måde som HVIS funktionen.

Du må gerne lige forklarer mig det.
Avatar billede kim1a Ekspert
21. december 2017 - 08:13 #12
Du skal sætte indirekte formlen ind i hver enkelt celle du vil hente data i (istedet for din lange hvis funktion)

Indirekte fungerer på den måde at den omdanner hvad du skriver inden formlen udenom beregnes.

Det vil sige at =sum(indirekte(A4):B8) svarer til sum(B2:B8) forudsat der står "B2" i celle A4. PÅ den måde kan jeg bruge tallet i cellen i bunden til at skabe referencen til det faneblad du vil bruge.
Cellen bliver derved reelt set navn på filen og resten i anførselstegn er stien og "efternavnet".
C:\downloads\2.xlsx er filens fulde sti. "C:\downloads\&B10&".xlsx" er derfor det samme hvis der står 2 i B10.
Avatar billede Rasmusjc Juniormester
21. december 2017 - 22:28 #13
Det er da næsten perfekt det der Kim

Har godt nok lige brugt et par timer på at få det hele til at sive ind, men det er da langt nemmere end alle mine HVIS funktioner.

Den ene ting der gjorde at jeg ikke kunne få formlen til at virke i første omgang var at jeg jo ændrede IF -> HVIS, men jeg fik ikke ændret INDIRECT -> INDIREKTE så formlen ville ikke fungere korrekt indtil jeg fandt fejlen.

Nu har jeg også lært at bruge FN+F4 tasten til at låse cellerne med, hvilket gør at jeg ikke hele tiden skal omskrive referencerne.

Dog har jeg lige et par ting jeg undre mig over, og ikke kan løse.

Hvorfor hedder slutningen, dvs. hvis værdien er falsk, samme sti, som hvis værdien er sand?

Jeg ved ikke om det er for bare at få et blankt felt, det nemlig mit næste problem.

Hvis der ikke står noget i D24 så returnere den med #REFERENCE!

Hvis der ikke står noget i 1.xlsx på plads D4 som der jo henvises til, så returnere den med 43101 og det er jo ikke altid alle felterne er udfyldte.
Hvis der f.eks kun er lejet stole ud, vil de andre felter jo være blanke.
Avatar billede kim1a Ekspert
22. december 2017 - 00:51 #14
Det var netop for at tomme felter gjorde at den fortsat var tom. Mystisk at den skriver reference.

Kan udfordringen være noget med om filen er åben eller ej?
Avatar billede Rasmusjc Juniormester
22. december 2017 - 07:07 #15
Okay ser lige på det i weekenden.

Du skal have mange tak for hjælpen. Det har gjort det hele en del nemmere for mig
Avatar billede Rasmusjc Juniormester
24. december 2017 - 15:17 #16
Kim jeg har været ved at se lidt på den funktion.

Jeg fandt også løsningen på at den skulle returnere med "blank" frem for 43101. Det var et sæt "" der lige ordnede den del.

Dog har jeg været ved at læse omkring #reference delen, og problemet, og her kommer det store problem nok også med denne funktion i forhold til min ide.
Er at INDIRECT-funktionen kun kan bruges med åbne ark.
Det vil sige at har jeg 30 udlejninger der skal skrives over i udlejningsplanen, så skal disse være åbne, og igen render jeg så i problemer når jeg sender udlejningsplanen ud for så vil det ikke være muligt se noget og det hele vil være en stor #reference

Tænker om der er en anden funktion man kunne bruge eller om det det er muligt at komme uden om denne "opdatering af ark"-process når man ikke har åbne ark.
Avatar billede kim1a Ekspert
26. december 2017 - 15:58 #17
Jeg tror du skal oprette et nyt spørgsmål så, og høre muligheder. Jeg ser det kun muligt med vba.
Avatar billede bjarnehansen Seniormester
27. januar 2018 - 20:32 #18
jeg hopper lige med på denne - hvad hvis det ark man skal hente fra ikke er åbent?
Avatar billede Rasmusjc Juniormester
27. januar 2018 - 21:00 #19
Det var lidt der den endte Bjarne. Den kan ikke hente data ind med mindre arket er åbent.

Ved ikke hvilken funktion man skal bruge og om det overhovedet er muligt med excel har ikke fået oprettet et nyt spørgsmål.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester