Ich versuche eine etwas komplizierte Formel in eine Funktion umzuwandeln.
Formel in Zelle F2 =(SUMMENPRODUKT((Ref=G2)*((LINKS(_C)="C")*(_A0))*_A)+SUMMENPRODUKT((RefW=G2)*((LINKS(_C)="D")*(_A0))*_A))
Formel in Zelle F3 =pspos(G3;_A) 'selbstgebastelte Funktion
Option Explicit
Public Function psPos(Zelle As Range, Periode As String) As Double
psPos = Evaluate("=(SUMPRODUCT((Ref=" & Zelle & _
")*((LEFT(_C)=""C"")*(Periode0))*Periode)+SUMPRODUCT((RefW=" & Zelle & _
")*((LEFT(_C)=""D"")*(Periode0))*Periode) _
_
)")
End Function
Da in G2 und in G3 der gleiche String steht, sollte das Ergebnis in F2 und F3 gleichviel geben. F3 ergibt jedoch #WERT. Wahrscheinlich liegt es (auch) am ersten Argument, denn gefragt ist ja der Inhalt der Zelle und ich weiss nicht, wie ich den übergeben muss. Wer kann mir helfen? Ich habe die Beispielmappe hochgeladen.
Danke und Gruss, Peter
https://www.herber.de/bbs/user/52014.xls