首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在excel中压缩大的OR语句

如何在excel中压缩大的OR语句
EN

Stack Overflow用户
提问于 2020-11-11 03:38:06
回答 2查看 29关注 0票数 0

一些背景:我是一个中级的excel用户,我知道如何嵌套公式和使用宏,但我从来没有上过任何课或使用过VBA。对于工作,我只运行简单的分析,但我正在积极尝试学习更多关于VBA的知识,以便我可以进行更复杂的分析。

目标:我正在尝试压缩这个or语句。它工作得很好,但它很长,我觉得有一种方法可以让它变得更短/更少混乱。

或( G2=“贷项通知单-客户满意”,G2=“贷项通知单-已取消订单”,G2=“商业贷项通知单”,G2=“贷项通知单-制造商出库”,H2=“贷项通知单-客户满意度”,H2=“贷项通知单-已取消订单”,H2=“商业-贷项通知单”,H2=“贷项通知单-制造商出库”,I2=“贷项通知单-客户满意度”,I2=“贷项通知单-已取消订单”,I2=“商业-贷项通知单”,I2=“贷项通知单-已取消订单”,J2=“贷项备忘录-客户满意度”,J2=“贷项通知单-已取消订单”,J2=“商业-贷项通知单”,J2=“贷项通知单-制造商出库”,K2=“贷项通知单-客户满意”,K2=“贷项通知单-已取消订单”,K2=“商业-贷项通知单”,K2=“贷项通知单-制造商出库”,L2=“贷项通知单-客户满意”,L2=“贷项通知单-已取消订单”,L2=“商业-贷项通知单”,L2=“贷项通知单-制造商出库”)

我使用的原始数据在列A:G中有数据,列G有1-6个作业标签。我通常下载报告,并使用文本到列来分隔工作标签。在M列中,我想编写一个函数,告诉我G列中是否存在以下工作标记之一:l贷项通知单-已取消订单商业-贷项通知单贷项通知单- Mfr发放贷项通知单-客户满意度

EN

回答 2

Stack Overflow用户

发布于 2020-11-11 03:49:29

这是使用数组公式的一个很好的例子。从本质上讲,它们的工作方式与常规公式一样,只不过您使用的是通常在数组上处理标量的函数。更清楚地说,您可以使用IF(A1:G1='BLAH'...代替IF(A1='BLAH'...

在这里,我设置了一个小型示例工作表,其中数据在A1:C5中,公式位于E列中,查找值列表位于F1:F3中。然后,以下数组公式返回1,其中在当前Ax:Gx范围内的任何单元格中找到了任何查找值。

代码语言:javascript
复制
=MAX(IF(NOT(ISERROR(FIND($F$1:$F$3,A1:C1))), 1, 0))

若要启用数组公式,需要在公式准备就绪时在公式栏中键入CTRL+SHIFT+ENTER。然后,它应该显示在大括号中,如下所示:

代码语言:javascript
复制
{=MAX(IF(NOT(ISERROR(FIND($F$1:$F$3,A1:C1))), 1, 0))}
票数 0
EN

Stack Overflow用户

发布于 2020-11-11 10:41:17

由于您的OR函数返回TRUE/FALSE作为结果,因此对于等效的尝试:

代码语言:javascript
复制
=OR(ISNUMBER(SEARCH($P$1:$P$4,G2:L2)))

其中,P1:P4 (或任何范围)包含作业标记的列表。

如果要在公式中对作业标记进行硬编码,可以使用:

代码语言:javascript
复制
=OR(ISNUMBER(SEARCH({"Credit Memo - Canceled Order";"Commercial- Credit Memo";"Credit Memo - Mfr Issue";"Credit Memo - Customer Satisfaction"},G2:L2)))

但是为了便于维护,您最好将作业标记存储在一个范围内,如第一个示例所示。

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

https://stackoverflow.com/questions/64775662

复制
相关文章

相似问题

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