造数常用的Excel表达式

Excel造数用到的高频表达式

随机生成0与1,显示为“是”与“否”

=if(randbetween(0,1)=1,"是","否")
=if(randbetween(0,1)=1,"餐饮","生活日用")
=if(randbetween(0,1)=1,"交通出行","购物")
=if(A1="已激活",1,0)
=if(A1<50%,"等级3",if(A1<80%,"等级2",if(A1<100%,"等级1","等级4"))
记得if函数里需要用英文双引号""

计算日期距离今天有几天

=datedif(E3,today(),"d")

生成随机时间

=text(rand()*("00:1440")+"24:00:00","hh:mm:ss")

输入1显示正常,输入0显示未激活

单元格格式-自定义-
[=1]正常;[=0]未激活;
[=1]已绑定;[=0]未绑定;

VLOOKUP默认是模糊匹配

场景:找到银行对应的编号
解决办法:VLOOKUP(C1,$A$1:$B$1,FALSE)
这里要注意的是,锁定表格按F4,精确匹配写FALSE,不然不是精准的,会出错

根据百分比设置等级

业绩按照从高到低排序,在业绩中,取前10%为等级A,取前20%为等级B,取40%为等级C,取剩下10%为等级E
解决办:1:假设数据在A1,
=LOOKUP(PERCENTRANK($B:$B,$B2),{0,0.1,0.3,0.7,0.9;"E","D","C","B","A"})
解决办法2:=IF(A1<80%,"一般",IF(A1<90%,"良",IF(A1<100%,"优","不及格")))

IF使用场景:将150%,或大于100%的百分数,显示成100%

解决办法:假设数据在A1,
=IF(A1>=100%,100%,A1)或者=IF(A1>=1,1,A1),单元格设置成百分比

IF使用场景:正数换为0,负数取绝对值

解决办法:假设数据在A1,
=IF(A1>0,0,ABS(A1))

求余数,将大数变小

场景:一列中有多个0,多个大数字,需要将大数字变为个位数,
解决办法:可以是取得某个数的余数,或者保留大数字的最高位,或者取对数
=MOD(A1,5),对5取余数

多列合并为一列

解决办法:=TEXTJOIN("",TRUE,A1:E1)

填充空白行

解决办法:【定位】-【空值】,在空白行输入=上一单元格,按Ctrl+Enter,全部填充

多列需要将其上下叠加成一列

解决办法:将数据到Word中,【布局】-【转换为本文】,在弹出的窗口中设置【段落标记】,然后将数据复制粘贴到表格中

多行文本合并成一行

解决办法1:选中要合并的文本,调整列宽到足够宽;
依次单击【开始】-【填充】-【内容重排】即可
解决办法2:=TEXTJOIN("",A1:A5)

内容,复制次数,按列排序

解决办法1:假设内容数据在A1,复制次数在B1,在C1单元格输入=REPT(A1&CHAR(10),B1),CHAR(10)是一个换行符,然后将结果,复制到Word中,然后再复制回Excel中就好

随机生成数字

=randbetween(0,1)生成0或1
=randbetween(100,1000)生成100到1000之间的整数
=randbetween(1,99)/100
=rand()随机生成0~1之间的小数

保留两位小数的随机数

  1. round(A1/100,2),A1用randbetween(10,20),就可以生成0.1~0.2之间的小数,并保留2位小数;用ROUND函数保留两位小数点,round(A1,2)
  2. 或者生成0.01至1之间包含两位小数的随机数,randbetween(1,100)/100

大批量填充

写完表达式,=100+row(A1),在A1:A1000,选中后,Ctrl+D,复制表达式

合并两个单元格字符串

将两列合并为一列,=A1&B1,就可以将A1和B1的两个单元格里的内容连接为一个字符串

posted @ 2021-04-08 09:29  中了毒蛇粉的猫  阅读(641)  评论(0编辑  收藏  举报