Avatar billede redfan Juniormester
21. februar 2017 - 09:29 Der er 13 kommentarer og
1 løsning

Hvis felt udfyldt, vis foregående felter

Hej

Har dette ark
https://www.dropbox.com/s/btxnvi6ou2ri8em/Timeseddel%202017%20test.xlsx?dl=0
Jeg vil gerne at når man taster noget i et bem felt at der så kommer dato frem, samt at den fortæller om det er sygdom, ferie osv.
Se eksempel i arket.

Hvad har i af løsninger, kan hvis funktion gøre det eller skal der laves en makro eller lign.

Hit me :-)
Avatar billede xl-Enthusiast Ekspert
21. februar 2017 - 15:57 #1
Hvad angår fomelbygning til det ønskede, så er dit design, undskyld mig, næsten så håbløst som det kan blive. Du burde efter min mening genoverveje hele din opstilling, for eksempel sådan, at du har alle dine data i ét sammenhængende område (og undgå for alt i verden at "flette og centrere").
Avatar billede vegaz Juniormester
21. februar 2017 - 21:45 #2
Jeg må give den anden bruger ret, jeg vil lave mit layout om.

Du kan bruge en array formula. Med det sagt, så bliver det lidt anderledes end hvordan du gerne vil have det. Jeg har ikke tid til at kigge mere på det, men prøv dette:

Lav f.eks. en header der hvor du har skrevet "eks" og kald den "Syg"
Indsæt denne som en array formula, dvs. paste den ind i dit formel vindue og så tryk SHIFT+CTRL+ENTER og du vil se at den får brackets omkring {formlen}
=IFERROR(INDEX($O$12:$O$18; SMALL(IF($V$6=$S$12:$S$18; ROW($S$12:$S$18)-MIN(ROW($S$12:$S$18))+1; ""); ROW(A1))); "")
Denne formel vil så vise alle datoer fra kolonne S12 til S18 hvor der står "S".
I kolonnen ved siden af denne formel, indsætter du så denne formel (også som et array):
=IFERROR(IF(INDEX($S$12:$S$18; SMALL(IF($V$6=$S$12:$S$18; ROW($S$12:$S$18)-MIN(ROW($S$12:$S$18))+1; ""); ROW(B1)))="S"; "SYG";"");"FEJL HUSK ARRAY FORMEL")

Nu kan du bare trække dem begge ned (Auto Fill). Husk at dette kun gælder for S12-S18. Dvs. du skal ændre dette til at gælde din anden kolonne. Du kan ændre dit design sådan at du har januar i 1 kolonne, februar i en anden kolonne osv.
Husk at i den kolonne som viser årsagen til fravær, skal du ændre SMALL(IF(V6 til den årsag det nu skal være samtidig skal du ændre ROW(B1)))="S" til det bogstav(er) der bruges.
Avatar billede redfan Juniormester
22. februar 2017 - 11:36 #3
Kan godt se hvad i mener med designet, i forhold til at gøre det nemt, har lavet det om nu. Det var dog lavet ud fra at de brugere der er til det, skulle have det nemt og overskueligt

#Vegaz dit forslag virker super fint, dog villle jeg ønske at jeg kunne smide F, FF, H, A & B med i samme kode.
Har nu erstattet S12:s18 med G14:G61
Der er KUN F, FF H, A,S eller B i dette område nu, så tænker den hvis der blot kommer et tegn frem i området, skal den komme med dato

Samt sidste kode, kan vel kombineres med "S"; "SYG"
"F"; "Ferie"
"FF"; "Feriefridag"
"A"; "Afspadsering"
"H"; "Helligdag"
"B"; "Barnetes 1. sygdag"
Avatar billede vegaz Juniormester
22. februar 2017 - 13:21 #4
Du har ret, det kan godt kombineres som du gerne vil have det. Jeg har desværre ikke så meget tid til at teste det:
Igen en array formel - jeg har brug + tegnet, det er nemlig det samme som OR.
(($V$6=$S$12:$S$18)+($V$5=$S$12:$S$18)+(NYT KRIT)+(NYT KRIT ETC))

