Just nu i M3-nätverket
Gå till innehåll

EXCEL: hur skapa regler för en cell och hur addera succesivt?


hendersson

Rekommendera Poster

Jag har två frågor:

 

1. Jag har en celler där jag vill att det standardiseras att när en person skall fylla i ett värde i respektive cell så ska det alltid finnas ett bindestreck i cellen, så att personen inte behöver skriva bindestrecket själv. Personen skall bara behöva skriva två tal och mellan de två talen skall ett bindesteck automatiskt infogas, t.ex. 08-12. Förstår ni vad jag menar?

 

2. De celler jag nämnde ovan adderas med hjälp av en formel:

=-((VÄNSTER(C3;2)-HÖGER(C3;2))+(VÄNSTER(D3;2)-HÖGER(D3;2))) Vilket innebär att den kommer att subtrahera t.ex. 08 med 12 och göra om värdet till ett positivt värde. Problemet är att formeln inte adderar värden succesivt utan jag får ett #Värdefel!-meddelande i cellen med formeln som jag skrev ovan, inte förrän alla celler är ifyllda visas ett korrekt värde i cellen med formeln. Hur gör jag för att cellen ska addera succesivt?

 

Tusen tack för svar =) !

 

Länk till kommentar
Dela på andra webbplatser

Hej,

 

Är inte helt klar över hur du menar, men gissar följande:

 

1) Prova anpassad formatering.

Markera aktuella celler och välj Format -> Celler. Skapa det anpassade formatet "0#-##". Detta visar ett inmatat 4-siffrigt nummer "1234" som "12-34" och ett 3-siffrigt "123" som "01-23". Dvs du skriver endast in siffrorna och XL lägger själv till ett streck före de två sista siffrorna, samt en "0" om det är färre än 4 siffor.

 

2) En lösning är att omsluta beräkningar som kan bli ogiltiga med om-satser. Dvs i ditt fall: =OM(ELLER(C3="";D3="");"";"beräkning")

Om C3 eller D3 är tomma returneras ingenting, "", annars görs beräkningen.

 

mvh

/Johan

 

[inlägget ändrat 2005-01-14 14:12:26 av Pejo]

Länk till kommentar
Dela på andra webbplatser

Tackar för svar!

 

När det gäller första frågan så blev det bra, det enda är iofs att jag egentligen skulle vilja att bindestrecket finns i cellerna innan personen fyller i värden, när personen sedan markerar en av cellerna så skriver hon först in det första värdet på två siffror och sedan ska det automatiskt "hoppa över" andra sidan bindestecket och där fyller hon i de två andra värdena.

 

först endast: -

sedan: 08-

sist: 08-12

 

När det gäller andra frågan undrar jag om jag måste ha situationstecken runt om beräkningen, eller var det bara för att förtydliga?

 

=OM(ELLER(C3="";D3="");"";"beräkning")

 

 

Länk till kommentar
Dela på andra webbplatser

först in det första värdet på två siffror och sedan ska det automatiskt "hoppa över" andra sidan bindestecket och där fyller hon i de två andra värdena.

I princip bryr sig inte XL om din inmatning förrän du lämnar en cell och för att styra beteendet på tecken-nivå krävs VBA och event-procedurer, vilket är lite knepigare saker. Är inte så hemma på detta själv, men det finns både kunnigt folk och en del tidigare trådar i detta forum.

 

När det gäller andra frågan undrar jag om jag måste ha situationstecken runt om beräkningen, eller var det bara för att förtydliga?

Endast för förtydligande. Inte heller behövs något "=", fast det har du säkert redan listat ut.

 

[inlägget ändrat 2005-01-14 14:55:15 av Pejo]

Länk till kommentar
Dela på andra webbplatser

OK. Jag var tvungen och ändra de cellerna till text för att HÖGER VÄNSTER-formeln skulle kunna addera dem rätt. Så användaren blir tvungen att själv skriva 08-12, annars så står det iofs 08-12 i cellen när man definierar det (0#-##), men däremot så visade det sig att det riktiga värdet i cellen (som visar sig i ovanför i den där vita långa rutan) blev 812, vilket skapade problem med HÖGER-VÄNSTER-formeln eftgersom den läser 2-tecken.

 

Problemet med formeln

=OM(ELLER(C4="";D4="");"";(HÖGER(C4;2)-VÄNSTER(C4;2))+(HÖGER(D4;2)-VÄNSTER(D4;2))))

 

är att om jag inte fyller i någon av cellerna så blir det inte summering successivt, iofs fick jag inget #Värdefel!, men istället så blir cellen med beräkningen helt tom, inte förrän båda cellerna är ifyllda visas summeringen i cellen med beräkningen. Samma sak händer om jag modifeierar samma beräkning till:

 

=OM(ELLER(C4="");"";(HÖGER(C4;2)-VÄNSTER(C4;2)))+(OM(ELLER(D4="");"";(HÖGER(D4;2)-VÄNSTER(D4;2))))

 

 

 

Länk till kommentar
Dela på andra webbplatser

Det här känns komplicerat, men jag försöker.

Har jag förstått rätt om jag antar att du skall möjliggöra inmatning i två kolumner (C och D) som skall autoformateras så att en inmatning av 0812 blir 08-12. Sedan ska du göra en summering av absolutvärden på skillnaderna i C och D, men redovisa data även om det inte står något i den ena kolumnen.

 

Då tycker jag attt du ska använda den föreslagna formateringen, men ändra uträkningen till:

=ABS(HELTAL(C4/100)-REST(C4;100))+ABS(HELTAL(D4/100)-REST(D4;100))

 

/Pär B

 

[inlägget ändrat 2005-01-14 15:47:38 av PerboMan]

Länk till kommentar
Dela på andra webbplatser

