Avatar billede e-block Juniormester
03. marts 2019 - 07:35 Der er 14 kommentarer

Datavalidering med flere kriterier

Hej

Jeg har et excel regneark, hvor jeg prøver at validre et indtastet tal.
Reglerne er:
1) Det skal være et tal
2) Det må ikke optræde på listen i forvejen
3) Tallet skal være på seks tegn
4) Det skal starte med 6 eller 8

Jeg bruger følgende formel, men den reagerer ikke på det tal der står først (jeg kan indtaste ethvert tal på seks cifre ind, uden fejlmeddelse):
=OG(ER.TAL(færdigvarenr);LÆNGDE(færdigvarenr)=6;TÆL.HVIS(færdivarenr;færdigvarenr)<=1;ELLER(VENSTRE(færdigvarenr)="6";VENSTRE(færdigvarenr)="8"))
Avatar billede e-block Juniormester
03. marts 2019 - 07:55 #1
p.s. Det nå ikke være med VBA, men via datavalidering (Data > datavalidering > datavalidering)
Avatar billede ebea Ekspert
03. marts 2019 - 08:32 #2
Hvis jeg laver en test med formlen, herunder, virker den korrekt nok! Jeg har lavet en test i området A1:A10

=OG(ER.TAL(A1);LÆNGDE(A1)=6;TÆL.HVIS(A1;A1)<=1;ELLER(VENSTRE(A1)="6";VENSTRE(A1)="8"))
Avatar billede e-block Juniormester
03. marts 2019 - 08:42 #3
Hos mig validerer den alle tal på seks cifre. Det der skal ske er at den skal udelukke alle tal der ikke starter på seks eller otte.
Avatar billede e-block Juniormester
03. marts 2019 - 08:51 #4
Efter lidt test viker det som udgangspunkt, men ikke på et område...
Avatar billede finb Ekspert
03. marts 2019 - 09:07 #5
#2: Ebea, kan du ændre din formel til Matriks-formel,
der tager højde for hele range,
så er den der vist.
Avatar billede ebea Ekspert
03. marts 2019 - 09:27 #6
#4  -  Det er fordi du skal afmærke det område du skal validere på (det sker jo ikke automatisk).

#5  -  Hvorfor skulle jeg ændre den til en Matriksformel? Den virker jo som den skal, hvis ellers man markerer det pågældende område der skal valideres!
03. marts 2019 - 10:40 #7
Jeg tror din fejl ligger i din TÆL.HVIS
TÆL.HVIS(færdivarenr;færdigvarenr)<=1

Nu er min godt nok engelsk, men se forskellen på at jeg tæller i hele A kolonnen (A:A og validere kun den enkelte værdi (A6)
COUNTIF(A:A;A6)<=1

=AND(ISNUMBER(A6);LEN(A6)=6;COUNTIF(A:A;A6)<=1;OR(LEFT(A6)="6";LEFT(A6)="8"))
Formlen virker fint, hvis du fikser din TÆL.HVIS
Avatar billede e-block Juniormester
04. marts 2019 - 20:25 #8
Nope. Virker stadig ikke :(
=OG(ER.TAL(A6);LÆNGDE(A6)=6;TÆL.HVIS(A:A;A6)<=1;ELLER(VENSTRE(A6)="6";VENSTRE(A6)="8"))

Jeg får ikke en fejl, selv om jeg indtaster et forkert tal (eller bogstaver).
Avatar billede ebea Ekspert
04. marts 2019 - 20:47 #9
#8  -  Nope, virker stadig ikke!! det er jo ikke en tilbagemelding, som siger ret meget.
Prøv at uploade dit eksempel; så er der mulighed for, at vi kan se, hvad der ikke virker!
Avatar billede e-block Juniormester
06. marts 2019 - 05:31 #10
Jeg markerer celle a5 og resten af kolonnen, og indtaster følgende formel i datavalidering: =OG(ER.TAL(færdigvarenr);LÆNGDE(færdigvarenr)=6;TÆL.HVIS(A:A;A6)<=1;ELLER(VENSTRE(færdigvarenr)="6";VENSTRE(færdigvarenr)="8"))

Uanset om jeg indtaster et korrek eller forkert tal i en celle i området, får jeg en fejl.

Jeg kan ikke vedhæfte mit eksempel (ikke fordi jeg ikke vil, da det forløbigt er "proof of koncept" )

Jeg værdsættter rigtig meget jeres hjælp.
06. marts 2019 - 08:42 #11
Her er et eksempel der virker Eksempel 1027772
Avatar billede e-block Juniormester
07. marts 2019 - 05:13 #12
Helt enig. Det virker, hvis man taster formlen ind i en celle.
Jeg vil gerne, at man kan bruge excel's indbyggede datavalidering (data > datavalidering > datavalidering indstillinger, vælg indstillinger ved tillad vælg brugerdefineret  og indtast formlen i feltet "formel". Under fejlmeddelse vælger man enten stop, advarsel eller oplysninger. Det er mere brugervenligt.
07. marts 2019 - 07:08 #13
Det er også rigtigt det skriver du jo tidligere - det fangede jeg ikke, men hent dette nye eksempel, som jeg lige har lavet.
Jeg har lavet 3 conditional formateringer - de kan godt koges ned til 2, hvis det at cellen er tom indsættes if den røde... god fornøjelse
Eksempel#2 1027772
Avatar billede ebea Ekspert
07. marts 2019 - 08:01 #14
#12 - Jeg ved ikke hvor "kæden hopper af" for dig. I dit eget eks. og oplæg, der virker det med Excel's indbyggede datavalidering, med din formel.
Så min overbevisning er stadig, at du selv laver en fejl i dit data områdemarkering.

Så nye indlæg, hvor du fortæller at den samme formel ikke virker, bringer ikke mere lys over det, andet end at antallet af indlæg (spildte) vokser!

Så prøv at se, om ikke du kan ændre i din måde du markerer dit dataområde, og led efter fejlen der!
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