1. Glad it helped
2. To enter CODE tags, use the [#] and then paste the macro between the
[CODE]
...macro
[/CODE]
3. Maybe
Option Explicit
Function LogAvg(ParamArray rngValues()) As Variant
Dim SumValues As Double
Dim Antilog As Double
Dim rngLoop As Range
Dim i As Long, CountValues As Long
With Application.WorksheetFunction
SumValues = 0#
Antilog = 0#
CountValues = 0
'do each piece of range passed
For i = LBound(rngValues) To UBound(rngValues)
'Add the antilogs of the values in the range
For Each rngLoop In rngValues(i).Cells
Antilog = .Power(10, 0.1 * rngLoop.Value)
SumValues = SumValues + Antilog
Next
CountValues = CountValues + rngValues(i).Cells.Count
Next i
'Perform logarithmic average
LogAvg = 10 * .Log10(SumValues / CountValues)
End With
End Function