legoMedlem sedan aug. 200417 inlägg Hej
Jag har en cell där jag har en serie med heltal i följande format: =tal+tal+tal osv. (tex =3+7+45+4+3+6+7).
Jag vill nu i en annan cell få fram antalet tal. Sedan vill jag även få fram största respektive minste tal i två olika celler.
Går detta?
Jag använder mig av excel2000.
M@gnusMedlem sedan jan. 20061 808 inlägg Min och max får du fram med =MIN(D8:D15) och =MAX(D8:D15), givetvis med ditt eget intervall.
legoMedlem sedan aug. 200417 inlägg
M@gnus skrev:
Min och max får du fram med =MIN(D8:D15) och =MAX(D8:D15), givetvis med ditt eget intervall.
Det funkar inte när jag har alla tal i en ruta/cell (tex D8)
legoMedlem sedan aug. 200417 inlägg Jag gjorde en egen funktion för detta men jag har ett litet problem kvar. När jag referar till en cell så tar funktionen in summan istället för uträkningen. Hur löser man det? (=1+1+1 istället för 3)
Jag behöver komma självaste källan utan förenklingar eller uträkningar.
M@gnusMedlem sedan jan. 20061 808 inlägg
lego skrev:
Det funkar inte när jag har alla tal i en ruta/cell (tex D8)
Det var ju så det skulle vara ja... :r
Ok, det där var en av de märkligare upläggen jag sett....
Hursom. Den här funktionen låter dig ta fram formeln som en sträng
Public Function VisaFormelSomText(Cell As Range) As String
If Cell.HasFormula Then VisaFormelSomText= Cell.Formula
End Function
Antalet tal kan du då få genom att räkna "+"-tecken:
=LÄNGD(VisaFormelSomText(A1))-LÄNGD(BYT.UT(VisaFormelSomText(A1);"+";""))+1
Hmmm, nej det var inte snygg. Peta in i en matris istället?
Public Function SplittaFormel(Cell As Range) As Variant
Dim arrVarTmp() As Variant
Dim strTmp As String
Dim arrStrTmp() As String
Dim i As Integer
strTmp = Cell.Formula
strTmp = Replace(strTmp, "=", "")
arrStrTmp() = Split(strTmp, "+", -1)
ReDim arrVarTmp(UBound(arrStrTmp))
For i = 0 To UBound(arrStrTmp)
arrVarTmp(i) = CInt(arrStrTmp(i))
Next i
SplittaFormel = arrVarTmp
End Function
Nu borde det gå att använda Min, max antal osv
=MIN(SplittaFormel(A1))
=ANTAL(SplittaFormel($A$1))
=MAX(SplittaFormel($A$1))
Ähhh, du fattar principen.
Men du. Varför????