mboost-dp1
LARGE() i PocketExcel?
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Her på arbejdet har vi regelmæssigt lageroptælling. Til dette har jeg lavet et Excel-ark der tager input fra en scanner, som så klipper tekststrengen i stykker og sorterer og tæller sammen. Dette kører udmærket på en bærbar og en bluetooth scanner. Vi har så nogle ældre Windows Mobile 4.20 baserede håndscannere liggende, som jeg nu forsøger at exportere arket til. Det vil være nemmere for vedkommende at optælle lageret uden at skulle slæbe rundt på en bærbar også.
MEN! Den PocketExcel understøtter ikke LARGE() funktionen og IT-politikken her på stedet tillader ikke alternativer til firmaets nuværende programsortiment.
Excel-arket med LARGE()-funktionen fylder 375kB. Hvis jeg så laver min egen størrelsessortering så fylder arket 5,31MB. Hvilket den ikke er helt glad for hele tiden. Programmet lukker uden varsel, formentligt pga. for lidt hukkommelse. Hver indskanning kan tage op til 10sek at genneføre, hvilket med knap 700 skanninger bliver til ca. 1½ time, mod 10min med den bærbare.
Størrelsessorteringen har jeg lavet ved at have 100 kolonner, der hele tiden ekskluderer MAX()-værdien af den foregående kolonne.
A1 =MAX(A2:A701)
A2:A1001 = indskannede værdier
B1 =MAX(B2:B701)
B2 =IF(A2=A$1;;A2)
B3 =IF(A3=A$1;;A3)
osv.
Den samme værdi kan forekomme flere hundrede gange.
Kan det laves simplere?
MEN! Den PocketExcel understøtter ikke LARGE() funktionen og IT-politikken her på stedet tillader ikke alternativer til firmaets nuværende programsortiment.
Excel-arket med LARGE()-funktionen fylder 375kB. Hvis jeg så laver min egen størrelsessortering så fylder arket 5,31MB. Hvilket den ikke er helt glad for hele tiden. Programmet lukker uden varsel, formentligt pga. for lidt hukkommelse. Hver indskanning kan tage op til 10sek at genneføre, hvilket med knap 700 skanninger bliver til ca. 1½ time, mod 10min med den bærbare.
Størrelsessorteringen har jeg lavet ved at have 100 kolonner, der hele tiden ekskluderer MAX()-værdien af den foregående kolonne.
A1 =MAX(A2:A701)
A2:A1001 = indskannede værdier
B1 =MAX(B2:B701)
B2 =IF(A2=A$1;;A2)
B3 =IF(A3=A$1;;A3)
osv.
Den samme værdi kan forekomme flere hundrede gange.
Kan det laves simplere?
Jeg forstår ikke helt hvad du bruger LARGE() funktionen til.
Er det for at få en kolonne hvor de 100 største værdier er sorteret fra?
Kan du evt. uploade et eksempel på det Excel ark du har der bruger LARGE() funktionen (udfyldt med værdier)?
Er det for at få en kolonne hvor de 100 største værdier er sorteret fra?
Kan du evt. uploade et eksempel på det Excel ark du har der bruger LARGE() funktionen (udfyldt med værdier)?
Kan du bruge =RANK() i PocketExcel?
=rank(reference celle ; array )
http://www.cpearson.com/excel/Rank.aspx
=rank(reference celle ; array )
http://www.cpearson.com/excel/Rank.aspx
Er det fordi du vil sortere det efter størrelse, for så forstår jeg ikke helt din kode?
Ved du om RANK() funktionen virker i PocketExcel, for så er det ret nemt at sortere?
Ved du om RANK() funktionen virker i PocketExcel, for så er det ret nemt at sortere?
#2 Jeg har ikke excelarket her, men formålet er at sortere en kolonne med største værdi først samt det antal gange denne værdi forekommer.
Ved brug af LARGE() funktionen ser den vist sådan her ud (Ud fra hukommelse):
Kolonne A indeholder de værdier der skal sorteres.
B2 =LARGE(A2:A701;1)
C2 =COUNTIF(A2:A701;B2)
B3 =LARGE(A2:A701;1+C2)
C3 =COUNTIF(A1:A701;B3)
B4 =LARGE(A$2:A$701;1+SUM(C$2:C3)
C4 =COUNTIF(A$2:A$701;B4)
B4 og C4 udvides til de resterende celler. Værdierne i kolonne A er ikke unikke og kan forekomme flere gange.
#3 RANK() findes ikke i PocketExcel.
#4 Det der står i #1 er en erstatning for LARGE(), hvor resultatet står i faldende orden i A1, B1, C1 osv.
Vi har skrottet idéen med at benytte de PocketPC skannere, da de er for sløve til at kunne trække så stort et excelark, og programudvikling til PocketPC er et ukendt univers for mig.
Det er mig komplet uforståeligt at noget en Commodore 64 med 985kHz kan håndtere i basic hurtigere end man kan sige "C64" er fjernet fra PocketExcel fordi det er en for kompleks funktion til en PocketPC med mindst 200MHz.
Ved brug af LARGE() funktionen ser den vist sådan her ud (Ud fra hukommelse):
Kolonne A indeholder de værdier der skal sorteres.
B2 =LARGE(A2:A701;1)
C2 =COUNTIF(A2:A701;B2)
B3 =LARGE(A2:A701;1+C2)
C3 =COUNTIF(A1:A701;B3)
B4 =LARGE(A$2:A$701;1+SUM(C$2:C3)
C4 =COUNTIF(A$2:A$701;B4)
B4 og C4 udvides til de resterende celler. Værdierne i kolonne A er ikke unikke og kan forekomme flere gange.
#3 RANK() findes ikke i PocketExcel.
#4 Det der står i #1 er en erstatning for LARGE(), hvor resultatet står i faldende orden i A1, B1, C1 osv.
Vi har skrottet idéen med at benytte de PocketPC skannere, da de er for sløve til at kunne trække så stort et excelark, og programudvikling til PocketPC er et ukendt univers for mig.
Det er mig komplet uforståeligt at noget en Commodore 64 med 985kHz kan håndtere i basic hurtigere end man kan sige "C64" er fjernet fra PocketExcel fordi det er en for kompleks funktion til en PocketPC med mindst 200MHz.
I looked at the documentation about the Spread CE, and within its text I found out that I could stop the conversion process. So a excel *.xls file that gets converted to *.pxl loses the "Large" function, if I stop the conversion and keep it as an *.xls the "Large" function is maintained.
http://www.mrexcel.com/forum/showthread.php?t=1115...
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.