Microsoft Excel中计算反余弦的5种方法
您是否想知道如何在 Excel 中计算反余弦?您已经找到了合适的 Excel 教程。继续阅读以了解更多信息!
作为专业的数据分析人员,您可能需要计算工程和物理领域的角度、边长比、高度、距离等。或者您是工程专业的毕业生或讲师,必须计算出这些值以用于学习目的。
在这种情况下,Excel 的数学和三角函数会派上用场。在今天的 Excel 教程中,我将解释在 Excel 中计算反余弦的各种直观方法。
要了解有关正弦和正切的倒数值(弧度或度数)的更多信息,请阅读我已经介绍过的这些文章:
推荐:如何在Microsoft Excel中使用目标搜索
什么是反余弦?
反余弦 (cos) 是一个数学函数,其运算结果为给定余弦值的倒数或直角三角形邻边与斜边之比。您可以将其表示为cos^-1或arccos或arccosine。
通常,余弦函数接受一个角度作为输入。然后,它返回直角三角形中邻边与斜边的比率。然而,反余弦函数的作用恰恰相反。
如果三角问题中有邻边与斜边的比值,则可以计算出与直角水平相对的锐角的度数。但是,比值或余弦值必须在-1到1 的范围内。
用数学术语来说,反余弦函数的定义域是[-1, 1],其输出(范围)通常为[0, π]弧度或[0, 180]度,因为它表示单位圆第一和第二象限中的角度。
计算反余弦的原因
- 当你知道直角三角形中邻边与斜边的比值时,反余弦有助于确定角度。这在三角学和几何学等领域尤其有用。
- 解三角方程时,经常需要找到具有特定余弦值的角度。反余弦有助于获得这些角度。
- 在各种工程和物理应用中,需要找到与某些余弦值相对应的角度,这些余弦值可以是比率,也可以是邻边和斜边的长度。
- 在导航和天文学中,可以使用反余弦计算来确定基于天体位置的角度。
- 在设计机械臂或进行计算机图形学工作时,您可能需要计算角度以进行正确定位。反余弦有助于此类计算。
- 在信号处理和统计中,确定相移或矢量角度可能涉及反余弦计算,以进行准确的误差分析。
使用 ACOS 函数计算反余弦
Excel 的原生三角函数用于计算给定余弦值的反余弦值,即ACOS函数。
自 Excel 2007 起,它在适用于 Windows 的 Microsoft Excel 桌面版中可用。此外,您还可以在 Excel 网页版中找到该功能。
在 Excel 中根据边长计算反余弦值
假设您知道边长,需要求出反余弦值。您必须遵循以下步骤:
- 假设A 列包含邻边,B 列包含斜边值。
- 在 中
C2
输入以下公式:
=DEGREES(ACOS(A2/B2))
- 点击Enter获取反余弦值或角度(以度为单位)。
- 如果A 列和B列中有更多值,只需从单元格向下拖动自动填充柄
C2
即可立即获得反余弦。
您是否需要以弧度而不是度为单位的反余弦值?请使用以下公式:
=ACOS(A2/B2)
通过余弦计算反余弦
根据给定的余弦值求出反余弦值是一项非常简单的任务。您需要执行以下操作:
- 突出显示工作表上第一个 cos 值相邻的单元格。
- 将以下公式放入选定的单元格并点击Enter:
=ACOS(A2)
- 如果源数据列中有更多 cos 值,只需从计算单元格拖动填充柄即可将 cos 值转换为反余弦值。
使用ACOS函数生成的数据始终以弧度为单位。如果您需要以度为单位的输出值,请使用以下公式:
=DEGREES(ACOS(A2))
推荐:咖啡厅餐厅食品WordPress主题Grand Restaurant
使用 Power Query 计算反余弦
Power Query适用于导入和互联网数据源的反余弦计算。
但是,从外部源导入时,您可以将Power Query中的数据转换为反余弦。然后,如果您不再需要原始数据,则只需将反余弦值输入工作表。操作方法如下:
- 单击“数据”选项卡,然后选择“获取和转换数据”块内的“获取数据”按钮。
- 从获取数据上下文菜单中,选择您喜欢的数据源,如来自 Azure、来自数据库等。
- 您现在应该可以在Power Query工具中看到您的数据集。
- 如果需要从现有工作表导入数据,请突出显示数据并单击“数据”选项卡。
- 在那里,选择“从表/范围”按钮。
- 在“创建表”对话框中,单击“确定”以在Power Query中导入并打开内部数据集。
现在,按照以下步骤了解如何在 Power Query 中创建一个新的反余弦列,并在其中插入一个公式来计算整列的反余弦:
- 单击Power Query功能区上的“添加列”选项卡。
- 在常规块内,选择自定义列按钮。
- 在自定义列对话框中,在新列名称字段中为新列命名。
- 在自定义列公式字段中,输入以下公式:
Number.Acos([Cosine])
- 单击“确定”。
现在,您应该在Power Query工具上看到新列。它还显示余弦到反余弦的转换值。只要源数据列标题为余弦,该公式就会在您的工作表中起作用。
如果是其他情况,请相应地修改公式。您只需将列标题原封不动地放在上述公式的方括号内即可。
通过这种方式计算出的反余弦值是弧度值。如果您需要以度为单位的值,请在 Power Query 工具上执行以下步骤:
- 按照前面提到的说明创建一个新的自定义列。
- 在自定义列向导中,为自定义列指定一个新名称。
- 在列公式字段中输入以下公式:
([Inverse Cosine])*(180/Number.PI)
- 单击“确定”。
新列将显示从弧度到度的转换值。要根据您自己的数据集修改公式,只需将列标题名称原封不动地放在方括号中,代替Inverse Cosine
。
现在您已完成数据转换过程,您可以按照以下步骤将转换后的数据导入 Excel 工作表:
- 单击文件菜单并选择关闭并加载到。
- 在导入数据对话框中,单击现有工作表并突出显示一个单元格作为目标。
- 单击“确定”。
- Power Query会将新列和现有列导出到突出显示的工作表。
推荐:WordPress加速器Seraphinite Accelerator插件
在 Power Pivot (DAX) 中计算反余弦
您可以使用Power Pivot上的数据分析表达式 (DAX) ACOS批量计算整个列的反余弦。稍后,您可以将转换后的值导入数据透视表或 Excel 工作表。以下是您必须尝试的步骤:
- 突出显示输入的 cos 值并单击Power Pivot选项卡。
- 在那里,选择添加到数据模型按钮。
- 在“创建表”对话框中,单击“确定”。
- 突出显示的数据现在将在Power Pivot工具中打开。
- 单击添加列占位符文本并将其重命名为反余弦。
- 选择新创建的反余弦列,然后单击公式栏输入此 DAX 公式:
=(ACOS([Cosine])*(180/Pi()))
- 点击Enter立即将整个输入数据列的余弦值转换为以度为单位的反余弦值。
上图显示了转换后的结果。如果您需要弧度的反余弦,请使用此公式:
=ACOS([Cosine])
现在,要将这些值导入 Excel 工作表,请右键单击Power Query上的“反余弦”列,然后单击上下文菜单上的“复制” 。
突出显示目标单元格并按Ctrl+ Alt+ V。在“选择性粘贴”对话框中,单击Csv并点击OK。
您现在应该在工作表上看到反余弦值。
在 Excel VBA 中计算反余弦
到目前为止介绍的方法有点手动。您需要执行几个步骤,或者您需要记住这些步骤,然后才能在 Excel 中获取反余弦值。
但是,如果您能够学习基本的Excel VBA脚本,则可以在很大程度上实现该过程的自动化。
阅读这篇简单直观的文章,了解如何在工作表上使用 Excel VBA 脚本:
现在您已经知道如何使用 Excel VBA 脚本,您可以使用以下两个脚本在 Excel 中将 cos 转换为反 cos:
推荐:在Microsoft Excel中更改表格样式的5种方法
根据边长计算反余弦的 Excel VBA 脚本
Sub CalculateInverseCosine()
Dim ws As Worksheet
Dim adjacentRange As Range
Dim hypotenuseRange As Range
Dim cell As Range
' Set the worksheet
Set ws = ThisWorkbook.Sheets("Sheet2") ' Replace "Sheet2" with your actual sheet name
' Set the input ranges
Set adjacentRange = ws.Range("A2:A5") ' Change this range as needed
Set hypotenuseRange = ws.Range("B2:B5") ' Change this range as needed
' Loop through the corresponding cells in adjacent and hypotenuse ranges
For Each cell In adjacentRange
' Find the corresponding hypotenuse value in the same row
Set hypotenuseCell = hypotenuseRange.Cells(cell.Row - adjacentRange.Cells(1).Row + 1)
' Calculate inverse cosine in radians
cell.Offset(0, 2).Value = WorksheetFunction.Acos(cell.Value / hypotenuseCell.Value)
' Calculate inverse cosine in degrees
cell.Offset(0, 3).Value = WorksheetFunction.Acos(cell.Value / hypotenuseCell.Value) * (180 / WorksheetFunction.Pi())
Next cell
End Sub
上述VBA 脚本将帮助您将单元格范围内的余弦值转换为反余弦值。您将在C 列中获得以弧度表示的反余弦值,在D 列中获得以度表示的反余弦值。
如果不需要弧度值,请从上面的脚本中删除以下代码行:
cell.Offset(0, 2).Value = WorksheetFunction.Acos(cell.Value / hypotenuseCell.Value)
此外,如果您只需要弧度结果而不是度数结果,请从脚本中删除此代码行:
cell.Offset(0, 3).Value = WorksheetFunction.Acos(cell.Value / hypotenuseCell.Value) * (180 / WorksheetFunction.Pi())
为了帮助您修改脚本,我还在代码片段中添加了注释。请按照注释并根据您的工作表修改脚本。
Excel VBA 脚本,用于从余弦转换为反余弦
Sub CalculateInverseCosine()
Dim ws As Worksheet
Dim cosineRange As Range
Dim resultRangeRadians As Range
Dim resultRangeDegrees As Range
Dim cell As Range
' Set the worksheet
Set ws = ThisWorkbook.Sheets("Sheet7") ' Replace "Sheet7" with your actual sheet name
' Set the input cosine range and result ranges
Set cosineRange = ws.Range("A2:A5") ' Change this range as needed
Set resultRangeRadians = ws.Range("B2:B5") ' Change this range as needed for radians
Set resultRangeDegrees = ws.Range("C2:C5") ' Change this range as needed for degrees
' Loop through the cosine values
For Each cell In cosineRange
' Calculate inverse cosine in radians
resultRangeRadians.Cells(cell.Row - cosineRange.Cells(1).Row + 1).Value = WorksheetFunction.Acos(cell.Value)
' Calculate inverse cosine in degrees
resultRangeDegrees.Cells(cell.Row - cosineRange.Cells(1).Row + 1).Value = WorksheetFunction.Acos(cell.Value) * (180 / WorksheetFunction.Pi())
Next cell
End Sub
使用上述 VBA 脚本,只需单击几次即可将大量源数据的余弦值转换为反余弦。
使用 Office 脚本计算反余弦
以下是使用 Office 脚本在 Excel 中将输入数据源转换为反余弦的两种不同方法:
根据边长计算反余弦的 Office 脚本代码
- 单击Excel 桌面或 Web 应用程序上的“自动化”按钮。
- 选择新建脚本按钮。
- 将以下脚本复制并粘贴到代码编辑器中:
function main(workbook: ExcelScript.Workbook) {
let selectedSheet = workbook.getActiveWorksheet();
// Set range C2 on selectedSheet
selectedSheet.getRange("C2").setFormulaLocal("=ACOS(A2/B2)");
// Auto fill range
selectedSheet.getRange("C2").autoFill("C2:C5", ExcelScript.AutoFillType.fillDefault);
// Set range D2 on selectedSheet
selectedSheet.getRange("D2").setFormulaLocal("=DEGREES(ACOS(A2/B2))");
// Auto fill range
selectedSheet.getRange("D2").autoFill("D2:D5", ExcelScript.AutoFillType.fillDefault);
}
- 单击保存脚本按钮保存代码。
- 点击“运行”按钮来执行代码。
修改脚本的方法如下:
C2
是结果的目的地,因此请进行相应的更改。- 在ACOS公式中,
A2
表示邻边长度,B2
表示斜边。因此,请根据您的工作表更改这些参考。 C2:C5
用于公式自动填充。因此,也请更改此单元格范围引用。例如,如果输入数据存在于A100
和B100
,则应C2:C5
为C2:C100
。D2
是反余弦的目的地(以度为单位)。- 此外,如果A 列和B
D2:D5
列中的输入数据超过四行,则会发生更改。
将余弦转换为反余弦的 Office 脚本代码
function main(workbook: ExcelScript.Workbook) {
let selectedSheet = workbook.getActiveWorksheet();
// Set range B2 on selectedSheet
selectedSheet.getRange("B2").setFormulaLocal("=ACOS(A2)");
// Auto fill range
selectedSheet.getRange("B2").autoFill("B2:B5", ExcelScript.AutoFillType.fillDefault);
// Set range C2 on selectedSheet
selectedSheet.getRange("C2").setFormulaLocal("=DEGREES(ACOS(A2))");
// Auto fill range
selectedSheet.getRange("C2").autoFill("C2:C5", ExcelScript.AutoFillType.fillDefault);
}
上述 Office Scripts 代码将在C 列中生成以弧度为单位的反余弦值,在D 列中生成以度为单位的反余弦值。
在您自己的工作表中使用脚本之前,请不要忘记修改它。
注意: Office Scripts 仅适用于付费的 Microsoft 365 订阅。此外,订阅计划必须是商业标准计划或更高版本。
结论
这些是 Excel 为您提供的所有方法,以便您可以从不同的输入数据源获取反余弦值。按照上述方法的步骤获取所需的数据。