startsida < företaget < organisera < datorer < tips
 
Datavalidering I

 
  Kalkylering
Kalkylering I
Kalkylering II
Kalkylering III
Kalkylering IV
Kalkylering V
Kalkylering VI
Kalkylering VII
Villkorsstyrd
kalkylering
Villkorsstyrd
formatering I
Villkorsstyrd
formatering II
Felhanterings-
kalkylering
Matriskalkylering I
Matriskalkylering II
Matriskalkylering III
Matriskalkylering IV
Matriskalkylering V
Datumkalkylering I
Datumkalkylering II
Datumkalkylering III
Datavalidering I
Datavalidering II
Cirkelreferenser
   
  Innehåll
expowera

 

Materialet publicerat med tillstånd från Dennis Wallentin.

Om datavalidering
Datavalidering är att kontrollera den data som inmatas. Utfallet av valideringen utgörs av de två logiska värdena, dvs SANT eller FALSKT. Alla formler som används i verktyget måste därför generera enbart dessa två värden (undantaget är s k problemlösningar).

Kontrollen kan ske på olika sätt och här beskrivs ett flertal av dessa tekniker. Verktyget nås genom att välja kommandot Data / Verifiering.

Verktyget är mångsidigt och kan användas inom ett flertal områden, såsom felhantering och villkorsstyrd kalkylering.

Dock är det viktigt att vara medveten om att verktyget lider av en allvarlig brist och kan inte direkt hantera egenutvecklade kalkylfunktioner.

Om man klistrar in värden så sker ingen validering! Inte nog med det, förfarandet tar bort all validering knuten till cellen!

I verktyget kan man inte direkt referera till egenutvecklade funktioner. Lösningen består av en två-stegsraket.

Steg 1: Skriv in funktionen i en cell, t ex B3
Steg 2: I dialogrutan och i fältet för "Formel" refereras till cell B3.

Data inom ett givet intervall
Vi ska här börja med ett relativt enkelt exempel. Anta att du vill förhindra att heltalsvärden under 5 (< 5) och över 10 (> 10) matas in i ett cellområde. Annorlunda uttryckt, minsta tillåtna värde är 5 och högsta tillåtna värde är 10 för cellområdet.

För att datavalideringen ska fungera måste

1. Markera cellområdet A1:A5.

2. Öppna dialogrutan "Dataverifiering".

3. Fyll i uppgifterna under fliken "Inställningar".

  • Tillåt: Helanummer
     
  • Data: Mellan
     
  • Minimum = 5
     
  • Maximum = 10

Därefter kan önskade uppgifter under fliken "Indatameddelanden" och "Felmeddelanden" fyllas.

Använd gärna "Indatameddelanden" och kryssa i alternativet "Visa meddelande när cell markeras". Detta kan spara tid för andra användare!

Validering med OM-funktionen
Anta att du ska utvärdera huruvida ett värde i en cell är större eller mindre än ett värde i en annan cell. Detta kan som bekant lösas på flera sätt men här sker det mha valideringsverktyget.

Steg 1: Ställ markören i den cell som ska utvärderas, t ex B1.

Steg 2: Öppna dialogrutan och välj anpassat i fältet för "Tillåt".

Steg 3: Ange följande formel i fältet för "Formel": =OM(A1>B1;SANT;FALSKT).

Fyll i värden i båda celler - Pröva att ändra värdet i cell A1!

Numerisk validering
Här demonstreras en teknik som gör att textvärden inte accepteras och att bara ett positivt / negativt talvärde kan anges i ett cellområde.

Antag att du har ett cellområde, såsom A1:A5, och att bara ett värde få anges i detta cellområde.

Steg 1: Markera cellområdet A1:A5

Steg 2: Öppna dialogrutan och välj decimal i fältet för "Tillåt" - Detta gör att inga textvärden accepteras.

Steg 3: I fältet för "Data" väljs lika med.

Steg 4: Ange följande formel i fältet för "Formel": =SUMMA($A$1:$A$5) - Detta gör att bara ett positivt / negativt värde kan anges (undantaget från denna regel är värdet 0).

Förhindra dubbletter i listan!
En vanlig uppgift är att mata in data i en lista och att inga dubbletter ska förekomma i listan.

Antag att du ska mata in kontonummer och att inga dubbletter får förekomma. Listan avser täcka cellområdet B2:B100. Här behövs två valideringsregler, en för den första cellen och en för resten av listan.

Valideringsregel för cellen B2:
I dialogrutan "Dataverifiering" välj fliken "Inställningar". Där väljs "Anpassat" i "Tillåt" och följande formel anges i "Formel": =ÄRFEL(PASSA(B2;B3:B3100;0)).

Valideringsregel för cellområdet B3:B100:
Samma som för cellen B2 men med en annan formel:
=ÄRFEL(PASSA(B3;INDIREKT("$B$2:$B$"&RAD()-1);0)).

Därefter kan andra önskade tillägg göras i dialogrutan, såsom indata- och felmeddelanden.

Skapa listrutor
Att skapa mallar och ta hjälp av nedrullningsbara listrutor är kanske ett av de områden där XL är som starkast.

Så här skapar man en nedrullningsbar lista:

1. Välj kommandot Data / Verifiering

2. Under fliken "Inställningar" så anges följande kriterier:

  • Tillåt: Lista
  • Källa: Här anges cellområdet som innehåller den önskade listan.
  • Se till att båda alternativen "Ignorera tomma celler" och "Nedrullningsbar listruta i cell" är förbockade.

3. Fyll i önskade indata- och felmeddelanden.

Förfarandet har dock en begränsning: Att källdatan måste finnas på samma kalkylblad som den nedrullningsbara listrutan.

Oftast vill man skapa listor i andra kalkylblad och som man därefter döljer för andra (och sig själv). Det finns en lösning på det:

  • Skapa ett namn för källdatan och sedan får man skriva in namnet manuellt i "Källa" i dialogrutan enligt ovan.

OBS! Ange ett likhetstecken före, såsom =Källdata

Tvingande inmatning
Antag att du konfronteras med följande problem:

Användarna har två alternativa värden att ange i en cell.
- anges värdet 10 måste B-kolumnens cell fyllas i.
- anges värdet 20 måste C-kolumnens cell fyllas i.

För att ange ett värde i A-kolumnen måste föregående post ha fyllts i antingen i B- eller C-kolumnen.

Första dataverifieringsregel:
Ange vilket värde som helst i antingen B- eller C-kolumnens första cell (ovanför indataområdet och som kan tas bort senare.)

Följande formel ska anges för kolumn A:

  • =OCH(ELLER(A2=10;A2=20);ANTALV(B1:C1)=1)

Andra dataverifieringsregel:
Följande formel ska anges för kolumn B

  • =OCH(A2=10;A2<>"")

Tredje dataverifieringsregel:
Följande formel ska anges för kolumn B

  • =OCH(A2=20;A2<>"")

Klart!

Styr inmatningsvärden
Vid inmatning i mallar kan det vara en fördel att styra vilka värden som får matas in och samtidigt förhindra att dubbletter förekommer.

Det är alltså två villkor som ska uppfyllas och det kan lösas antingen med h a en enda formel eller med två stycken om det så önskas.

Här demonstreras lösning med en formel enligt följande:

  • =OCH(ÄRTAL(PASSA(A2;$C$2:$C$6;0));ANTAL.OM($A$2:A2;A2)<2)

Som framgår av formeln ska det inmatade talet vara inom intervallet som anges i $C$2:$C$6 och inte förekomma tidigare i inmatningsområdet (<2).

Upp
Senast uppdaterad: 2005-10-05 © Dennis Wallentin