06. september 2007 - 11:43Der er
17 kommentarer og 1 løsning
if then between spm.
Hvis jeg har et felt K10
Hvordan kan jeg så sige at:
Hvis K6 har en værdi mellem s01 til og med s10 så er K10 = VHF OR Hvis K6 har en værdi mellem s11 til og med s39 så er K10 = VHF3 OR Hvis K6 har en værdi mellem s40 til og med s41 så er K10 = UHF
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Hvad så hvis det kan starte med K og ikke kun S !??
Altså
Hvis K6 har en værdi mellem s01 til og med s10 så er K10 = VHF Hvis K6 har en værdi mellem k02 til og med k04 så er K10 = VHF OR Hvis K6 har en værdi mellem s11 til og med s39 så er K10 = VHF3 Hvis K6 har en værdi mellem k05 til og med k12 så er K10 = VHF3 OR Hvis K6 har en værdi mellem s40 til og med s41 så er K10 = UHF Hvis K6 har en værdi mellem k21 til og med k69 så er K10 = UHF
Jeg går ud fra at det er rigtigt at k13-k20 ikke skal have nogen værdi. Jeg mener det er syv nestede if'er man kan have, så det er altså tæt på grænsen denne formel. Kommer der flere til, må man nok overveje andre løsninger.
Så er det nok fordi du har en dansk udgave, og skal oversætte formlen: if - hvis and - og left - venstre right - højre Jeg har ikke en dansk udgave, men mener bestemt at oversættelserne er korrekte. Ellers må du lige kigge i listen af funktioner - if og and under logiske og left og right under textformler. /Luffe
Ja, det er da rigtigt - jeg kom til at henvise til K7 i den danske formel, hvor datafeltet er i K6. Du må vende tilbage hvis den fortsat ikke virker. / Luffe
jeg tror jeg fik løst problemet med lidt fra de to koder i gav mig
=HVIS(OG(VENSTRE(E6;1)="K";MIDT(E6;2;4)*1<4);"VHF";HVIS(OG(VENSTRE(E6;1)="K";MIDT(E6;2;4)*1<12);"VHF3";HVIS(OG(VENSTRE(E6;1)="K";MIDT(E6;2;4)*1<69);"UHF";HVIS(OG(VENSTRE(E6;1)="S";MIDT(E6;2;4)*1<10);"VHF";HVIS(OG(VENSTRE(E6;1)="S";MIDT(E6;2;4)*1<39);"VHF3";HVIS(OG(VENSTRE(E6;1)="S";MIDT(E6;2;4)*1<41);"UHF";"Uden for interval"))))))
Den formel du har rettet fra K7 til E6, har du glemt at rette en enkelt til E6 (HØJRE(K7;2)*1>=11). Er denne celle (K7) f.eks. tom og du i E6 har et nummer i dette interval, f.eks. S12 vil du få #værdi. Så hvis du får ændret den ene K7 til E6 skulle den virke. Den formel du har kombineret mangler lige et par lighedstegn. F.eks. den første midt - MIDT(E6;2;4)*1<4);" - skal være *1<=4. Prøv at test med K04 og du vil se at den fejlagtig giver VHF3. Det samme med de øvrige < skal være <=. Forskellen på de to formler er at din ikke tager hensyn til de huller der er i intervallerne. Prøv f.eks. med K01 og K13, som ikke burde eksistere, men som giver en værdi. Til gengæld tager din hensyn til om man kommer til at skrive en værdi som f.eks. S112, hvilket min ikke gør. Min forudsætter at man er skarp nok til at skrive en kombination af et bogstav og to cifre. Skal det være helt idiot sikker er vi nok ude i, fordi der er så mange intervaller, at skulle lave en liste med gyldige værdier og så slog op i denne. Men det er måske nok en overkill i det her tilfælde. Hilsen Luffe
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.