Microsoft Excel中计算反余弦的5种方法

Microsoft Excel中计算反余弦的5种方法

您是否想知道如何在 Excel 中计算反余弦?您已经找到了合适的 Excel 教程。继续阅读以了解更多信息!

作为专业的数据分析人员,您可能需要计算工程和物理领域的角度、边长比、高度、距离等。或者您是工程专业的毕业生或讲师,必须计算出这些值以用于学习目的。

在这种情况下,Excel 的数学和三角函数会派上用场。在今天的 Excel 教程中,我将解释在 Excel 中计算反余弦的各种直观方法。

要了解有关正弦和正切的倒数值(弧度或度数)的更多信息,请阅读我已经介绍过的这些文章:

推荐:如何在Microsoft Excel中使用目标搜索

什么是反余弦?

反余弦 (cos) 是一个数学函数,其运算结果为给定余弦值的倒数或直角三角形邻边与斜边之比。您可以将其表示为cos^-1arccosarccosine

通常,余弦函数接受一个角度作为输入。然后,它返回直角三角形中邻边与斜边的比率。然而,反余弦函数的作用恰恰相反。

如果三角问题中有邻边与斜边的比值,则可以计算出与直角水平相对的锐角的度数。但是,比值或余弦值必须在-11 的范围内。

用数学术语来说,反余弦函数的定义域是[-1, 1],其输出(范围)通常为[0, π]弧度或[0, 180]度,因为它表示单位圆第一和第二象限中的角度。

计算反余弦的原因

  1. 当你知道直角三角形中邻边与斜边的比值时,反余弦有助于确定角度。这在三角学和几何学等领域尤其有用。
  2. 解三角方程时,经常需要找到具有特定余弦值的角度。反余弦有助于获得这些角度。
  3. 在各种工程和物理应用中,需要找到与某些余弦值相对应的角度,这些余弦值可以是比率,也可以是邻边和斜边的长度。
  4. 在导航和天文学中,可以使用反余弦计算来确定基于天体位置的角度。
  5. 在设计机械臂或进行计算机图形学工作时,您可能需要计算角度以进行正确定位。反余弦有助于此类计算。
  6. 在信号处理和统计中,确定相移或矢量角度可能涉及反余弦计算,以进行准确的误差分析。

使用 ACOS 函数计算反余弦

Excel 的原生三角函数用于计算给定余弦值的反余弦值,即ACOS函数。

自 Excel 2007 起,它在适用于 Windows 的 Microsoft Excel 桌面版中可用。此外,您还可以在 Excel 网页版中找到该功能。

在 Excel 中根据边长计算反余弦值

Microsoft Excel中计算反余弦的5种方法
在 Excel 中使用 ACOS 计算反余弦

假设您知道边长,需要求出反余弦值。您必须遵循以下步骤:

  1. 假设A 列包含邻边B 列包含斜边值。
  2. 在 中C2输入以下公式:
=DEGREES(ACOS(A2/B2))
  1. 点击Enter获取反余弦值或角度(以度为单位)。
使用填充柄复制公式
使用填充柄复制公式
  1. 如果A 列B列中有更多值,只需从单元格向下拖动自动填充柄C2即可立即获得反余弦。

您是否需要以弧度而不是度为单位的反余弦值?请使用以下公式:

=ACOS(A2/B2)

通过余弦计算反余弦

通过余弦值获取反余弦值
通过余弦值获取反余弦值

根据给定的余弦值求出反余弦值是一项非常简单的任务。您需要执行以下操作:

  1. 突出显示工作表上第一个 cos 值相邻的单元格。
  2. 将以下公式放入选定的单元格并点击Enter
=ACOS(A2)
使用自动填充复制粘贴公式
使用自动填充复制粘贴公式
  1. 如果源数据列中有更多 cos 值,只需从计算单元格拖动填充柄即可将 cos 值转换为反余弦值。

使用ACOS函数生成的数据始终以弧度为单位。如果您需要以度为单位的输出值,请使用以下公式:

=DEGREES(ACOS(A2))

推荐:咖啡厅餐厅食品WordPress主题Grand Restaurant

使用 Power Query 计算反余弦

从外部源将数据集导入 Power Query
从外部源将数据集导入 Power Query

Power Query适用于导入和互联网数据源的反余弦计算。

但是,从外部源导入时,您可以将Power Query中的数据转换为反余弦。然后,如果您不再需要原始数据,则只需将反余弦值输入工作表。操作方法如下:

  1. 单击“数据”选项卡,然后选择“获取和转换数据”块内的“获取数据”按钮。
  2. 获取数据上下文菜单中,选择您喜欢的数据源,如来自 Azure来自数据库等。
  3. 您现在应该可以在Power Query工具中看到您的数据集。
为 Power Query 选择工作表数据
为 Power Query 选择工作表数据
  1. 如果需要从现有工作表导入数据,请突出显示数据并单击“数据”选项卡。
  2. 在那里,选择“从表/范围”按钮。
  3. “创建表”对话框中,单击“确定”以在Power Query中导入并打开内部数据集。
在 Power Query 中导入 cos 数据
在 Power Query 中导入 cos 数据
在 Power Query 中使用公式创建新列
在 Power Query 中使用公式创建新列

现在,按照以下步骤了解如何在 Power Query 中创建一个新的反余弦列,并在其中插入一个公式来计算整列的反余弦:

  1. 单击Power Query功能区上的“添加列”选项卡。
  2. 常规块内,选择自定义列按钮。
  3. 自定义列对话框中,在新列名称字段中为新列命名。
  4. 自定义列公式字段中,输入以下公式:
