Avatar billede torben lind Forsker
26. november 2006 - 22:46 Der er 72 kommentarer og
1 løsning

Ønsker automatisk overførelse af hvor mange dage der er indtastet

Hej allesammen.
Jeg har et regneark der indholder 9 faneblade,med dagligt salg fra 9 forskellige butikker,de er allesammen bygge ens op,så alle data står det samme sted i alle arkene.
Jeg har totalsalg stående i c373 der er dag 1 i måneden,derefter følger dag 2 i g373,dag 3 k373 osv. til måneden er omme.
Jeg har så et faneblad nummer 10 med diverse opsamlinger fra de 9 ark,jeg ønsker på dette ark (nummer 10) en celle (formel),hvor jeg kan se hvor mange dage der er brugt,for at nå en given total.I ark nummer 10 har jeg kolonner med total pr butik,men jeg ønsker at kunne se hvor mange dage denne total indeholder.
Jeg havde forestillet mig noget med at lave en kolonne,hvor at når der var en omsætning c373 skrev denne kolonne 1,når der næste dag var en indtastning i g373 skrev kolonnen 2 osv.
Jeg håber at jeg har forklaret mig godt nok ellers kom tilbage.
Torben
Avatar billede excelent Ekspert
26. november 2006 - 23:07 #1
tæller celler i Ark1 i område C373:AG373 som er større end 0

=TÆL.HVIS(Ark1!C373:AG373;">0")
Avatar billede jkrons Professor
26. november 2006 - 23:09 #2
Prøv med denne formel

=SUMPRODUKT((Ark1!C3<>"")+(Ark1!G3<>"")+(Ark1!K3<>"")+...+(Ark1!(?3))

Den tæller hvor mange af dine celler i Ark1, der er udfyldt. Du skal selvfølgelig udvide, så alle cellefr, der kan tastes i er med. Gwentag for de andre ark.
Avatar billede jkrons Professor
26. november 2006 - 23:10 #3
Og selvfølgelig i rækker 373, ikke i række 3 :-)
Avatar billede torben lind Forsker
26. november 2006 - 23:42 #4
Hej jkrons.
Jeg har lige prøvet din formel,men rent umiddelbart tror jeg ikke at den virker,jeg prøvede først med de 2 første dage i måneden og der skrev den fint nok et 2 tal i cellen,men når jeg så prøvede at slette den første dag,altså lave den om til et 0 skrev den stadigvæk 2 i cellen i ark 10,i alle mine celler med 373 ligger der i forvejen en formel og derfor står der 0 allerede,jeg håber du har en løsning på dette.
Til excelent.
Din formel tæller alle celler i 373 men der er 3 celler imellem der også indeholder tal så jeg kan ikke bruge din formel.
Jeg går til køjs nu men vender tilbage imorgen engang
Torben
Avatar billede excelent Ekspert
26. november 2006 - 23:51 #5
hvis det er 3 samlede celler fx. F373,G373,H373 (trækkes de fra)
=TÆL.HVIS(Ark1!C373:AG373;">0")-TÆL.HVIS(Ark1!F373:H373;">0")

hvis det fx er F373,H373,K373 (trækkes de fra)
=TÆL.HVIS(Ark1!C373:AG373;">0")-TÆL.HVIS(Ark1!F373;">0")-TÆL.HVIS(Ark1!H373;">0")-TÆL.HVIS(Ark1!K373;">0")
Avatar billede torben lind Forsker
26. november 2006 - 23:58 #6
Hej excelent.
Det er kun oplysningen i c373,g373,k373 osv,jeg kan/skal bruge til noget,de andre celler hænger ikke sammen,så der er 3 enkelt stående celler mellem hver celle,hvorfra jeg ønsker oplysningen hentet.
Torben
Avatar billede excelent Ekspert
27. november 2006 - 00:28 #7
yeps det er bare mig der ikke kan læse, men den er vist feset ind nu
gonat :-)

