Avatar billede kualle Juniormester
19. november 2018 - 14:19 Der er 8 kommentarer og
1 løsning

Dynamiske formler i andre felter

Hej Eksperten

Jeg har arbejdet med en lidt kompleks sum-hvis-problematik. Jeg er kommet frem til, at hvis jeg kan få følgende løst, kan jeg løse min kollegas problem:

I feltet ark3!B1 har følgende formel: A2&B2&C2... som giver denne tekststreng:
'=SUM.HVISER(ark2!A:A;ark2!B:B;ark1:B1;ark2!C:C;ark1!C1....)'
Nu vil jeg gerne, at ark3!C1 resolver denne tekststreng, så det giver den faktiske formel
19. november 2018 - 14:24 #1
Avatar billede kualle Juniormester
19. november 2018 - 14:34 #2
Hej Thor

Tak for dit svar. Det troede jeg også. Men umiddelbart kan indirekte kun henvise til en anden celle. Ikke løse en lidt mere kompleks formel.
Avatar billede ebea Ekspert
19. november 2018 - 14:46 #3
Prøv at specificere lidt mere konkret hvad det er du har af data, og hvad det er du vil ende op med.
Det du har skrevet, er lidt kryptisk, og hænger ikke rigtig sammen!
Avatar billede kualle Juniormester
19. november 2018 - 14:55 #4
Hej Ebea
Hvordan uploader jeg et eksempel?
Avatar billede kualle Juniormester
19. november 2018 - 15:01 #5
I feltet A1 står formlen =B1&C1 som giver følgende teksstreng: "=SUM.HVISER(Q:Q;P:P;P1)"
Det er en tektsstreng, jeg gerne vil have løst, som den formel den er.
Hvordan gør jeg det?

Mere præcist kan jeg desværre ikke skrive det.
19. november 2018 - 15:08 #6
Det tror jeg nok vi har forstået - det vi nok ikke helt forstår er, hvorfor det er nødvendigt at sætte formlen sammen på den måde. Det kan være, at hvis man forstår hvorfor, så kan man finde en lidt anden måde at gøre det samme på.

Eksperten har desværre ikke en upload-funktion, så folk plejer at bruge Dropbox eller tilsvarende. Vær dog opmærksom på person og firma følsomme informationer i den fil du uploader.
Avatar billede kualle Juniormester
19. november 2018 - 15:12 #7
Det er nødvendigt, fordi jeg har en sum.hviser med forskellige kriterier. Nogle er blanke i nogle tilfælde. Det er excel ikke glad for. Jeg har derfor stykket sum.hviser-formlen sammen i et hjælpe-ark og concattet dem  i en celle. Det er derfor dynamisk, hvad sum.hviser-formlen skal dække over.
Avatar billede ebea Ekspert
19. november 2018 - 15:26 #8
#4  -  Som Thor Østergaard også nævner, så brug www.dropbox.com
Avatar billede kualle Juniormester
19. november 2018 - 15:33 #9
Nå, stackoverflow havde en løsning. Den lægger jeg her:

Følgende VBA giver funktionen WM_EVAL(), hvor man lægger sin formel indeni.
Man bør dog være obs på, at formlen SKAL være på engelsk. Så SUM.IFS() i stedet for SUM.HVISER. Men ellers virker det.

''
' Evaluate Formula-Text in Excel
'
Function wm_Eval(myFormula As String, ParamArray variablesAndValues() As Variant) As Variant
    Dim i As Long

    '
    ' replace strings by values
    '
    For i = LBound(variablesAndValues) To UBound(variablesAndValues) Step 2
        myFormula = RegExpReplaceWord(myFormula, variablesAndValues(i), variablesAndValues(i + 1))
    Next

    '
    ' internationalisation
    '
    myFormula = Replace(myFormula, Application.ThousandsSeparator, "")
    myFormula = Replace(myFormula, Application.DecimalSeparator, ".")
    myFormula = Replace(myFormula, Application.International(xlListSeparator), ",")

    '
    ' return value
    '
    wm_Eval = Application.Evaluate(myFormula)
End Function


''
' Replace Whole Word
'
' Purpose  : replace [strFind] with [strReplace] in [strSource]
' Comment  : [strFind] can be plain text or a regexp pattern;
'            all occurences of [strFind] are replaced
Public Function RegExpReplaceWord(ByVal strSource As String, _
ByVal strFind As String, _
ByVal strReplace As String) As String

    ' early binding requires reference to Microsoft VBScript
    ' Regular Expressions:
    ' with late binding, no reference needed:
    Dim re As Object
    Set re = CreateObject("VBScript.RegExp")

    re.Global = True
    're.IgnoreCase = True ' <-- case insensitve
    re.Pattern = "\b" & strFind & "\b"
    RegExpReplaceWord = re.Replace(strSource, strReplace)
    Set re = Nothing
End Function
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



IT-JOB