首页 > 解决方案 > Excel:多个 IF AND OR 语句用于根据不同的层次结构选择值

问题描述

我在 AX 和 AY 列中有 2 列数据。单元格中的每个值代表一个分类值,即“强”、“好”、“中等”、“弱”,按证据强度的降序排列,即支持弱证据……支持强证据等。

我想创建一个选择较低强度证据类别的新列。例如,如果 AX2 = 弱,AY2 = 强,AZ2 = 弱(其中 AZ 是我希望新值落入的新列)。同样,如果 AX3 = 好,AY3 = 中等,则 AZ3 = “中等”。

如果我有某种方法可以设置层次结构,类似于 GIS 中选择最小值的空间思维概念,则 AZ 中的值将是 AX 和 AY 之间的最小值(即证据强度较低),即选择 2 个单元格值之一。

在 Excel 中,我尝试使用 IF、AND、OR 语句来执行此操作,并且正在考虑执行例如如果 AX = 弱且 AY 是这四个中的任何一个,AZ = 弱。我正在考虑在其他情况下重复此操作,例如如果 AX = 中等且 AY 是 3 个(中等、良好、强)中的任何一个,则 AZ = 中等。

(我的代码)

=IF(AND(AX4="弱",OR(AY4="弱",AY4="中等",AY4="良好",AY4="强")),"弱","")

然后我意识到,虽然目前我正在尝试修复 AX 的值,但在对 AY 使用 OR 函数时,我必须在另一个方向重复同样的事情,即为 AY 修复一个值,然后对 AX 使用 OR 函数,防止自己排除某些场景

我当前的代码仅适用于创建 AZ 值 = 弱,当我尝试在开始时使用多个 OR 函数来定义不同的场景时,我收到错误消息,告诉我参数太多。

我得出的结论是,我尝试执行此任务的方式非常低效,并且会非常重视任何和所有建议。

标签: if-statementexcel-formula

解决方案


是的,将专为数字设计的 Excel 应用于文本通常效率低下。但是,可能的(即时“转换”并再次返回):

=CHOOSE(MAX(MATCH(AX2,{"Strong","Good","Moderate","Weak"},0),MATCH(AY2,{"Strong","Good","Moderate","Weak"},0)),"Strong","Good","Moderate","Weak")

推荐阅读