Avatar billede perhol Seniormester
09. januar 2008 - 01:55 Der er 14 kommentarer og
1 løsning

'Udvidelse' af indviklet HVIS formel

Jeg bruger denne formel til at hente data over i et andet ark fra en vagtplan, hvis enten D4 eller E4 i vagtplanen er tomme.

=HVIS(ELLER(ER.TOM(Uge1!D4);(ER.TOM(Uge1!E4)));"";
HVIS(MINUT(Uge1!D4)>0;TIME(Uge1!D4)&"."&MINUT(Uge1!D4);
TIME(Uge1!D4))&"-"&HVIS(MINUT(Uge1!E4)>0;
TIME(Uge1!E4)&"."&MINUT(Uge1!E4);TIME(Uge1!E4))&" "&Uge1!F4)

(Ignorer linjeskift i formlen)

Det drejer sig om et mindre system til vagtplanlægning.

Vagtplanen henter data fra en rulleplan i samme workbook.

Der hentes møde og sluttider, samt evt. en vagtplankode.

Nu skal man jo sikre sådan en ting mod brugerne ;-)

De kan f.eks finde på kun at ændre en vagtplankode, hvis f.eks. en ansat skal afspadsere en dag, hvor de formodes også at skrive nye møde og sluttider ind.

Derfor vil jeg gerne have at formlen undersøger om vagtplankoden i vagtplanen er forskellig fra vagtplankoden i rulleplanen.

Den nuværende kode undersøger om D4 eller E4 i vagtplanen er tomme. I så fald skal cellen i det endelige ark også være tom. Men nu søger jeg altså en udvidelse af formlen, der undersøger om vagtplankoden i vagtplanen er forskellig fra vagtplankoden i rulleplanen hvis D4 eller E4 er tomme. I så fald skal vagtplankoden fra vagtplanen indsættes i målcellen.

Jeg prøvede denne:

=HVIS(ELLER(ER.TOM(Uge1!D4);(ER.TOM(Uge1!E4);(Uge1!F4=Rulleplan!D4))));"";
HVIS(MINUT(Uge1!D4)>0;TIME(Uge1!D4)&"."&MINUT(Uge1!D4);
TIME(Uge1!D4))&"-"&HVIS(MINUT(Uge1!E4)>0;
TIME(Uge1!E4)&"."&MINUT(Uge1!E4);TIME(Uge1!E4))&" "&Uge1!F4)

(Ignorer linjeskift i formlen)

men jeg fik en meddelelse om at formlen indeholder en fejl.

Er der nogen der kan hjælpe?
Avatar billede mrmox2 Nybegynder
09. januar 2008 - 05:10 #1
der kommer ingen fejl hvis første linje er
=HVIS(ELLER(ER.TOM(Uge1!D4);(ELLER(ER.TOM(Uge1!E4);(Uge1!F4=Rulleplan!D4))));"";

ELLER skulle kunne håndtere op til 30 logiske udsagn, men måske ikke sammen med HVIS. I hvert fald virker det hvis man laver dem parvis.
Men resultatet skulle være det samme, da du går efter det scenarie hvor alle argumenter er falske
Avatar billede kabbak Professor
09. januar 2008 - 09:38 #2
=HVIS(ELLER(ER.TOM(UGE1!D4);ER.TOM(UGE1!E4));UGE1!F4=Rulleplan!D4;HVIS(MINUT(UGE1!D4)>0;TIME(UGE1!D4)&"."&MINUT(UGE1!D4);TIME(UGE1!D4))&"-"&HVIS(MINUT(UGE1!E4)>0;TIME(UGE1!E4)&"."&MINUT(UGE1!E4);TIME(UGE1!E4))&" "&UGE1!F4)
Avatar billede perhol Seniormester
09. januar 2008 - 12:53 #3
De kodelinjer jeg viser skal være sammenhængende, linjeskift er lavet for at man kan se hele koden. Ellers ville den se sådan her ud:

=HVIS(ELLER(ER.TOM(Uge1!D4);(ER.TOM(Uge1!E4);(Uge1!F4=Rulleplan!D4))));"";HVIS(MINUT(Uge1!D4)>0;TIME(Uge1!D4)&"."&MINUT(Uge1!D4);
TIME(Uge1!D4))&"-"&HVIS(MINUT(Uge1!E4)>0;TIME(Uge1!E4)&"."&MINUT(Uge1!E4);TIME(Uge1!E4))&"_"&Uge1!F4)
Avatar billede perhol Seniormester
09. januar 2008 - 12:54 #4
På min skærm kan jeg ikke se det hele på den måde.
Avatar billede kabbak Professor
09. januar 2008 - 13:05 #5
prøv bare at kopiere min linje, selvom du ikke kan se den på skærmen, burde du kunne få det med ved kopiering.
Avatar billede perhol Seniormester
09. januar 2008 - 13:46 #6
>kabbak
Jeg burde med det samme have indset at du kunne se sammenhængen og så i øvrigt have prøvet at kopiere din formel.
Undskyld!
Det har jeg så gjort nu.

Din formel virker sådan her:
Hvis mødetid(Uge1!D4) og sluttid(Uge1!E4) ændres, skrives de nye værdier efterfulgt af vagtplankoden i målcellen.
Hvis kun en af de 2 celler ændres skrives SAND i målcellen.
Hvis intet ændres skrives SAND i målcellen
Hvis kun vagtplankoden ændres skrives FALSK i målcellen.

