Excel复习一下分列的组合公式TRIM+MID+SUBSTITUTE+REPT+ROW

题目:从一个字符串中找到4个数字,然后取4个数字的最大值

实际工作中会遇到产品规格的数字与单位组合在一起的情况:

尺寸

1000 mmx450 mm-1000 mmx450 mm

1000 mmx600 mm-1000 mmx600 mm

1000 mmx600 mm-600 mmx600 mm

1000 mmx600 mm-800 mmx600 mm

1000 mmx700 mm-1000 mmx700 mm

1000 mmx700 mm-600 mmx500 mm

1000 mmx700 mm-600 mmx600 mm

1000 mmx700 mm-700 mmx600 mm

1000 mmx700 mm-700 mmx700 mm

1000 mmx700 mm-800 mmx500 mm

1000 mmx800 mm-1000 mmx800 mm

1000 mmx800 mm-800 mmx600 mm

我们要找到最大的长度:每行4个数值中取最大值。

这个问题有三种解决办法:

分列操作:

使用符号分列、固定宽度分列,或者批量替换字符,找到4个数值,然后用MAX函数取最大值。虽然看起来步骤挺多的,不过思路清晰的化,应该很容易得到正确答案。

Power Query的解法:

Power Query中分离出字符的操作变得更加简单,从非数字到数字,从数字到非数字,很容易就分离出来。

Excel复习一下分列的组合公式TRIM+MID+SUBSTITUTE+REPT+ROW

删除非数字的列,修改数据类型,添加索引列:

Excel复习一下分列的组合公式TRIM+MID+SUBSTITUTE+REPT+ROW

逆透视数字列,根据索引分组取最大值:

Excel复习一下分列的组合公式TRIM+MID+SUBSTITUTE+REPT+ROW

然后加载到表就可以了。

公式法:

我们之前学习过的分列公式组合:

Excel复习一下分列的组合公式TRIM+MID+SUBSTITUTE+REPT+ROW

这个问题中的情况要稍微复杂点,应为多了些字母,需要预先处理:

用嵌套的SUBSTITUTE公式替换掉“mmx”,“mm-”,“ mm”,替换后的字符串应该是这个样子的“1000 450 1000 450”

替换后的字符串=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E2,"mmx",),"mm-",)," mm",)

然后我们再用分列公式,拆分数字:

4个数字=--TRIM(MID(SUBSTITUTE(替换后的字符串," ",REPT(" ",LEN(E2))),(ROW($1:$4)-1)*LEN(E2)+1,LEN(E2)))

--是为把文本转换成数值。

最后就是取最大值:

MAX=MAX(4个数字)

完整的公式:

=MAX(--TRIM(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E2,"mmx",),"mm-",)," mm",)," ",REPT(" ",LEN(E2))),(ROW($1:$4)-1)*LEN(E2)+1,LEN(E2))))

这是一个单个单元格的数组公式,需要用CTRL+SHIFT+ENTER三键结束。

Excel复习一下分列的组合公式TRIM+MID+SUBSTITUTE+REPT+ROW

这其实就是分列公式组合的一个扩展,增加了替换嵌套,和MAX函数。

如果不记得分列公式组合可以到这里复习一下:

分列公式

展开阅读全文

页面更新:2024-05-02

标签:组合   公式   解法   嵌套   最大值   数组   产品规格   字符串   数值   函数   字符   索引   情况   操作   数字   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top