作者热门文章
- html - 我的下拉菜单的内容关闭得太快
- c# - 使用 Html Agility Pack 从网页中的表中获取值而不使用 "SelectNode'
- html - 内容容器下的 CSS 下拉菜单
- html - 如何停止嵌套列表重叠父列表?
我正在尝试编写一个函数,其中一列包含一个子字符串并且不包含另一个子字符串。
在下面的示例中,如果我的行包含“某些项目”并且不包含“开销”,我希望我的函数返回 1。
row| example strings | desired return value
0 |some project,other project | 1
1 |some project | 1
2 |overhead | 0
3 |some project, overhead | 0
4 |some project, other, boo | 1
=IF(AND((E3="some project"),NOT(E3="overhead")),1,0)
最佳答案
你需要的是某种 Substring 函数。我认为 FIND
可能会奏效。看看这个页面:https://exceljet.net/excel-functions/excel-find-function
您的功能将是:=IF(AND(ISERROR(FIND("some project", E3))=FALSE,ISERROR(FIND("overhead",E3))),1,0)
编辑:以上功能在测试后有效
棘手的部分是 FIND
返回字符串的起始位置,如果失败则返回 #VALUE
,我相信您可以使用 ISERROR()
功能。这绝不是一个漂亮的解决方案。我会尝试使用后面的代码并将其编写为 VBA,因为我确信有一个合适的 substring
VBA 中的函数。
关于Excel公式: If cell contains substring "this" AND does not contain substring "that",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40498040/
我是一名优秀的程序员,十分优秀!