=IFERROR(INDEX($O$12:$O$18; SMALL(IF((($V$6=$S$12:$S$18)+($V$5=$S$12:$S$18)); ROW($S$12:$S$18)-MIN(ROW($S$12:$S$18))+1; ""); ROW(A1))); "")

Kigger lige på det andet med SYG, osv. senere
Avatar billede vegaz Juniormester
22. februar 2017 - 13:44 #5
Nå nu begynder vi at skulle holde tungen lige i munden :-)
Du kan bruge ALT+ENTER til at lave line break i dit formel vindue, så er det lidt mere overskueligt.
Jeg har kun lige lavet den med 3 kriterier, så det må du lige selv udfylde. Husk det skal gøres i alle IF-statementsne.

Her er formlen:

=IFERROR(IF(INDEX($S$12:$S$18; SMALL(IF((($V$6=$S$12:$S$18)+($V$5=$S$12:$S$18)+($V$4=$S$12:$S$18)); ROW($S$12:$S$18)-MIN(ROW($S$12:$S$18))+1; ""); ROW(A4)))="S";"SYG";
IF(INDEX($S$12:$S$18; SMALL(IF((($V$6=$S$12:$S$18)+($V$5=$S$12:$S$18)+($V$4=$S$12:$S$18)); ROW($S$12:$S$18)-MIN(ROW($S$12:$S$18))+1; ""); ROW(A4)))="A";"AFSPADSERING";
IF(INDEX($S$12:$S$18; SMALL(IF((($V$6=$S$12:$S$18)+($V$5=$S$12:$S$18)+($V$4=$S$12:$S$18)); ROW($S$12:$S$18)-MIN(ROW($S$12:$S$18))+1; ""); ROW(A4)))="H";"HELLIGDAG";
"FEJL HUSK ARRAY FORMEL")));"FEJL IFERROR")

Du skal gøre for at få nye kriterier med er at indsætte denne formel for hvert nyt kriterium, der hvor der står "FEJL HUSK ARRAY FORMEL".:
IF(INDEX($S$12:$S$18; SMALL(IF((($V$6=$S$12:$S$18)+($V$5=$S$12:$S$18)+($V$4=$S$12:$S$18)); ROW($S$12:$S$18)-MIN(ROW($S$12:$S$18))+1; ""); ROW(A4)))="H";"HELLIGDAG";
"FEJL HUSK ARRAY FORMEL")
Avatar billede redfan Juniormester
23. februar 2017 - 09:34 #6
har fået første del til at virke, men den sidste siger den at jeg har angivet for mange argumenter?

