c# - Excel 中的公式 - 对数平均值

标签 c# excel math excel-formula formula

我需要实现这个等式:

Logarithmic Sum

在 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);
} 

我需要验证 Excel 工作表中的数据,我在其中以编程方式打印数据。那是原始数据,我对原始数据的 c# 计算以及应该与我的 c# 计算相匹配的 excel 公式。我只是不知道如何在 excel 中编写公式。

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

Arithmetic average

我可以打印出每一行:

// 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,然后在B1中输入:

=10^(A1/10)

然后抄下来。然后在另一个单元格中输入:

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

enter image description here

您可以通过以下方式避免“帮助”列(列B):

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

关于c# - Excel 中的公式 - 对数平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30781331/

相关文章:

c# - 如何使用 WPF 文本框实现捕获和显示当前按键?

vba - Excel 无法启用引用/缺少函数

vba - 如果范围中的单元格包含值,则在相邻单元格中插入注释

java - 如何创建一个循环,转到文件路径并对每个目录上的文件进行计数

c++ - 如何自己编写幂函数?

c# - 根据另一个列表从两个列表中删除元素

c# - 如何在 xamarin ios 中将 NSArray 转换为 List<String>

c# - 在后期操作中重用模型数据

3D(游戏)引擎编程中使用的数学

math - 加权随机坐标