=SUM(C373>0;G373>0;K373>0;O373>0;S373>0;W373>0;AA373>0;AE373>0;AI373>0;AM373>0;AQ373>0;AU373>0)
Avatar billede excelent Ekspert
27. november 2006 - 01:04 #8
det var vist sådan

=SUM(Ark1!C373>0;Ark1!G373>0;Ark1!K373>0;Ark1!O373>0;Ark1!S373>0;Ark1!W373>0;Ark1!AA373>0;Ark1!AE373>0;Ark1!AI373>0;Ark1!AM373>0;Ark1!AQ373>0;Ark1!AU373>0;Ark1!AY373>0;Ark1!BC373>0;Ark1!BG373>0;Ark1!BK373>0;Ark1!BO373>0;Ark1!BS373>0;Ark1!BW373>0;Ark1!CA373>0;Ark1!CE373>0;Ark1!CI373>0;Ark1!CM373>0;Ark1!CQ373>0;Ark1!CU373>0;Ark1!CY373>0;Ark1!DC373>0)+SUM(Ark1!DG373>0;Ark1!DK373>0;Ark1!DO373>0;Ark1!DS373>0)
Avatar billede excelent Ekspert
27. november 2006 - 06:37 #9
Ovenstående formel virker for så vidt godt nok, men den skal jo indsættes i
12 forskellige celler foruden alle arknavne skal rettes til dine aktuelle
Så prøv i stedet denne function.
Indsættes i et alm. modul, og i arket skriver du blot : =Dage("Ark1")
udskift Ark1 med dit aktuelle arknavn.
I ark/måneder med 31 dage anvendes kolonne 3 til 123
I ark/måneder med 28 dage anvendes kolonne 3 til 111
Så hvis du i ark med 28 dage benytter kolonne 112 til 123 til andre værdie,
så skal koden tage højde for dette (bliver først efter arb.tid.)

Function Dage(Ark)
Dim t, d
Application.Volatile
For t = 3 To 123 Step 4
If Sheets(Ark).Cells(373, t) > 0 Then d = d + 1
Next
Dage = d
End Function
Avatar billede torben lind Forsker
27. november 2006 - 08:29 #10
Hej excelent.
Nu er vi ude i noget jeg ikke aner en meter om,dette kræver en nærmere forklaring.
I mit ark nummer 10 hvor jeg ønsker denne oplysning eksempel i celle t44 skal jeg der stille musen og skrive hvad? jeg har efter månedens længde jo forskellige antal salgsdage pr. måned og hvad mener du med modul.
Avatar billede excelent Ekspert
27. november 2006 - 09:16 #11
kopier koden herfra
i arket taster du ALT+F11
i menuen Insert vælger du Module
indsæt koden i vindue til højre

og så går du til den celle hvor du vil ha resultat og taster =Dage("arknavn")
Avatar billede excelent Ekspert
27. november 2006 - 15:41 #12
hvis du i ark med 28 dage anvender kolonne DK til DV til andre værdier
skal der tages højde for dette.
I så fald skal jeg bruge en indikator for hvilken måned arket dækker
dette kan være et tal mellem 1-12 eller bedre antallet af dage i måneden
Avatar billede jkrons Professor
27. november 2006 - 17:04 #13
Vi mangler faktisk en oplysning :-) Da du jo har formler i ræke 373? Kan der være dage, hvor der er tastet, men hvor salget er 0? Altaså dage, der skal indgå i optællingen, selv om der ikke har været salg?
Avatar billede torben lind Forsker
27. november 2006 - 17:22 #14
Hej jkrons.
Der er omsætning i alle dage på arket.Læs nedstående.
Hej excelent i alle mine 9 ark er der nøjagtig det samme antal dage,alle ark er bygget ens op,så hvis der er foreksempel er 24 salgsdage i måneden,kommer der til at være 3 dage sidst i måneden,hvor der ikke bliver indtastet noget.
Er det forståeligt.jeg har først frie kolonner fra DV og derudaf.
Avatar billede torben lind Forsker
27. november 2006 - 17:33 #15
Hej excelent.
Jeg har lige prøvet med dit ekspl.,når jeg jeg i det første faneblad har lavet denne formel,skriver den 7 dage,men der er kun 6 dages indtastning.Hvis jeg så prøver i faneblad nummer 2,på samme måde som i nr. 1,kommer den med en fejlmedd. (navn?)og det gør den så også i nummer 1 faneblad.Hvad er galt?
Avatar billede excelent Ekspert
27. november 2006 - 17:37 #16
prøv vis formel som du skriver den
Avatar billede torben lind Forsker
27. november 2006 - 17:53 #17
Hej excelent.
Den ene formel kopierer jeg direkte fra dit svar og den anden skriver jeg på denne måde =Dage("KOSCIERZYNA") der kommer en fejlmedd. der hedder AMBIGUOUS NAME DETECTED:Dage
Avatar billede excelent Ekspert
27. november 2006 - 18:08 #18
hmm virker fint her
Avatar billede excelent Ekspert
27. november 2006 - 18:13 #19
prøv lige at udskifte din kode med denne
i arket skal du så skrive : =xDage("KOSCIERZYNA") i stedet for
du kan også blot sætte et x i de 2 linier som vist her
(1 og næstsidste linie)

