首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有两个可能输出的多个IF和状态

具有两个可能输出的多个IF和状态
EN

Stack Overflow用户
提问于 2017-11-22 06:25:48
回答 2查看 86关注 0票数 0

曾傑瑞,回答你的第一个评论,不,结果应该是通过,因为B5的值为-12790,而C5的值为-12790,使得它们的绝对最大差为0。当我之前询问时,我将C5更改为0,并在-12790处留下了B5,这使得绝对最大差为12790。这个案子应该是失败的。我为没有详细解释而道歉。这是一个有点棘手的解释,但我真的很感谢你的帮助。我认为我们走在正确的轨道上,我已经尝试了很长一段时间,当我有一些空闲时间时,我一直在试图找出这个公式。让我试着解释一下我在这里要做些什么。第3行有4个标记为Lw_Send / Lw_Return / Up_Send / Up_Return的细胞。这4只手是一个机器人的一部分,每只手必须单独学习。每只手有4个可移动的轴或关节,可以调整。4个关节为X轴(正向和反向运动)、Z轴(垂直运动)、Y轴(水平或左右运动)和Theta轴(旋转运动)。在这个问题中我唯一关心的轴是Y轴和θ轴,这两个轴之间有直接的关系,这意味着如果我把Y轴一个方向移动,它就会移动我的θ轴,反之亦然。这就是为什么我们在调整Y轴和θ轴时有规则的原因。当我教完Lw_Send手(B5:B9)之后,我开始教Lw_Return手(C5:C9)。在我完成这只手的教学之前,我必须将我的θ和Y轴的教学值与我的第一只手Lw-发送手的教学值进行比较。例如,如果B5的教学值为-12790,而C5的教学值为-12792,这意味着我两只手θ轴之间的绝对最大差是2。当θ差为2时,当我看鲑鱼色的三角表时,它说我的Y轴第一和第二手之间的教差必须是一个15-20的绝对最大差,这意味着如果B5是-75506,那么细胞C5可以在-75491到-75486或-75521到-75526之间。最终的目标当然是在双手之间没有偏差。这几乎是不可能的。一旦这两只手完成,我必须对第三和第四只手适用同样的规则。当我继续教每一只手的时候,我必须把我的θ和横向的教学价值和以前所有手的教学价值观进行比较。这就是为什么使用绝对最大差非常重要的原因。一只手可能更积极,另一只手可能更消极。请让我知道,如果这能更好地解释我想要完成的事情。再说一次,我真的很感激你对这场噩梦的帮助。

一直在把头撞在墙上想弄清楚这件事。我试图在一个单元格中有多个IF和语句。

1.)当B7:C7的绝对最大值小于或等于2时,B5:C5的绝对最大值必须小于或等于5。这是第一条规则。

2.当B7:C7的绝对最大值介于或等于3~ 8之间时,同一单元格中的第二条规则必须是B5:C5的绝对最大值小于或等于4。

3.)当B7:C7的绝对最大值介于或等于9到14之间时,第三条规则必须是B5:C5的绝对最大值小于或等于3。

4.)当B7:C7的绝对最大值介于15到20之间时,第四条规则必须是B5:C5的绝对最大值小于或等于2。

5.)当B7:C7的绝对最大值介于21到26之间时,第五条规则必须是B5:C5的绝对最大值小于或等于1。

6.)当B7:C7的绝对最大值介于27到30之间时,第六条规则需要是B5:C5的绝对最大值必须等于0。

他们是我下面电子表格的一个片段。如果您查看delta和delta的鲑鱼色表,您可以看到我的规则中的值如何应用于单元格B5:C5和B7:C7。

如能提供任何帮助,我将不胜感激:

到目前为止,以下是我对前两条规则的看法:

代码语言:javascript
运行
复制
=IF(ISBLANK(C5)," ",IF(OR(AND(MAX(ABS(B5:C5<=5))),(MAX(ABS(B7:C7<=2))),"PASS","FAIL",OR(MAX(ABS(B5:C5<=4))),(MAX(ABS(B7:C7<=8)))),"PASS","FAIL"))

截图

EN

回答 2

Stack Overflow用户

发布于 2017-11-22 07:31:06

正如我在评论中提到的,我会使用一个查找表:

如果表中有“匹配”,那么SUMPRODUCT将给出高于0的数字,因此将是“Pass”。

图中的公式如下:

代码语言:javascript
运行
复制
=IF(SUMPRODUCT((ABS(MAX(A11:B11))<=$B$3:$B$8)*(ABS(MAX(C11:D11))>=$C$3:$C$8)*(ABS(MAX(C11:D11))<=$D$3:$D$8))>0,"Pass","Fail")

乘法等价于‘和’,因此在上面,三个不同的条件是互相“和”的。如果所有3次都从查找表中传递任何行,则公式将返回“Pass”。

编辑:如果您真正的意思是'max绝对值‘而不是’绝对最大值‘,那么您将需要这个公式(这个公式必须是一个使用Ctrl+Shift+Enter输入的数组):

代码语言:javascript
运行
复制
=IF(SUMPRODUCT((MAX(ABS(A11:B11))<=$B$3:$B$8)*(MAX(ABS(C11:D11))>=$C$3:$C$8)*(MAX(ABS(C11:D11))<=$D$3:$D$8))>0,"Pass","Fail")

票数 1
EN

Stack Overflow用户

发布于 2017-11-23 01:16:36

试试这个公式

=IF(ABS(B5-C5)<=6-MATCH(ABS(B7-C7),{0,3,9,15,21,27}),"Pass","Fail")

可能有一些“边缘的情况”,这是行不通的-请测试,并让我知道。

这个公式利用B7C7MATCH函数中的绝对差来寻找B5C5的绝对差所需要满足的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47428119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档