Number.Acos([Cosine])
  1. 单击“确定”
使用 Power Query 计算反余弦
使用 Power Query 计算反余弦

现在,您应该在Power Query工具上看到新列。它还显示余弦到反余弦的转换值。只要源数据列标题为余弦,该公式就会在您的工作表中起作用。

如果是其他情况,请相应地修改公式。您只需将列标题原封不动地放在上述公式的方括号内即可。

在 Power Query 中将弧度转换为度
在 Power Query 中将弧度转换为度

通过这种方式计算出的反余弦值是弧度值。如果您需要以度为单位的值,请在 Power Query 工具上执行以下步骤:

  1. 按照前面提到的说明创建一个新的自定义列。
  2. 自定义列向导中,为自定义列指定一个新名称。
  3. 在列公式字段中输入以下公式:
([Inverse Cosine])*(180/Number.PI)
  1. 单击“确定”
Excel 中弧度转度
Excel 中弧度转度

新列将显示从弧度到度的转换值。要根据您自己的数据集修改公式,只需将列标题名称原封不动地放在方括号中,代替Inverse Cosine

从 Power Query 导入数据
从 Power Query 导入数据

现在您已完成数据转换过程,您可以按照以下步骤将转换后的数据导入 Excel 工作表:

  1. 单击文件菜单并选择关闭并加载到
  2. 导入数据对话框中,单击现有工作表并突出显示一个单元格作为目标。
  3. 单击“确定”
Power Query 中的反余弦
Power Query 中的反余弦
  1. Power Query会将新列和现有列导出到突出显示的工作表。

推荐:WordPress加速器Seraphinite Accelerator插件

在 Power Pivot (DAX) 中计算反余弦

将数据添加到数据模型
将数据添加到数据模型

您可以使用Power Pivot上的数据分析表达式 (DAX) ACOS批量计算整个列的反余弦。稍后,您可以将转换后的值导入数据透视表或 Excel 工作表。以下是您必须尝试的步骤:

  1. 突出显示输入的 cos 值并单击Power Pivot选项卡。
  2. 在那里,选择添加到数据模型按钮。
  3. “创建表”对话框中,单击“确定”
  4. 突出显示的数据现在将在Power Pivot工具中打开。
在 Power Pivot 列中输入 DAX 公式
在 Power Pivot 列中输入 DAX 公式
  1. 单击添加列占位符文本并将其重命名为反余弦
  2. 选择新创建的反余弦列,然后单击公式栏输入此 DAX 公式:
=(ACOS([Cosine])*(180/Pi()))
  1. 点击Enter立即将整个输入数据列的余弦值转换为以度为单位的反余弦值。
Power Pivot 中的反余弦数据示例
Power Pivot 中的反余弦数据示例

上图显示了转换后的结果。如果您需要弧度的反余弦,请使用此公式:

=ACOS([Cosine])
在 Power Pivot 上复制数据
在 Power Pivot 上复制数据

现在,要将这些值导入 Excel 工作表,请右键单击Power Query上的“反余弦”列,然后单击上下文菜单上的“复制” 。

突出显示并选择 CSV 进行导入
突出显示并选择 CSV 进行导入

突出显示目标单元格并按CtrlAltV。在“选择性粘贴”对话框中,单击Csv并点击OK

使用 Power Pivot 计算反余弦
使用 Power Pivot 计算反余弦

您现在应该在工作表上看到反余弦值。

在 Excel VBA 中计算反余弦

到目前为止介绍的方法有点手动。您需要执行几个步骤,或者您需要记住这些步骤,然后才能在 Excel 中获取反余弦值。

但是,如果您能够学习基本的Excel VBA脚本,则可以在很大程度上实现该过程的自动化。

阅读这篇简单直观的文章,了解如何在工作表上使用 Excel VBA 脚本:

现在您已经知道如何使用 Excel VBA 脚本,您可以使用以下两个脚本在 Excel 中将 cos 转换为反 cos:

推荐:在Microsoft Excel中更改表格样式的5种方法

根据边长计算反余弦的 Excel VBA 脚本

根据边长计算反余弦的 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 脚本,用于从余弦转换为反余弦

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 脚本代码

使用 Office 脚本计算反余弦
  1. 单击Excel 桌面或 Web 应用程序上的“自动化”按钮。
  2. 选择新建脚本按钮。
  3. 将以下脚本复制并粘贴到代码编辑器中:
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);
}
  1. 单击保存脚本按钮保存代码。
  2. 点击“运行”按钮来执行代码。

修改脚本的方法如下:

  • C2是结果的目的地,因此请进行相应的更改。
  • ACOS公式中,A2表示邻边长度,B2表示斜边。因此,请根据您的工作表更改这些参考。
  • C2:C5用于公式自动填充。因此,也请更改此单元格范围引用。例如,如果输入数据存在于A100B100,则应C2:C5C2:C100
  • D2是反余弦的目的地(以度为单位)。
  • 此外,如果A 列BD2:D5列中的输入数据超过四行,则会发生更改。

将余弦转换为反余弦的 Office 脚本代码

使用 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 为您提供的所有方法,以便您可以从不同的输入数据源获取反余弦值。按照上述方法的步骤获取所需的数据。

推荐:WordPress SEO插件Yoast Seo Premium +Addons


发表评论