Excel中的公式 – 对数平均值

我需要实现这个等式:

对数和

在C#中它非常简单:

static double LogarithmicSummed(IReadOnlyList<double> values) { double outVal = 0; for (int i = 0; i < values.Count; i++) { outVal = outVal + Math.Pow(10, values[i] / 10); } return 10 * Math.Log10(outVal); } 

我需要validationExcel数据表格中的数据,以编程方式打印数据。 这是原始数据,我的C#计算原始数据和Excel的forms,应该匹配我的C#计算。 我只是不知道如何在Excel中写公式。

我知道数据所在的行和列,它们彼此相邻。 例如,如果我需要算术平均值,即:

算术平均值

我可以打印出每一行:

 // If row = 1, startColumn = A, endColumn = D, noOfColumn = 4. This would print: =SUM(A1:D1)/4 mean[row] = @"=SUM(" + startColumn + row + ":" + endColumn + row + ")/" + noOfColumns; 

我会打印什么来匹配我写的第一个公式? 或者我需要在Excel中编写什么?

无VBA:

把你的数据在A1A10中input:

 =10^(A1/10) 

并抄下来。 然后在另一个单元格input:

 =10*LOG10(SUM(B1:B10)) 

在这里输入图像说明

您可以使用以下方法避免“帮助者”列B列)

 =10*LOG10(SUMPRODUCT(10^((A1:A10)/10))) 

如果这是你如何input你的公式,那么为什么不使用总和的文字forms? 即在列上使用for循环并填写:

 10*log(10^(A1/10)+10^(A2/10)+10^(A3/10)+10^(A4/10))