Hej Det du menar är att du har "hål" i strukturen? datan är hålfri, men jag vet inte hur många värden serien kan ha (det varierar)...och vet heller ej var den börjar.. Sker detta vid ett tillfälle, eller är det en befintlig datamängd som ändras, etc.? data uppdateras hela tiden och så vill jag bygga grafer på det. Ok, loopa får det bli - excel har inget intelligent sätt att avgöra när en serie slutar. Man får loopa igenom rader och kolla typ Hej <b>>Ok, loopa får det bli - excel har inget intelligent sätt att avgöra när en serie slutar. Man får loopa igenom rader och kolla typ </b> ok, tackar. Tja, kan jag bara meddela att du har helt fel inställning. I stort sett allt går snabbare via formler, givet att du använder dem på rätt sätt. worksheetfunktioner är inte snabbare än bra designade vba funktioner om det är mycket data och serier. Jag har hållt på med excel ett tag. Jag har aldrig sett att en worksheetfunktion som gör samma sak som en man har skrivit själv skulle vara långsammare. Om du istället går via SQL eller annat så är det klart att du kan få prestandavinster av helt andra skäl.excel selektera celler med värden
Jag har följande datastruktur i excel
col1 col2 col3
1 23 2
1 20 33
1 3 3
2 2 33
2 23 3
skall skapa grafer av datat där col 1 är tid eller behandling (dvs x kolumnen) och de andra är "y-värden".
så långt inga problem.
men eftersom columnernas längd, dvs antal värden kan variera och jag inte har några fasta referenspunkter för där en serie startar och slutar, så undrar jag om det finns nåt enkelt sätt att bara selektera de rader & kolumner som har värden? måste jag loopa igenom? antar att det finns enklare och effektivare sätt..
ASv: excel selektera celler med värden
I princip ska det väl gå att markera alltihop så att säga, men då går det väk inte automatiskt.
Hur kommer det sig att du har hålen från början?Sv:excel selektera celler med värden
alltså, jag vill markera en kolumn. men inte hela, bara tills värdena slutar. helst utan att loopa.Sv: excel selektera celler med värden
I princip kan du använda dig av namngivna formler, och trixa lite (du använder dig av offset och count), men om det är engångsgrejer är det ju lättare att markera hela skiten. Och tar du in data programmatiskt är det väl enklast med cell.end(xldown). Sv:excel selektera celler med värden
men att selektera hela worksheetet blir ju en ruggug massa "yta" som blir selekterad i onödan..
cell.end, skall kolla på det tack så länge!Sv: excel selektera celler med värden
for variant1=1 to activesheet.columns(1).count
if activecell.text ="" then exit for
next
nu har man värdet i variant1
eftersom datan ej har hål kan man i detta fall kolla på detta sätt.
NÄSTA FRÅGA:
jag har en kolumn med värden, typ
col1
1
1
1
1
2
2
2
2
3
3
3
om jag lägger värdet i en range, finsn ngt enkelt sätt jag kan kolla när den byter värde?
dvs på ett lätt sätt få info om den innehåller 4 st ettor, 4 st tvåor och 3 st treor?
eller måste jag manuellt sortera de distinkta värdena och hålla koll själv?kan man kanske köra sql mot range:n?
är nybörjare på excel.
tacksam för svar.Sv:excel selektera celler med värden
Är värdena du har i col1 begränsade till ex. 1-5 eller något som inte ändras?
I så fall kan du väl använda:
=ANTAL.OM(A1:A5;1)
Med den enkla formeln får du reda på hur många gånger värdet "1" förekommer i området A1:A5.
/ PerSv:excel selektera celler med värden
Jodå, med cells.end får du det mycket bättre, och du kan även göra det via formel som jag angav.
Kombinera "Offset" med "Count" eller motsvarande svenska formler så får du rangen. Om själva arket är fast, men data ändras är det sistnämnda att föredra.
Angående antalet: "när den byter värde" är enkelt. Skriv i B2: "=A2=A1", "dra" ner formeln till slutet. Står det false resp. falskt så har den just bytt värde.
Vill du bara räkna antal är det bäst att använda formeln som heter något i stil med frequency (resp. frekvens).Sv: excel selektera celler med värden
håller mig borta från worksheetsfunktioner, det blir får långsamt..
gör allt i vba istället.
kommer använda cells.end och offset.Sv:excel selektera celler med värden
Sv: excel selektera celler med värden
visst är allt snabbare med formler, än att iterera för att lösa sitt problem ( t ex beräkna fackulteten av tal) - men det är inte det vi pratar om här. här pratar vi om att excel går oerhört långsamt vid användandet av worksheetfunktioner när det är stora datamängder.
min 'select count distinct funktion' är flera ggr snabbare än worksheet:ens sort unique values - bara ett exempel.Sv:excel selektera celler med värden
Vad jag kan se från ovanstående diskussion så skulle jag bli förvånad om du har skrivit en funktion som gör det snabbare. (För att inte tala om hur mycket bättre en ren excel-lösning är på många andra sätt.)