Excel hjælp

#1| 1

Jeg har en stor mængde data. Disse data er tal som feks ligger mellem 0-10000. Det kunne se ud som:

6738

3335

3875

3875

932

osv


I en ny kolonne vil jeg så have at alle numre der tilhører 0-1000 får værdi 1, 1001-2000 får værdi 2, osv

6738 --> 7

3335 --> 4

3375 --> 4

932 --> 1

.

.

.


Hvordan får jeg gjort dette?


Sidespørgsmål: Hvis jeg i en celle skriver "=5<=6<=7" får jeg beskeden falsk, mens "=5<=6>=7" giver beskeden sandt.

Dette giver da ingen mening?


Håber PN kan hjælpe :)

27-10-2015 12:00 #2| 0

Mange muligheder - du kan bruge en lang hvis formel. Eller noget OG


Eller hvis data imellem 0-1000 skal have værdi, kan du så ikke bare lave en funktion, hvor du deler med tusind og runder op til nærmeste tal? Vil det ikke altid give 1 og for tal imellem 1000 og 2000 det samme. I det danske Excel vil den se sådan her ud.


=AFRUND.LOFT(A9/1000;1)

27-10-2015 16:59 #3| 0

Den nemmeste metode er nok VBA programmering - tror, du skal prøve at søge lidt information omkring "if then loop". Det vil kunne gøres i en enkel kode, vil jeg mene.

27-10-2015 17:04 #4| 1

PowerQuery kan løse det for dig. Jeg vil tro, der ligger et par videoguides på google/youtube :)

27-10-2015 17:22 #5| 0

Lidt omstændigt, men here goes:

=if(A1>0;if(A1=<999;1;if(A1>999;if(A1=<1999;2;......;if(A1>8999;if(A1=<9999;10))))


27-10-2015 17:23 #6| 0

...

Redigeret af Fuglsang d. 27-10-2015 17:24
27-10-2015 17:29 #7| 0

Kan man ikke bruge CASE i excel?

TightGirls if statement burde virke (jeg ved ikke hvordan en dansk version af excel fortolker det), men CASE er bare meget nemmere at arbejde med, når man har flere outputs, fremfor en bunke indlejrede if statements.


Lidt mere simpelt burde denne formel også kunne virke:

=IF(A1>0;(IF(A1<1000;1;IF(A1<2000;2;IF(A1<3000;3;IF(A1<4000;4;IF(A1<5000;5;IF(A1<6000;6;IF(A1<7000;7;IF(A1<8000;8;IF(A1<9000;9;IF(A1<10000;10))))))))))))


Den går selvfølgelig kun til 10000

Redigeret af Torstens d. 27-10-2015 17:47
27-10-2015 18:42 #8| 0

Nu ved jeg self. Ikke hvordan dataerne står men den simple måde at håndtere disse ting på er:
Først laver du en kolonne foran og autonummer den fra top til bund 1 til mange tusinde
Så ændre du hele dit regneark så det sortere efter størrelse på dine data lavest til højest
Sætter en ny kolonne ind og indsætter numre i den ny kolonne det kan gøres hurtigt fordi blokkene nu er samlet
Når det er gjort sætter du dem tilbage i rækkefølge efter den første kolonne du satte ind lavest til højest.
Og så sletter du kolonnen.

Men du kan også bruge If funktion, samt count og char ... Tror jeg men arbejder ikke meget i Excel mere.
Den øverste jeg har skrevet er rar at kende hvis man ikke er stærk i formler o.s.v.

27-10-2015 19:40 #9| 0

Rigtig godt - Super gode input i giver!

Løsningen indtil videre er at bruge if funktionen. Problemet er bare at jeg har rigtig mange datasæt. De indeholder alle forskellige intervaller (som ikke nødvendigvis er sammenhængende) med dertilhørende numrering. Det kan derfor godt blive nogle ret voldsomme if funktioner hvis intervallerne er mange. Jeg prøver også din frengangsmåde @Farre og ser hvor effektivt det er.


Nogle der har svar på mit sidespørgsmål? :)

27-10-2015 19:46 #10| 0

i stedet for at bruge if, så skal du da bare bruge =rund.op("celle"/1000;0)

27-10-2015 19:51 #11| 0
underk skrev:i stedet for at bruge if, så skal du da bare bruge =rund.op("celle"/1000;0)

Mit eksempel er ret simplificeret, og tallene har faktisk aldrig den sammenhæng. Feks kan jeg komme ud for at et interval på 4200-4600, 3300-3400 og 9000-9500 alle skal "formateres" til et 1tal i den nye celle, men andre bunker af intervaller får tildelt andre værdier.

Redigeret af RaiseAny2 d. 27-10-2015 19:52
27-10-2015 19:55 #12| 0
RaiseAny2 skrev:Mit eksempel er ret simplificeret, og tallene har faktisk aldrig den sammenhæng. Feks kan jeg komme ud for at et interval på 4200-4600, 3300-3400 og 9000-9500 alle skal "formateres" til et 1tal i den nye celle, men andre bunker af intervaller får tildelt andre værdier.

hov fejl laver ny post





Redigeret af underk d. 27-10-2015 19:55
27-10-2015 20:04 #13| 0
RaiseAny2 skrev:Mit eksempel er ret simplificeret, og tallene har faktisk aldrig den sammenhæng. Feks kan jeg komme ud for at et interval på 4200-4600, 3300-3400 og 9000-9500 alle skal "formateres" til et 1tal i den nye celle, men andre bunker af intervaller får tildelt andre værdier.

lav en ny tabel med 2 kolonner

0 1

1000 1

1001 2

3299 2

3300 3

3400 3

3401 4

4199 4

4200 5

4600 5

osv


brug formlen =LOPSLAG("celle";"der hvor du har den nye tabel";2;SAND)


når du indskriver SAND som sidste parameter vil den finde det nærmeste tal i kolonne1 og give tallet fra kolonne 2 , f.eks. vel 4244 give 5

27-10-2015 20:21 #14| 0

Pivot-tabeller er nuts her :)

28-10-2015 00:31 #15| 0
underk skrev: lav en ny tabel med 2 kolonner
0 1
1000 1
1001 2
3299 2
3300 3

3400 3
3401 4
4199 4
4200 5
4600 5
osv

brug formlen =LOPSLAG("celle";"der hvor du har den nye tabel";2;SAND)

når du indskriver SAND som sidste parameter vil den finde det nærmeste tal i kolonne1 og give tallet fra kolonne 2 , f.eks. vel 4244 give 5

Perfekt! Indtil videre den mest effektive måde. Takker :)

← Gå til forumoversigtenGå til toppen ↑
Skriv et svar