gpt4 book ai didi

vba - 分贝计算器? VBA函数编写

转载 作者:行者123 更新时间:2023-12-02 04:21:15 26 4
gpt4 key购买 nike

所以我有非常具体的任务。我想创建一个将分贝单位相加的函数。目前,您必须输入类似

的内容

=10*LOG10(10^(A1/10)+10^(A2/10))

如果您想要将 15 个部分添加到一起,请使其更长。有点痛苦。

理想情况下,它会像 Excel 函数 SUM 一样工作,并且只接受任何输入。有人可以帮我把它放在一起,或者至少告诉我如果你必须从头开始创建 SUM 会是什么样子吗?

最好,恒天

最佳答案

这个小小的UDF()将为您提供更大的灵 active :

Public Function decibelle(rng As Range, N As Long) As Double
Dim wf As WorksheetFunction, i As Long, Z As Double
Set wf = Application.WorksheetFunction
For i = 1 To N
Z = Z + 10 ^ (rng(i) / 10)
Next i
decibelle = 10 * wf.Log10(Z)
End Function

其中第一个参数是输入范围,第二个参数是输入数量:

enter image description here

编辑#1:

如果您希望UDF()更像SUM(),请考虑:

Public Function decibelle2(rng As Range) As Double
Dim wf As WorksheetFunction, r As Range, Z As Double
Set wf = Application.WorksheetFunction
For Each r In rng
Z = Z + 10 ^ (r.Value / 10)
Next r
decibelle2 = 10 * wf.Log10(Z)
End Function

所以你可以这样使用它:

=decibelle2(A1:A2)

关于vba - 分贝计算器? VBA函数编写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36915510/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com