夜雨聆风学习资料网

ARTICLE · 1005979

Excel教程:函数实战用的好,年薪三万都嫌少

Excel教程:函数实战用的好,年薪三万都嫌少
哈喽,小伙伴们大家好,说到excel中的替换功能大家首先会想到快捷键Ctrl+H替换。
有时候光用这个快捷键是解决不了我们遇到的问题的。比如下图:
上案例:
需求:如何快速的将所有分数大于90的数字替换成优秀呢?
首先CTRL+H这个功能不适用了。那我们试试函数吧,
函数思路:首先判断单元格是不是数字,如果是数字,在判断是不是大于90的,如果同时满足两者,我们就将满足条件的单元格替换成“优秀”。
根据以上思路,我们来设置函数。判断【是不是数字】可以用函数【ISNUMBER】,大于90分就是【>90】,将两者结合就是【AND(ISNUMBER(单元格),单元格>=90)】,最后我们在外层加一个【if】判断就可以了。最终函数是【=IF(AND(ISNUMBER(A1),A1>=90),"优秀",A1)】
这样所有大于90分的就全部替换成“优秀”了。
有些比较挑剔的读者可能要说了,这样会大量增加表格的计算,如果科目有十几门,人数有几万个,excel会很卡。
是的,当数据量很大的时候用函数确实会导致表格计算比较卡,有没有给表格“减压”的方法呢?有的,以下高能预警……
我将数据增加到了十万行
(数据源十万行,此截图为部分数据)
首先将数据加载进PQ编辑器。在打开【高级编辑器】,将高级编辑器中已有的代码清空,将下方代码粘贴进【高级编辑器】。
let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
更改的类型 = Table.TransformColumnTypes(源,{{"姓名", type text}, {"语文", Int64.Type}
, {"数学", Int64.Type}, {"英语", Int64.Type}}),
跳过人名 = List.Skip(Table.ToColumns(更改的类型)),
替换 = List.Transform(跳过人名,each List.ReplaceMatchingItems(_,{{90,"优"}},each _>=90)),
插入人名 = List.InsertRange(替换,0, {源[姓名]}),
转换成表 = Table.FromColumns(插入人名,Table.ColumnNames(源))
in
转换成表
前面两行代码是我们将数据加载进PQ编辑器的时候会自动生成的,不做解释。解释下图序号:
  1. :将数据源转换成不包含人名的列表结构。
  2. 利用【List.ReplaceMatchingItems】函数将列表中大于等于90分的全部替换成90。
  3. 将人名这个字段作为列表插入进替换好后的序号②的列表最前面。
  4. 最后用【Table.FromColumns】函数将列表转换成表。
这样就将数据处理完成,90分以上的全部替换成功了,该方法用的是power query,专治excel中的数据量太大各种不服。大家重点掌握函数,需要拔高的话在掌握PQ方法。

今天的分享就到这,如果教程对大家有用,希望大家多多分享点赞支持小编哦!你的每一次点赞和转发都是支持小编坚持原创的动力。

相关学习资料