Function xDage(Ark As String)
Dim t, d
Application.Volatile
For t = 3 To 123 Step 4
If Sheets(Ark).Cells(373, t) > 0 Then d = d + 1
Next
xDage = d
End Function
Avatar billede torben lind Forsker
27. november 2006 - 18:25 #20
Hej excelent.
Jeg har prøvet men med det samme resultat som før,hvis du er intresseret i at prøve mere,kunne jeg sende dig en mail med hele arket,hvis du giver din mail til alle og enhver,men det er mærkeligt hvis det fungerer fint hos dig,jeg må jo gøre et eller andet forkert.
Avatar billede excelent Ekspert
27. november 2006 - 18:27 #21
send trykt dit ark til mig, det forbliver mellem os 2
pm@madsen.tdcadsl.dk
Avatar billede mrjh Novice
27. november 2006 - 18:31 #22
Hvad med:
=TÆL.HVIS(Ark1!C373:DU373;">0")/4
Avatar billede torben lind Forsker
27. november 2006 - 18:43 #23
Hej excelent.
Så håber jeg at der skulle være noget i din postboks.
Jeg er lige væk i en halv times tid.
Avatar billede excelent Ekspert
27. november 2006 - 18:47 #24
ja ok kikker på det
Avatar billede excelent Ekspert
27. november 2006 - 19:28 #25
Da du har Total i forskellige rækker, har jeg udvidet Funktionen, så du foruden
Arknavn kan indtaste rækkenummer for det aktuelle Ark

I Arket skriver du så : =xDage("arknavn";373)

Function xDage(Ark As String, Række)
Dim t, d
Application.Volatile
For t = 3 To 106 Step 4
If Sheets(Ark).Cells(Række, t) > 0 Then d = d + 1
Next
xDage = d
End Function

sender arket retur med en lille navneændring, så det ikke konflikter med din org.
Avatar billede torben lind Forsker
27. november 2006 - 19:59 #26
Hej excelent.
Dette ark som jeg fik tilbage fra dig indeholder også den omtalte fejl #navn? og når jeg prøver at gøre det i mit ark her sker der det samme.
Hvad gør jeg forkert men på en måde kan jeg ikke gøre noget forkert andet end at åbne det medsendte fra dig og allerede der er den gal.
Avatar billede torben lind Forsker
27. november 2006 - 20:02 #27
Hej mrjh.
Dit forslag duer ikke,hvis jeg forstår formelen godt,da det kun er oplysninger i c373 g373 k373 osv. jeg skal bruge,imellem står der også nogle tal der ikke skal bruges i dette sammenhæng
Avatar billede excelent Ekspert
27. november 2006 - 20:14 #28
hmm det kan evt. være noget med Excel versioner

