mboost-dp1

LARGE() i PocketExcel?


Gå til bund
Gravatar #1 - Dreadnought
18. maj 2009 10:33
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?
Gravatar #2 - Emil Melgaard
20. maj 2009 20:41
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)?
Gravatar #3 - Cloud02
20. maj 2009 21:00
Kan du bruge =RANK() i PocketExcel?

=rank(reference celle ; array )
http://www.cpearson.com/excel/Rank.aspx
Gravatar #4 - Emil Melgaard
20. maj 2009 21:00
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?
Gravatar #5 - Dreadnought
20. maj 2009 21:40
#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.
Gravatar #6 - Cloud02
20. maj 2009 22:02
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...
Gravatar #7 - Dreadnought
21. maj 2009 07:10
#6 SpreadCE er bare ikke en mulighed.
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.

Opret Bruger Login