【问题标题】:Excel - ASSIGNING PRIORITYExcel - 分配优先级
【发布时间】:2015-05-13 21:56:53
【问题描述】:

从逻辑上讲,我有一组层次结构的字符串,如下所示:

Priority 1 = "SAME" <---Most important

Priority 2 = "DIFFERENT"

Priority 3 = "CLASSICAL"

Priority 4 = "DROPPED" <---Least important

如果我有 5 个连续的 Excel 单元格,每个单元格中有 1 个上述字符串的任意组合,我希望第六个单元格显示最高优先级(如果它至少存在一次)。可能会出现许多组合,下面是我试图实现的一些示例,每个示例描述了 5 个连续的单元格,每个单元格中都有一个字符串:

示例 1:

| DROPPED | DROPPED | CLASSICAL | DROPPED | DROPPED |

第六个单元格应该等于:| CLASSICAL |,因为它具有最高优先级,至少出现一次

示例 2:

| CLASSICAL | DIFFERENT| SAME | DROPPED | DIFFERENT|

第六个单元格应该等于:| SAME |,因为它具有最高优先级,至少出现一次

示例 3:

| DIFFERENT | CLASSICAL |CLASSICAL | DROPPED | DIFFERENT |

第六个单元格应该等于:| DIFFERENT |因为它具有最高优先级,至少出现一次

【问题讨论】:

  • 对此的任何帮助表示赞赏......谢谢!
  • @Mitch,有没有办法通过 Access(使用 SELECT 语句)做到这一点?
  • @Mitch,其实,没关系,ACCESS中不需要...再次感谢!

标签: excel excel-formula conditional-statements


【解决方案1】:

假设您的 5 个连续单元格位于 A 到 E 列中,您可以在单元格 F 中使用此公式:

=IF(OR(A1="SAME",B1="SAME",C1="SAME",D1="SAME",E1="SAME"),"SAME",IF(OR(A1="DIFFERENT",B1="DIFFERENT",C1="DIFFERENT",D1="DIFFERENT",E1="DIFFERENT"),"DIFFERENT",IF(OR(A1="CLASSICAL",B1="CLASSICAL",C1="CLASSICAL",D1="CLASSICAL",E1="CLASSICAL"),"CLASSICAL",IF(OR(A1="DROPPED",B1="DROPPED",C1="DROPPED",D1="DROPPED",E1="DROPPED"),"DROPPED","No Match"))))

公式的结尾定义了如果没有匹配项要说什么。我将其设置为“不匹配”,但您可以将其替换为“”以表示空白或您想查看的任何字符串。您可以根据需要将其复制到任意多行:

【讨论】:

  • 有没有办法通过 Access 做到这一点(使用 SELECT 语句)?
  • 其实没关系,ACCESS中不需要...再次感谢!
  • 如果 Access 中需要它,我相信它可以完成,但听起来你现在没有它没问题!
  • 嗨@Mitch - 看起来虽然这在Excel中效果很好,但看起来我也需要Access / SQL中的解决方案。你知道如何做到这一点吗? - 谢谢
  • 为了获得最佳答案,我会将其作为新问题发布。我对 Access 不太熟悉。
【解决方案2】:

如果您在字符串前面添加数字,例如 “1 SAME”、“2 DIFFERENT”等,可以使用下面的数组公式

 =INDEX(A1:E5,MATCH(MIN(VALUE(LEFT(A1:E5,1))),VALUE(LEFT(A1:E5,1)),0))

按CTRL+SHIFT+ENTER进入数组公式。

【讨论】:

  • 有没有办法通过 Access 做到这一点(使用 SELECT 语句)?
  • 其实没关系,ACCESS中不需要...再次感谢!
  • 其实在Access/SQL中可以做这个解决方案吗?事实上,我确实需要一些 SQL 方面的帮助 - 谢谢!
猜你喜欢
  • 1970-01-01
  • 2021-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-17
  • 2010-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多