=HVIS.FEJL(HVIS(INDEKS($G$14:$G$61; MINDSTE(HVIS((($V$2=$G$14:$G$61)+($V$3=$G$14:$G$61)+($V$4=$G$14:$G$61)+($V$5=$G$14:$G$61)+($V$6=$G$14:$G$61)+($V$7=$G$14:$G$61)); RÆKKE($G$14:$G$61)-MIN(RÆKKE($G$14:$G$61))+1; ""); RÆKKE(B1)))="";"Ferie";
HVIS(INDEKS($G$14:$G$61; MINDSTE(HVIS((($V$2=$G$14:$G$61)+($V$3=$G$14:$G$61)+($V$4=$G$14:$G$61)+($V$5=$G$14:$G$61)+($V$6=$G$14:$G$61)+($V$7=$G$14:$G$61)); RÆKKE($G$14:$G$61)-MIN(RÆKKE($G$14:$G$61))+1; ""); RÆKKE(B1)))="FF";"Feriefridag";
HVIS(INDEKS($G$14:$G$61; MINDSTE(HVIS((($V$2=$G$14:$G$61)+($V$3=$G$14:$G$61)+($V$4=$G$14:$G$61)+($V$5=$G$14:$G$61)+($V$6=$G$14:$G$61)+($V$7=$G$14:$G$61)); RÆKKE($G$14:$G$61)-MIN(RÆKKE($G$14:$G$61))+1; ""); RÆKKE(B1)))="H";"Helligdag";HVIS(INDEKS($G$14:$G$61; MINDSTE(HVIS((($V$2=$G$14:$G$61)+($V$3=$G$14:$G$61)+($V$4=$G$14:$G$61)+($V$5=$G$14:$G$61)+($V$6=$G$14:$G$61)+($V$7=$G$14:$G$61)); RÆKKE($G$14:$G$61)-MIN(RÆKKE($G$14:$G$61))+1; ""); RÆKKE(B1)))="S";"SYG";HVIS(INDEKS($G$14:$G$61; MINDSTE(HVIS((($V$2=$G$14:$G$61)+($V$3=$G$14:$G$61)+($V$4=$G$14:$G$61)+($V$5=$G$14:$G$61)+($V$6=$G$14:$G$61)+($V$7=$G$14:$G$61)); RÆKKE($G$14:$G$61)-MIN(RÆKKE($G$14:$G$61))+1; ""); RÆKKE(B1)))="B";"Barnets 1. Sygdag";
"FEJL HUSK ARRAY FORMEL")));"FEJL HVIS.FEJL")
Avatar billede redfan Juniormester
23. februar 2017 - 09:43 #7
lidt nemmere at se her måske

=HVIS.FEJL(HVIS(INDEKS($G$14:$G$61; MINDSTE(HVIS(((($V$7=$G$14:$G$61)+$V$6=$G$14:$G$61)+($V$5=$G$14:$G$61)+($V$4=$G$14:$G$61)+($V$3=$G$14:$G$61)+($V$2=$G$14:$G$61)); RÆKKE($G$14:$G$61)-MIN(RÆKKE($G$14:$G$61))+1; ""); RÆKKE(B1)))="S";"SYG";
HVIS(INDEKS($G$14:$G$61; MINDSTE(HVIS(((($V$7=$G$14:$G$61)+$V$6=$G$14:$G$61)+($V$5=$G$14:$G$61)+($V$4=$G$14:$G$61)+($V$3=$G$14:$G$61)+($V$2=$G$14:$G$61)); RÆKKE($G$14:$G$61)-MIN(RÆKKE($G$14:$G$61))+1; ""); RÆKKE(B1)))="F";"Ferie";
HVIS(INDEKS($G$14:$G$61; MINDSTE(HVIS(((($V$7=$G$14:$G$61)+$V$6=$G$14:$G$61)+($V$5=$G$14:$G$61)+($V$4=$G$14:$G$61)+($V$3=$G$14:$G$61)+($V$2=$G$14:$G$61)); RÆKKE($G$14:$G$61)-MIN(RÆKKE($G$14:$G$61))+1; ""); RÆKKE(B1)))="FF";"Feriefridag";
HVIS(INDEKS($G$14:$G$61; MINDSTE(HVIS(((($V$7=$G$14:$G$61)+$V$6=$G$14:$G$61)+($V$5=$G$14:$G$61)+($V$4=$G$14:$G$61)+($V$3=$G$14:$G$61)+($V$2=$G$14:$G$61)); RÆKKE($G$14:$G$61)-MIN(RÆKKE($G$14:$G$61))+1; ""); RÆKKE(B1)))="H";"Helligdag";
HVIS(INDEKS($G$14:$G$61; MINDSTE(HVIS(((($V$7=$G$14:$G$61)+$V$6=$G$14:$G$61)+($V$5=$G$14:$G$61)+($V$4=$G$14:$G$61)+($V$3=$G$14:$G$61)+($V$2=$G$14:$G$61)); RÆKKE($G$14:$G$61)-MIN(RÆKKE($G$14:$G$61))+1; ""); RÆKKE(B1)))="A";"Afspadsering";
HVIS(INDEKS($G$14:$G$61; MINDSTE(HVIS(((($V$7=$G$14:$G$61)+$V$6=$G$14:$G$61)+($V$5=$G$14:$G$61)+($V$4=$G$14:$G$61)+($V$3=$G$14:$G$61)+($V$2=$G$14:$G$61)); RÆKKE($G$14:$G$61)-MIN(RÆKKE($G$14:$G$61))+1; ""); RÆKKE(B1)))="B";"Barnets 1. sygdag";
"FEJL HUSK ARRAY FORMEL")));"FEJL HVIS.FEJL")
Avatar billede vegaz Juniormester
23. februar 2017 - 11:49 #8
Du mangler paranteser. En for hvert kriterium dvs. 5 og 1 til at lukke alt ting ( til allersidst = 6.
"FEJL HUSK ARRAY FORMEL")))))
Avatar billede redfan Juniormester
23. februar 2017 - 12:22 #9
Så blev der sat lidt flueben, nu kommer den med Fejl hivs.fejl
Kan ikke lure hvor de sidste skal på

=HVIS.FEJL(
HVIS(INDEKS($G$14:$G$61; MINDSTE(HVIS(((($V$7=$G$14:$G$61)+$V$6=$G$14:$G$61)+($V$5=$G$14:$G$61)+($V$4=$G$14:$G$61)+($V$3=$G$14:$G$61)+($V$2=$G$14:$G$61)); RÆKKE($G$14:$G$61)-MIN(RÆKKE($G$14:$G$61))+1; ""); RÆKKE(B1)))="S";"SYG";
HVIS(INDEKS($G$14:$G$61; MINDSTE(HVIS(((($V$7=$G$14:$G$61)+$V$6=$G$14:$G$61)+($V$5=$G$14:$G$61)+($V$4=$G$14:$G$61)+($V$3=$G$14:$G$61)+($V$2=$G$14:$G$61)); RÆKKE($G$14:$G$61)-MIN(RÆKKE($G$14:$G$61))+1; ""); RÆKKE(B1)))="F";"Ferie";
HVIS(INDEKS($G$14:$G$61; MINDSTE(HVIS(((($V$7=$G$14:$G$61)+$V$6=$G$14:$G$61)+($V$5=$G$14:$G$61)+($V$4=$G$14:$G$61)+($V$3=$G$14:$G$61)+($V$2=$G$14:$G$61)); RÆKKE($G$14:$G$61)-MIN(RÆKKE($G$14:$G$61))+1; ""); RÆKKE(B1)))="FF";"Feriefridag";
HVIS(INDEKS($G$14:$G$61; MINDSTE(HVIS(((($V$7=$G$14:$G$61)+$V$6=$G$14:$G$61)+($V$5=$G$14:$G$61)+($V$4=$G$14:$G$61)+($V$3=$G$14:$G$61)+($V$2=$G$14:$G$61)); RÆKKE($G$14:$G$61)-MIN(RÆKKE($G$14:$G$61))+1; ""); RÆKKE(B1)))="H";"Helligdag";
HVIS(INDEKS($G$14:$G$61; MINDSTE(HVIS(((($V$7=$G$14:$G$61)+$V$6=$G$14:$G$61)+($V$5=$G$14:$G$61)+($V$4=$G$14:$G$61)+($V$3=$G$14:$G$61)+($V$2=$G$14:$G$61)); RÆKKE($G$14:$G$61)-MIN(RÆKKE($G$14:$G$61))+1; ""); RÆKKE(B1)))="A";"Afspadsering";
HVIS(INDEKS($G$14:$G$61; MINDSTE(HVIS(((($V$7=$G$14:$G$61)+$V$6=$G$14:$G$61)+($V$5=$G$14:$G$61)+($V$4=$G$14:$G$61)+($V$3=$G$14:$G$61)+($V$2=$G$14:$G$61)); RÆKKE($G$14:$G$61)-MIN(RÆKKE($G$14:$G$61))+1; ""); RÆKKE(B1)))="B";"Barnets 1. sygdag";
"FEJL HUSK ARRAY FORMEL"))))));"FEJL HVIS.FEJL")
Avatar billede vegaz Juniormester
23. februar 2017 - 12:31 #10
Husk den skal indtastes som en array formular. SHIFT+CTRL+ENTER
Avatar billede redfan Juniormester
23. februar 2017 - 12:37 #11
Det er den også, der kommer de 2 tegn foran og begved
Avatar billede vegaz Juniormester
23. februar 2017 - 12:57 #12
Jeg har lige prøvet denne formel og den virker hos mig :-)
Du skal være opmærksom på at ROW(A1))) er den første entry, næste bliver så A2, A3, osv. Nu kigger den kun i kolonne S12-S18, men det skal du så ændre.
Jeg kan du har Excel med danske formler, men http://www.piuha.fi/excel-function-name-translation/index.php?page=dansk-english.html burde kunne hjælpe.

