Avatar billede folj Forsker
12. april 2018 - 10:59 Der er 6 kommentarer og
4 løsninger

Excel: Kan jeg snyde en cirkulær reference?

Jeg har nogle blandinger som jeg styrer via et excelark.
En af blandingerne har en ret kort holdbarhed. Dvs at den udløber efter 60 timer. Altså 2 et halvt døgn.
Når jeg som std får blandinger ind kl 11:00, så vil blandingen udløbe kl. 23:00 i tredje døgnet. Her tæller jeg fra leveringetidspunktet, og første døgn starter der.

Normalt ville blandingen være brugt op inden den udløber, men når jeg beregner mine bestillinger så ser jeg både på beholdning og på alder. Hvis den ikke bliver brugt op som forventet inden udløb, så skal der bestilles en ny frisk blanding.

Det jeg gerne vil lave er altså en funktion der kan beregne om der ville ligge en bestilling i morgen pga af alder, og jeg så kan kalde det "scenarie X", og så vil den i stedet lægge bestillingen dagen tidligere kl 23:00.

De måder jeg har forsøgt at kreere det på har alle sammen resulteret i en advarsel om cirkulær reference, men er der nogen måde jeg kan omgå det på?

Jeg har også forsøgt at skrive et "X" i en kollonne hvor blandingen vil være udløbet, men hvis jeg vil have den til at beregne ud fra det omtalte "X", så bliver det en cirkulær reference.

Kan jeg være kreativ og snyde Excel?

Alle svar og spørgsmål er velkomne.
Gætterier og måske'er har jeg selv.
Avatar billede xl-Enthusiast Ekspert
12. april 2018 - 11:22 #2
Hvis #1 ikke har hjulpet dig på vej, kan du så eventuelt uploade filen til Dropbox?
Avatar billede folj Forsker
12. april 2018 - 12:21 #3
#1 er en interessant artikel, men jeg har svært ved at se at der er noget der kan bruges I mit tilfælde.

Jeg har desværre ikke lov til at uploade forretningskritiske filer til Dropbox.
Virksomhedens planer er også forretningskritiske oplysninger som Novo Nordisk ikke ønsker at dele med resten af verden.

Så her støder jeg ind I en begrænsning.
Avatar billede xl-Enthusiast Ekspert
12. april 2018 - 12:46 #4
Kan du ikke bare lave et lille eksempel uden at afsløre forretningshemligheder?
Jeg synes det er svært at komme med et konkret løsningsforslag alene ud fra din beskrivelse.
Avatar billede Dan Elgaard Ekspert
12. april 2018 - 13:10 #5
Hvis man har cirkulære reference i sine regneark, så har man ikke gennem tænkt, hvad man vil lave og, hvad man vil opnå!
Eller også er man gået i gang med, at bruge et program (Excel) som man rent faktisk ikke ved nok om!
Eller osse har man valgt det forkerte program til sin opgave - måske 'MS Access' havde været bedre?

Cirkulære referencer er en dødssynd!

Lav en plan for dit regneark, og lær, at bruge de funktioner, som Excel har, så du kan finde de(n) rette funktion(er), og undgå fejl (cirkulære referencer ER en fejl!).

Uden, at se dit regneark, kan vi ikke rigtigt hjælpe dig, andet end det udmærkede link, som Roger Rabbit har givet...
Avatar billede acore Ekspert
12. april 2018 - 13:15 #6
Ud fra hvad du skriver: Du skal bestille en ny blanding, hvis den er ved at være brugt op eller hvis den er ved at udløbe.

Hvis du har restmængden i A1 og bestillingsdatoen i A2, så

HVIS (ELLER(A1<minmængde;A2>3);"Bestil";"Vent)

Det kan undersøges uden cirkulære referencer, og det er logikken i dit regneark den er gal med.
Avatar billede folj Forsker
12. april 2018 - 13:29 #7
@ Dan Elgaard
Det er ellers nogle provokerende udtalelser I de første punkter I dit indlæg.

Jeg må blot tænke mig om og finde en made hvorpå jeg kan få bestillingen placeret dage før der blandingen udløber.

Jeg er blot bange for at jeg skal ombygge mit regnskab helt fundamentalt, fordi min function der beregner alder på nuværende blanding ikke er baserert på timer, men kun beregner en blandings alder til 2 dage indtil den starter på næste hele døgn.

Takker for dit provokerende input, som jeg også anerkender som løsningen...
Avatar billede folj Forsker
12. april 2018 - 13:33 #8
@acore
Lyder jo lige til, så jeg ser lige på dit forslag, og så vender jeg tilbage.
Avatar billede acore Ekspert
12. april 2018 - 13:35 #9
#5: Det er ikke korrekt, at cirkulære referncer altid er en fel. Der kan være situationer, hvor cirkulære referencer kan være en god løsning på noget, der ellers ikke kan klares i Excel uden vba. At det så nok ikke er tilfældet her, er en anden sag.

Det kan du også se i linket i #1.
Avatar billede folj Forsker
13. april 2018 - 12:45 #10
Jeg fik ændret min formel, så den I stedet for at beregning ud fra BlandingAlder >2, nu beregner at hvis BlandingAlder >= 2,og det havde den ønskede virkning.

Ændringen blev altså klaret uden at snyde nogen cirkulær reference, og jeg tror det fungerer efter hensigten nu.

Jeg taker for jeres engagement.
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

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