Den skal virke sådan her:
Hvis mødetid og sluttid ændres (Uge1!D4 og Uge1!E4) skrives de nye værdier efterfulgt af vagtplankoden i målcellen.
Hvis kun en af de 2 celler ændres skrives intet i målcellen.
Hvis intet ændres skrives intet i målcellen
Hvis kun vagtplankoden ændres skrives vagtplankoden i målcellen.
Avatar billede mrmox2 Nybegynder
09. januar 2008 - 14:59 #7
jeg tror mit forslag klarer de første 3 linjer nuder "den skal virke sådan" fordi den lægger sig op ad det du allerede har lavet
hvis der skal være en vurdering af om kun vagtplankoden ændres skal den have sin egen HVIS sætning
Avatar billede perhol Seniormester
09. januar 2008 - 15:13 #8
Jeg er vanskelig, den skal det hele på en gang ;-)

Egentlig kan jeg bare lade være med at ændre den nuværende formel og kræve af brugerne at de gør tingene rigtigt, men det vil sikkert bare betyde at jeg kommer til at lave en masse irriterende/unødvendig 'fejlrettelse'.

Jeg har her en formel der næsten gør det rigtige, bortset fra at den ikke sammenligner Uge1!F4 med Rulleplan!D4. Den vil altid indsætte vagtplankoden fra Uge1!F4 hvis den ikke er tom.

=HVIS(ELLER(ER.TOM(Uge1!D4);(ER.TOM(Uge1!E4)));"";HVIS(MINUT(Uge1!D4)>0;TIME(Uge1!D4)&"."&MINUT(Uge1!D4)&"-";TIME(Uge1!D4)&"-")&HVIS(Uge1!E4<>"";HVIS(MINUT(Uge1!E4)>0;TIME(Uge1!E4)&"."&MINUT(Uge1!E4);TIME(Uge1!E4))))&HVIS(ER.TOM(Uge1!F4);"";HVIS(ELLER(ER.TOM(Uge1!D4);(ER.TOM(Uge1!E4)));Uge1!F4;" /"&Uge1!F4))
Avatar billede kabbak Professor
09. januar 2008 - 15:14 #9
det med SAND /FALSK er denne del," Uge1!F4=Rulleplan!D4) " den kan ikke retunere andet.
Hvis du mente at Uge1!F4 skulle udfyldes, det kan man ikke sådan, der skal Uge1!F4 have sin egen formel.
Avatar billede perhol Seniormester
09. januar 2008 - 15:32 #10
Ja kabbak, i din formel erstatter ;UGE1!F4=Rulleplan!D4; vel egentlig ;""; fra den formel jeg skriver i spørgsmålet.
Det der er mit ønske er hvis UGE1!F4 er det samme som Rulleplan!D4 skal målcellen stadig være tom, hvis UGE1!F4 er forskellig fra Rulleplan!D4 skal skrives i målcellen.

Måske kan formlen i min kommentar 09/01-2008 15:13:21 laves så den udfører det ønskede.
Den er udbygget en lille smule i forhold til den første og bruges et andet sted til at skrive Rulleplan-værdierne i stedet for Uge1-værdierne. Den del der skriver vagtplankoderne er lagt i slutningen af formlen sådan her:

&HVIS(ER.TOM(Rulleplan!D4);"";HVIS(ELLER(ER.TOM(Rulleplan!B4);(ER.TOM(Rulleplan!C4)));Rulleplan!D4;" /"&Rulleplan!D4))
Avatar billede perhol Seniormester
09. januar 2008 - 15:35 #11
Undskyld, det skulle naturligvis have været:

&HVIS(ER.TOM(Uge1!F4);"";HVIS(ELLER(ER.TOM(Uge1!D4);(ER.TOM(Uge1!E4)));Uge1!F4;" /"&Uge1!F4))
Avatar billede perhol Seniormester
12. januar 2008 - 20:41 #12
Da der ikke rigtigt kom noget svar der kunne udføre det ønskede poste jeg problemet i et andet forum.
Efter en del fejlslagne forsøg fik jeg en løsning der virker.
Her er den:

=HVIS(ELLER(ER.TOM(Uge1!D4);ER.TOM(Uge1!E4));HVIS(Uge1!F4=Rulleplan!D4;"";Uge1!F4);
HVIS(MINUT(Uge1!D4)>0;TIME(Uge1!D4)&"."&MINUT(Uge1!D4);TIME(Uge1!D4))&"-"
&HVIS(MINUT(Uge1!E4)>0;TIME(Uge1!E4)&"."&MINUT(Uge1!E4);TIME(Uge1!E4))&
HVIS(ER.TOM(Uge1!F4);"";" /"&Uge1!F4))

Er der nogen der vil have point?
Avatar billede mrmox2 Nybegynder
12. januar 2008 - 23:31 #13
jeg fornam at du gik videre med kabbaks forslag, så jeg skal ikke have noget
fint at du fandt en løsning
/thomas
Avatar billede kabbak Professor
13. januar 2008 - 00:17 #14
hvis du fandt en løsning i et andet forum, skal jeg ikke have nogen point. ;-))
Avatar billede perhol Seniormester
13. januar 2008 - 01:34 #15
Ok.

Jeg møder jer nok en anden gang.

Eksperterne er et både behageligt og nyttigt bekendskab.
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
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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

IT-JOB