Mmh, händelseprocedurer kan vara en lösning. Eller definiera en tabbordning eller liknanden.

Då får man formater arket snyggt och fixa till det.

 

Min tanke då är att i cell1 matas ett värde in

i celle två skrivs ett minustecken ut, i cell3 placeras användaren och skriver in ett nytt värde.

Detta kräver VBA och händelsekod, något man egentligen bör undvika.

 

men ett snyggare sätt tror jag är att skapa ett formulär och bygga ett händelseskal runt detta. Där går det att bevaka varja inmatning, varje knapptryckning eller musrörelse

Nu börjar det dock bli komplicerat... Tja, inte så, jag kan kanske kan fixa en liten kodsnutt under helgen om så önskas.

Två textrutor som man bygger ett händelseskal runt och hanterar inmatning på önskat vis.

 

Så jag frågar helt enkelt vad det är du utvecklar? Kanske det finns ett enklare sätt att göra det?

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Var inne på samma spår själv, efter att ha tänkt lite till. VÄNSTER/HÖGER är egentligen textfunktioner och lämnar därför text. Nu konverterar XL ofta gladeligen själv mellan text- och talformat, men inte alltid som man väntar sig och det är nog bättre att hålla sig till det ena eller andra formatet om möjligt.

 

[inlägget ändrat 2005-01-14 16:07:50 av Pejo]

Länk till kommentar
Dela på andra webbplatser

Tusen tack för svar! Det löset det hela underbart bra =) Nu missade jag dock en sak =( om jag vill lägga in halvtimmar? t.ex, 08-15.30, hur gör man då med beräkningar och cellformatering :S ?

 

Länk till kommentar
Dela på andra webbplatser

Jag gissade väl att det var någon form av tidsrapportering, varför sa du inte det från början????

 

Nu blir det så att det är MYCKET bättre för uträkningarna om de som rapportera data i excel lägger varaje värde i en egen cell. Om detta skall vara en summering av en arbetsdag med lunchrast 08:00-11:30,12:15-16:45 så är det hur enkelt som helst att göra detta om värdena ligger i separata celler.

Om användarna skall få det lite lättare genom att de har möjligheter att lägga in värden som 08-11.30 i en cell och 12.15-16.45 i en annan cell så går dettta också att lösa, men det blir inte lätt, och det blir felkänsligt.

 

Ett inmatningsformulär med look-up tabeller är nog den lösning som jag skulle rekommendera om man måste dalta med användarna och samtidigt undvika problem med felaktiga inmatningar.

 

/Pär B

 

Länk till kommentar
Dela på andra webbplatser

Aha, det var klockslag det rörde sig om ...

Det finns ett inbyggt format för klockslag och formateringen fungerar på liknande sätt som för tal. Likaså finns det funktioner för att hantera timmar och minuter. Men varför trycka in två klockslag i samma cell? Lägg varje klockslag i sin egen cell, som Monshi var inne på.

 

Edit: För långsam ...

 

[inlägget ändrat 2005-01-14 16:22:32 av Pejo]

Länk till kommentar
Dela på andra webbplatser

Hej!

 

Hmm, tja kanske var jag för otydlig. Det är ett schema jag gör. Orsaken till att jag lägger tiden i en och samma cell är för att det inte ska bli för stort, det ska vara möjligt att skriva ut det och få överblick på schemat. delar jag upp tiden i start och slut så blir det väldigt många celler för alla personer.

 

 

Länk till kommentar
Dela på andra webbplatser

Stort? Bara för att du delar upp det i två celler?

Låter konstigt i mina öron. Beräkningarna blir enklare och det i sig sparar en hel del kraft/utrymme i Excel om du låter värdena vara i varsin cell. Blir tydligt för användaren och enkelt att nyttja Excel kontrollregler för att kontrollera inmatningen, att kontrollera att det inte matar in felaktiga klockslag ex.v.

 

 

men som vanligt, vid riktigt stora datamängder lämpar sig inte riktigt Excel, Man lagra lämpligen data i Excel i ett format som påminner om en databas, dvs med unika nycklar/värden och en klart tabuelarat uppdelning av värden.

Det betyder alltså att vid stora mängder data är en äkta databas att föredra.

 

Och missa inte en detalj som redan har påpekats.

 

Om det är användare som ska använda arket måste de alltid mötas av samma bild. Det ska vara enkelt att mata in uppgifterna och kontrollera sin inmatning.

 

Nog med pekpinnar för denna gång.

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Nu undrar jag en sak till.

Är det du som skall mata in informationen, eller gör du något som någon annan skall använda?

Detta ställer nämligen lite olika krav på utformning.

Hur det än är så kan du alltid göra en tvådelad lösning.

Det vill säga på en flik har du inmatningsceller och uträkningar. På en annan flik har du utskriftsvy. Då kan du skriva formler typ:

=OM(MINUT(A1)<>0;TEXT(A1;"tt:mm");TEXT(A1;"tt"))&"-"&OM(MINUT(B1)<>0;TEXT(B1;"tt:mm");TEXT(B1;"tt"))

 

Vänligen

Pär B

 

Länk till kommentar
Dela på andra webbplatser

Hej,

 

Om man ser sig nödgad till att trycka ihop beräkningar i en cell så måste den grundläggande designen vara fel. Problemet ligger initialt inte i det du nu försöker lösa utan i ett tidigare led.

 

Pekpinnar eller inte, men det är lika bra att bita i det sura äpplet och gå tillbaka i utvecklingsprocessen än att försöka göra mycket tveksamma lösningar.

 

Troligtvis kommer fler problem att uppstå till följd av en undermålig struktur varför det är lika bra att ta tag i det nu.

 

Mvh

Dennis

 

För tips och tricks med MS Excel se: http://www.xldennis.se

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...