假定:
7:11
应该7-11
63
应该53
- 不属于范围的数字(例如
18
)不是问题
- 范围为文本格式
我希望以下内容有所帮助,或者至少是“朝着正确方向迈出的一步”:
A 解析组件
例如8-15, 18, 31-32
,粘贴到单元格(例如A1
)和数据>数据工具-文本到列>分隔>下一步>检查逗号,空格并将连续分隔符视为一个>下一步>根据需要选择列>为每个选择文本>完成
处理单列可能更容易,因此选择数据,复制 > 选择A2
> 选择性粘贴 > 转置 > 确定并删除Row1
.
B 将您的搜索值 ( 16
) 添加到B1
C 把下面的公式复制进去B2
,按要求复制下来:
=AND(B$1>=VALUE(LEFT($A2,SEARCH("-",$A2)-1)),B$1<=VALUE(RIGHT($A2,LEN($A2)-SEARCH("-",$A2)))))
结果应该是TRUE
搜索值在离散范围之内或之内的位置:
该公式使用连字符来“识别”一个离散范围。SEARCH 查找它的位置(因为它的两侧可能有一个或两个字符)。LEFT 和 RIGHT 用于下限和上限(在 RIGHT 与 LEN 一起使用的情况下,以解决上限是一个字符还是两个字符)。需要 VALUE 才能将 Text 转换为可以等同于搜索值的内容。AND 用于在确定是否“在范围内”时考虑两个边界的过程。
“如果可能,我宁愿不使用 VBA”——但可能是可取的!
但是,使用一些固定引用 ($) 应该比使用标准公式更容易,因为ColumnA
可以通过将公式复制到右侧/根据需要向下并输入(作为数字格式)在Row1
.