Avatar billede krann Nybegynder
02. januar 2011 - 11:48 Der er 12 kommentarer og
1 løsning

Excel funktion

Findes der en excel funktion der skriver værdierne der bliver brugt til at finde et resultat?

f.eks. hvis jeg har en celle der hedder B2 der giver værdien 10. Værdien 10 er fundet ved at plusse A1 som er 5 og A2 som også er 5. Så vil jeg gerne have at jeg kan lave en celle som skriver værdierne fra A1 og A2 "5 + 5".

Kan dette lade sig gøre?? Svar skal bruges hurtigt, da eksamenen er  i morgen:).
Avatar billede svla Mester
02. januar 2011 - 11:56 #1
Hej !

Prøv det her:
F.eks. i celle B3 : =A1 & "+" &  B1
Avatar billede krann Nybegynder
02. januar 2011 - 12:25 #2
Tak for svaret svla. Den metode du beskriver er den jeg bruger i forvejen. Men det jeg mente var, at cellen selv fandt ud af hvor den skulle tage værdierne fra ud fra min svarcelle. Hvis jeg selv skal finde cellerne er det i princippet lige så hurtigt at skrive værdierne ind manuelt. Selvfølgelig kan det bruges til reproduktion af skemaet.
Avatar billede svla Mester
02. januar 2011 - 13:01 #3
Har ikke umiddelbart anden løsning
Avatar billede Slettet bruger
02. januar 2011 - 13:37 #4
Prøv at se oom der er noget her du kan bruge.

Indsæt følgende kodestump i et modul:

Function ShowFormula(Cell)
Application.Volatile
    If Cell = "" Then
        ShowFormula = ""
    ElseIf Left(Cell.FormulaLocal, 1) <> "=" Then
        ShowFormula = Cell
    Else
        ShowFormula = Right(Cell.FormulaLocal, Len(Cell.FormulaLocal))
    End If
End Function

Gå tilbage til regnearket og indstat følgende formler i tre tomme celler:

=ShowFormula(B2)
=ShowFormula(A1)
=ShowFormula(A2)

returværdierne vil være:
=A1+A2
5
5

Hans
Avatar billede krann Nybegynder
02. januar 2011 - 14:03 #5
Tak for svaret Hans, men den macro løser ikke mit problem, da den netop giver returværdierne A1+A2. I stedet for A1+A2 vil jeg gerne have at den netop skriver 5+5. Jeg kan ende med at skulle bruge op til 10 forskellige tal i min formel, så det vil være lidt en ulempe at skulle skrive showformula(A1-10), og samtidigt tror jeg ikke min censor gider sætte værdierne sammen:).
Avatar billede Slettet bruger
02. januar 2011 - 15:40 #6
Nej, men søg du da bare videre!
Avatar billede Slettet bruger
02. januar 2011 - 16:02 #7
Så hvis du i A1:A10 har ti femtaller så vi du have returneret
=5+5+5+5+5+5+5+5+5+5

Er det korrekt forstået?

Hvis JA, er det for at censoren kan checke om du er i stand til rigtigt at indtaste femtaller eller hur?

Umiddelbart skulle man tro ,at det ville give mere mening, at checke om du for eksempel havde indtastet en formel som for eksempel:
=SUM(A1:A10)

Men det er måske noget højere matematik vi er ude i her?
Avatar billede krann Nybegynder
02. januar 2011 - 16:17 #8
Nej, det er alt sammen for at spare tid. Det min censor ønsker at finde ud af er, hvis jeg har lavet en fejl i min udregning, hvor fejlen så ligger. Han vil givetvis hellere sammenligne med hans løsning og se 5%+6% fremfor at skulle gennemgå alles cellereferencer.

Stykkerne er naturligvis simplificeret i mit spørgsmål. Et eksempel kunne være at jeg skal finde en firma værdi ud fra formlen: Free cash flow/(r_wacc - growth). Der vil jeg så gerne have min celle til at sige "77/(0,0841-0,04)".

Det er alt sammen for at spare tid. :)
Avatar billede Slettet bruger
02. januar 2011 - 16:37 #9
Hvis du i A1 har formlen:
=77/(0,0841-0,04) så får du returværdien 1746, 032.

Hvis du i B1 indtaster =ShowFormula(A1) så får du returværdien:
=77/(0,0841-0,04)

Hvad er det mere, du vil?
Avatar billede krann Nybegynder
02. januar 2011 - 16:47 #10
Nu er vi på vej derhen af. Problemet er så, at jeg jo i mine celler bruger referencer fra andre. Så i stedet for 77/(0,0841-0,04) vil have B1/(B2-B3). Er der en måde hvorpå dette kan konverteres, eller vil løsningen på mit problem blive, at jeg skal indtaste manuelle værdier i stedet for at klikke på celler?
Avatar billede krann Nybegynder
02. januar 2011 - 16:51 #11
For hvis jeg skal skrive tallene manuelt er det jo lige så hurtigt blot at kopiere tal-værdierne og så sætte dem ind i cellen ved siden af.
Avatar billede Slettet bruger
02. januar 2011 - 16:58 #12
Jeg stopper her.
Avatar billede krann Nybegynder
02. januar 2011 - 18:06 #13
Function FnK(rngF As Range) As String
    Dim vRefs As Variant, lngRef As Long
    FnK = "'" & rngF.Formula
    vRefs = Split(PatternExtract(FnK, "[A-Z]{1,2}[0-9]+", , -1))
    For lngRef = LBound(vRefs) To UBound(vRefs) Step 1
        FnK = Replace(FnK, vRefs(lngRef), Round(Evaluate(vRefs(lngRef)),3), 1, -1, vbTextCompare)
    Next lngRef
End Function

'RegExp Function
Function PatternExtract(strF As String, strPattern As String, _
            Optional boolIgnoreCase As Boolean = True, Optional lngInstance As Long = 1) As Variant
    Dim RegExp As Object, RegExpMatch As Object
    On Error Resume Next
    Set RegExp = CreateObject("vbscript.regexp")
    With RegExp
        .Global = True
        .IgnoreCase = boolIgnoreCase
        .Pattern = strPattern
    End With
    Set RegExpMatch = RegExp.Execute(strF)
    If lngInstance > RegExpMatch.Count Then
        PatternExtract = ""
    Else
        If lngInstance = -1 Then
            For lngInstance = 1 To RegExpMatch.Count Step 1
                PatternExtract = PatternExtract & " " & RegExpMatch(lngInstance - 1)
            Next lngInstance
            PatternExtract = Replace(PatternExtract, " ", "", 1, 1)
        Else
            PatternExtract = RegExpMatch(lngInstance - 1)
        End If
    End If
    Set RegExpMatch = Nothing
    Set RegExp = Nothing
End Function



er hvad endte med at løse mit problem
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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