jeg har Excell 2003
hvad kører du med ?
Avatar billede torben lind Forsker
27. november 2006 - 20:25 #29
det samme 2003,alt er bygget op i 2003,så det ser ikke ud til at problemet er der.
Men det må jo ligge her hos mig et sted hvis det virker hos dig.
Avatar billede excelent Ekspert
27. november 2006 - 20:28 #30
prøv evt. min testversion (klik på link)

http://pmexcelent.dk/AntalDage.xls
Avatar billede excelent Ekspert
27. november 2006 - 20:30 #31
hvis du har tid, kan vi lige teste noges opsætning i VBA > Tools > References
Avatar billede mrjh Novice
27. november 2006 - 20:31 #32
torbenlind > Helt ok, men det er derfor der divideres med 4, hvorfor det burde give dit resultat
Avatar billede excelent Ekspert
27. november 2006 - 20:33 #33
mrjh jeg har prøvet din formel, ellers go ide, men den virker ikke i dette eks så vidt jeg har testet
Avatar billede excelent Ekspert
27. november 2006 - 20:43 #34
mrjh > et eks.
C373=3 D373=0 E373=1 F373=1 G373=0 F373=1

I ovenstående eks. skal vi kun tælle C373 og G373

som du kan se din formel vil tælle forkert eller hur ?
Avatar billede mrjh Novice
27. november 2006 - 20:54 #35
Nope, kan jeg godt se. Så har jeg misforstået. Troede at alle felter ville have tal over 0 frem til sidste kolonne som var udfyldt. I dit eks. ville D373 også have et tal>0 i og med E og F havde det. Undskyld forstyrrelsen, og fortsæt med din fine hjemmegjorte funktion :-)
Torbenlind > har du excelents funktion kopieret ind flere gange. Det kunne det tyde på med meddelelsen "ambigues name". Koden skal kunne ligge i alm. modul som excelent skriver. Ikke i ark eller this workbook
Avatar billede torben lind Forsker
27. november 2006 - 21:00 #36
Hej excelent.
Når jeg ser dit test arrk står der bare #navn? i ark 1 og #navn? i KOSCIERZYNA.
der må være et eller andet galt hos mig hvis det virker hos dig.
Avatar billede excelent Ekspert
27. november 2006 - 21:01 #37
det virker hos mig
skal vi lige teste noget i din VBA opsætning ?
Avatar billede torben lind Forsker
27. november 2006 - 21:02 #38
Hej excelent.
Den skriver at formlen indeholder ikke godkendt tekst.
Avatar billede excelent Ekspert
27. november 2006 - 21:04 #39
prøv lige at taste ALT+F11 i arket
klik så på menuen Tools
og vælg References
Avatar billede torben lind Forsker
27. november 2006 - 21:05 #40
Hej mrjh.
Jeg har ikke funktionen kodet ind flere gange der er kun 1 modul pr. ark det vil sige da jeg lavede en test havde jeg et modul liggende på et ark og det næste modul liggende på det næste ark.
Avatar billede torben lind Forsker
27. november 2006 - 21:05 #41
Hej excelent
jeg er klar til test
Avatar billede excelent Ekspert
27. november 2006 - 21:06 #42
ok så skulle du gerne have flueben i Visual Basic for Applications  og
Avatar billede torben lind Forsker
27. november 2006 - 21:07 #43
Jeg har gjort det hvad skal jeg se efter
Avatar billede excelent Ekspert
27. november 2006 - 21:07 #44
Microsoft Excell 11,0 Object Library  og
Avatar billede excelent Ekspert
27. november 2006 - 21:08 #45
Ole Automation og
Avatar billede torben lind Forsker
27. november 2006 - 21:08 #46
der er flueben i de 4 øverste
Avatar billede excelent Ekspert
27. november 2006 - 21:09 #47
Microsoft Office 11,0 Object Library
Avatar billede excelent Ekspert
27. november 2006 - 21:09 #48
æv :-)
Avatar billede excelent Ekspert
27. november 2006 - 21:10 #49
ok ud i arket igen
Avatar billede torben lind Forsker
27. november 2006 - 21:10 #50
2 gange microsoft excell 11,0 object library
Avatar billede excelent Ekspert
27. november 2006 - 21:11 #51
er den ene ikke office ?
Avatar billede torben lind Forsker
27. november 2006 - 21:12 #52
ok
Avatar billede excelent Ekspert
27. november 2006 - 21:13 #53
vi kan evt. prøve tilføjelsesprogrammer i Format meneuen
men ved ikke om der hjælper
Avatar billede excelent Ekspert
27. november 2006 - 21:13 #54
det var Funktions menuen
Avatar billede torben lind Forsker
27. november 2006 - 21:13 #55
undskyld den ene er office
Avatar billede torben lind Forsker
27. november 2006 - 21:15 #56
der er jeg nu
Avatar billede excelent Ekspert
27. november 2006 - 21:15 #57
jeg har flueben i de 3 første (Analysis Tool pak vba)
Avatar billede torben lind Forsker
27. november 2006 - 21:20 #58
jeg har slet ingen flueben der
Avatar billede excelent Ekspert
27. november 2006 - 21:22 #59
prøv evt. de 3 første
Analysis Tool pak
Analysis Tool pak vba

