快捷搜索:  汽车  科技

excel整列函数(Excel复习一下分列的组合公式TRIM)

excel整列函数(Excel复习一下分列的组合公式TRIM)1000 mmx700 mm-600 mmx500 mm1000 mmx700 mm-1000 mmx700 mm1000 mmx600 mm-1000 mmx600 mm1000 mmx600 mm-600 mmx600 mm1000 mmx600 mm-800 mmx600 mm

题目:从一个字符串中找到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整列函数(Excel复习一下分列的组合公式TRIM)(1)

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

excel整列函数(Excel复习一下分列的组合公式TRIM)(2)

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

excel整列函数(Excel复习一下分列的组合公式TRIM)(3)

然后加载到表就可以了。

公式法:

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

excel整列函数(Excel复习一下分列的组合公式TRIM)(4)

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

用嵌套的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整列函数(Excel复习一下分列的组合公式TRIM)(5)

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

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

分列公式

猜您喜欢: