将以区间表示的数字展开,拆分为单个数字!

职场   职场   2024-11-10 08:36   河北  


Excel情报局

职场联盟Excel

生产挖掘分享Excel基础技能
Super Excel Man
用1%的Excel基础搞定99%的职场问题
做一个超级实用的Excel公众号
Excel是门手艺玩转需要勇气
数万Excel爱好者聚集地


    


大家好,今天我们来解决一个这样的问题:如何将以区间显示的数字展开,拆分为单个数字


如下图所示

A列为数字区间,比如区间“2~6”,实质表示“2,3,4,5,6”这5个数字,只不过以区间的格式简化表示的,那么如何将其展开后拆分出这5个数字呢?



我们用3个函数解决这个问题。下面看过程


首先输入SUBSTITUTE函数

=SUBSTITUTE(A2,"~",":")


SUBSTITUTE函数可以将字符串中的旧值替换为指定的新值。

SUBSTITUTE(原字符串,旧文本,新文本,[替换第几个旧文本])


很容易理解:SUBSTITUTE函数将A2单元格中的旧字符"~"替换为新字符":"。



之所以用SUBSTITUTE函数将“2~6”转换为“2:6”,就是想要将其表示为第2至6行的引用,但是SUBSTITUTE函数返回的“2:6”,实质为一个文本值,并不是一个引用。


所以外嵌套一个INDIRECT函数

=INDIRECT(SUBSTITUTE(A2,"~",":"))


INDIRECT函数可以将具有引用样式的文本字符串,变成真正的引用。

INDIRECT(具有引用样式的字符串,[引用样式])


如果第二参数为TRUE或省略(包括参数值和逗号),会将第一参数中的字符串解释为A1样式的引用,如果第二参数为FALSE或是0,则将第一参数中的字符串解释为R1C1样式的引用。


所以借助INDIRECT函数将具有引用样式的文本字符串“2:6”转换为真正的引用“2:6”。


这里我们观察到虽然INDIRECT函数返回值返回一个“0”并提示“循环引用”的警告,但不用理会,不会影响后续的操作



再外嵌套ROW函数

=ROW(INDIRECT(SUBSTITUTE(A2,"~",":")))


用ROW函数返回“2:6”,即第2行至第6行引用的行号,结果以数组溢出显示:{2;3;4;5;6}。



最后外嵌套TEXTJOIN函数

=TEXTJOIN(",",,ROW(INDIRECT(SUBSTITUTE(A2,"~",":"))))


TEXTJOIN函数,将第一参数合并的分隔符设置为“,”,跳过第二参数,即忽略空白单元格,将{2;3;4;5;6}数组内各元素进行合并,返回新的文值"2,3,4,5,6"。



其实重复学习Excel,刚开始是挺难的,但重复的次数多了总会成为习惯,先从坚持一星期开始,你会爱上那种脑子又累,又无限充实的感觉。回顾关键内容,善用图片表达,学会建立联系,拓展深度广度,浓缩关键概念,应用到行动中,善于归纳总结,尝试进行分享。


 

知识点精彩超链接点击阅读

VLOOKUP的新搭档HSTACK函数,实现逆向查询
一个小小的VSTACK函数,就能实现多工作表合并
VLOOKUP最新用法,提取混合内容中的手机号
带超链接的VLOOKUP函数,让查询体验起飞
最新方法来了:按指定的次数重复数据
合并工作表,用两个函数就搞定啦
比VLOOKUP还好用的多条件查找
点击谁就筛选谁,实现筛选自动化
以“数字”作为分隔符,进行分列
点击谁,就对谁自动条件求和
更多实用内容请在号内历史文章搜索 

Excel情报局
Excel表格爱好者,分享一些日常的积累。做一个职场人都能看懂的表格技巧公众号。多学一个Excel小技巧,会让你在职场中多一分底气与自信。(同名视频号)
 最新文章