der står ikke noget i min den første men den er vinget af
Avatar billede torben lind Forsker
27. november 2006 - 21:22 #60
skal jeg prøve at vinge de 3 første af og se hvad der sker
Avatar billede excelent Ekspert
27. november 2006 - 21:23 #61
ja
Avatar billede torben lind Forsker
27. november 2006 - 21:24 #62
1 analysis tool pak
2 analysis tool pak vba
3 guiden betinget sum
skal jeg vinge dem af alle 3
Avatar billede excelent Ekspert
27. november 2006 - 21:26 #63
ok så kun 1 og 2

og så se om det har ændret noget i arket

du skal nok stille dig i cellen og taste F2 og enter
Avatar billede torben lind Forsker
27. november 2006 - 21:30 #64
Hej excelent.
Det var med samme resultat som de foregående gange,hvad kan der være galt????? hos mig
Avatar billede torben lind Forsker
27. november 2006 - 21:33 #65
hvad mener du med cellen  hvad for en celle
Avatar billede excelent Ekspert
27. november 2006 - 21:34 #66
ok så har jeg ikke flere ideer lige nu

MEN kom til at tænke på om vi ikke kan bruge rækken lige under total
den med SUMPRODUKT formlerne
prøv

=TÆL.HVIS(KOSCIERZYNA!C374:DB374;">0")
Avatar billede excelent Ekspert
27. november 2006 - 21:35 #67
med celle mener jeg T44 i total arket
Avatar billede torben lind Forsker
27. november 2006 - 21:39 #68
når jeg indtaster Formlen i KOSCIERZYNA går det fint men når jeg så skal indtaste den i det næste ark går det galt,med den samme meddelse som før.
Avatar billede excelent Ekspert
27. november 2006 - 21:41 #69
ja der skal du bruge række 370
din total er jo i række 369 i dette ark
=TÆL.HVIS(GDYNIA!C374:DB370;">0")
Avatar billede excelent Ekspert
27. november 2006 - 21:42 #70
sry det var

=TÆL.HVIS(GDYNIA!C370:DB370;">0")
Avatar billede torben lind Forsker
27. november 2006 - 21:50 #71
Hej excelent.
DET VIRKER BARE med den nye formel du gav mig så simpelt var det alligevel men jeg fik lære lidt om makro (modul)så smid et svar og du får dine velfortjente POINT.
MANGE MANGE TAK for hjælpen og tålmodigheden.
Avatar billede excelent Ekspert
27. november 2006 - 21:52 #72
LOL ja det var en hård nød, beklager jeg fik dig rodet ud i det vba halløj,
men under normale omstændighder er det et særdeles godt værktøj når
excell formlerne må gi op.
velbekom

phew :-)
Avatar billede torben lind Forsker
27. november 2006 - 21:56 #73
du skal ikke beklage,jeg fik lært en lille smule om vba og det tager man aldrig skade af,endnu engang tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester