很多時候,數據輸入并不規范,比如下表中的員工姓名和業績擠在一個單元格里,要求統計業績最大值。
這種不規范的數據并不是不能統計,只是給統計帶來了麻煩。
視頻解
關鍵操作公式實現
在C2單元格輸入公式:
{=MAX((SUBSTITUTE(B2,ROW($1:$100),)<>B2)*ROW($1:$100))},(TRL+SHIFT+RNTER結束)。
公式分解
{=ROW($1:$100)}:
返回值是1-100組成的數組{1;2;3;4;5;6;7……98;99;100}
{=SUBSTITUTE(B2,ROW($1:$100),)}:
將B2內的文本依次刪除1~100數值以后,返回100組文本組成的數組,如下:
關于SUBSTITUTE函數的用法參考昨天的文章:Excel 數據輸入不規范,部分帶數量單位,怎么計算平均值?。
{=SUBSTITUTE(B2,ROW($1:$100),)<>B2}:
返回值是一組TURE與FALSE組成的100個邏輯值數組,將刪除了數字后的文本與B2單元格相對比,如果不等于B2返回TURE,如果等于B2返回FALSE。
{=(SUBSTITUTE(B2,ROW($1:$100),)<>B2)*ROW($1:$100)}:
將得到的一級邏輯值與1~100數值相乘,TURE相當于1,FALSE相當于0,相乘以后得到的結果是一個數組,該數組由100個數值組成,分別是B2單元格中包含的所有數字和0。
最后用MAX函數對上述數組內的數值求最大值。