Excel 上的指南针方位

Excel 上的指南针方位

需要一些帮助来创建 Excel 公式:

罗盘方位从 0 到 359。我在此处附加了一张其外观的图片:

罗盘方位

基本上,我正在寻找一种解决方案,当我在 Excel 中输入 2 列罗盘方位时,它会给我左或右。让我举个例子:

从 120 到 165,输出应该是“右”,从 120 到 105 应该是“左”。

从 345 到 15,输出应为“right”而不是“left”。同样,从 15 到 345,输出应为“left”而不是“right”。

我对 Excel 还很陌生,所以如果有简单的解决方案,我提前道歉。不过,任何帮助都将不胜感激!

答案1

欢迎!

让我们一步一步地研究解决方案。

首先,请记住,除了您提到的“右”和“左”之外,还可能出现另外两个选项:如果罗盘方位的新旧值相同,则“继续前进”;如果它们之间的差值恰好是 180 度,则“后退”。

现在让我们旋转罗盘卡,使旧方位角与 0 对齐,方向为正北。新方位角也将旋转该角度。如果新方位角在右侧,则没有问题,但如果它位于零的左侧怎么办?这个负值会搞乱所有计算。让我们将此值改为正确的值,范围从 0 到 359 度。这并不难 - 加 360(或 720,或 1080),然后取除以 360 的余数。因此,-15 将变成正确的 345 度。

现在让我们从这个值中减去圆的一半,即 180 度,并查看结果的符号:如果是负值,则应向右转,如果是正值,则向左转,如果是零,则向后转。符号会让我们知道 SIGN() 函数 - 它返回 -1、0 或 1。要在 CHOOSE() 函数中使用此值,您需要将这些值更改为 1、2 和 3。因此,只需添加 2。因此,您的任务可以使用如下公式解决

=IF(A1=B1;"Steady! (forward)";CHOOSE(SIGN(MOD(B1-A1+720;360)-180)+2;"Starboard! (right)";"Full reverse! (back)";"Port! (left)"))

相关内容