=IFERROR(
IF(INDEX($S$12:$S$18; SMALL(IF((($V$7=$S$12:$S$18)+($V$6=$S$12:$S$18)+($V$5=$S$12:$S$18)+($V$4=$S$12:$S$18)+($V$3=$S$12:$S$18)+($V$2=$S$12:$S$18)); ROW($S$12:$S$18)-MIN(ROW($S$12:$S$18))+1; ""); ROW(A1)))="S";"SYG";
IF(INDEX($S$12:$S$18; SMALL(IF((($V$7=$S$12:$S$18)+($V$6=$S$12:$S$18)+($V$5=$S$12:$S$18)+($V$4=$S$12:$S$18)+($V$3=$S$12:$S$18)+($V$2=$S$12:$S$18)); ROW($S$12:$S$18)-MIN(ROW($S$12:$S$18))+1; ""); ROW(A1)))="A";"AFSPADSERING";
IF(INDEX($S$12:$S$18; SMALL(IF((($V$7=$S$12:$S$18)+($V$6=$S$12:$S$18)+($V$5=$S$12:$S$18)+($V$4=$S$12:$S$18)+($V$3=$S$12:$S$18)+($V$2=$S$12:$S$18)); ROW($S$12:$S$18)-MIN(ROW($S$12:$S$18))+1; ""); ROW(A1)))="H";"HELLIGDAG";
IF(INDEX($S$12:$S$18; SMALL(IF((($V$7=$S$12:$S$18)+($V$6=$S$12:$S$18)+($V$5=$S$12:$S$18)+($V$4=$S$12:$S$18)+($V$3=$S$12:$S$18)+($V$2=$S$12:$S$18)); ROW($S$12:$S$18)-MIN(ROW($S$12:$S$18))+1; ""); ROW(A1)))="F";"FERIE";
IF(INDEX($S$12:$S$18; SMALL(IF((($V$7=$S$12:$S$18)+($V$6=$S$12:$S$18)+($V$5=$S$12:$S$18)+($V$4=$S$12:$S$18)+($V$3=$S$12:$S$18)+($V$2=$S$12:$S$18)); ROW($S$12:$S$18)-MIN(ROW($S$12:$S$18))+1; ""); ROW(A1)))="FF";"Feriefridage";
IF(INDEX($S$12:$S$18; SMALL(IF((($V$7=$S$12:$S$18)+($V$6=$S$12:$S$18)+($V$5=$S$12:$S$18)+($V$4=$S$12:$S$18)+($V$3=$S$12:$S$18)+($V$2=$S$12:$S$18)); ROW($S$12:$S$18)-MIN(ROW($S$12:$S$18))+1; ""); ROW(A1)))="B";"Barnets 1. syg.";
"FEJL HUSK ARRAY FORMEL"))))));"FEJL IFERROR")
Avatar billede redfan Juniormester
23. februar 2017 - 13:34 #13
hold kæft hvor er du god.
Havde du været en kvinde fik du et kæmpe kys:-)

Jeg takker mange gange
Avatar billede vegaz Juniormester
23. februar 2017 - 14:44 #14
Du kan selvfølgelig bare rette "FEJL IFERROR" til "IKKE FLERE BOGSTAVER I BEM" eller lign :-) Glad for det virkede.
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