当前位置: 首页 > ds >正文

EXCEL常用函数公式和VBA汇总第二篇

系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 一、excel公式应用
    • 1.rand函数
    • 2.rand函数随机排序
    • 3.rand函数提取数据
    • 4.correl函数
    • 5.SUBSTITUTE函数
    • 6.MAX组合函数
    • 7.分析下班时间
    • 8.柏拉图自动排序
  • 总结


前言

一、excel公式应用

1.rand函数

用excel生成1-5的随机数字,其中对应的概率分别为10%,20%,30%,10%,30%

选中A1:A50区域,输入:
=MATCH(RAND(),{0,0.1,0.3,0.6,0.7,1})

解析:
1、用rand()函数生成0-1之间的随机数;
2、MATCH()函数省略第三个参数时,会查找小于或等于第一个参数的最大值(前提条件:lookup_array参数中的值必须按升序排列),返回这个值所在的位置。
3、0.1-0为10%的概率;0.3-0.1为20%的概率,依次类推;

2.rand函数随机排序

如何将多行内容随机重新排序?

假设数据在A列,可在B1单元格中输入rand(),向下填充,排序;

3.rand函数提取数据

在1-35里任取6个不重复的数?

A1单元格留空,B1单元格输入
=LARGE(IF(COUNTIF(A1:A1,ROW(1:35))=0,ROW(1:35)),RAND()*(36-COLUMN(B1))+1)
ctrl + shift + enter

4.correl函数

1、correl函数是一种用于计算变量之间的相关性的数学函数,用于分析两个变量之间的联系。correl函数的计算步骤是将两个变量的数据集的所有数据点的x和y坐标作为输入参数,然后计算每一对数据点之间的距离,并根据这个距离来计算两个变量之间的相关性。距离越大,相关性越小;
2、另外,correl函数也会结合拟合曲线,通过计算回归方程的参数,即斜率和截距,来确定变量之间的线性关系;,即当x变化时,变量y会如何变化。这些参数可以用来度量不同变量之间的相关性以及度量y受到变量x的影响程度;
3、此外,correl函数还可以帮我们计算一个变量的“预期值”,及预测该变量的未来值。因此,使用correl函数可以帮我们作出更精确的预测。
4、在excel中,correl函数和person函数提供了计算两个变量之间的相关系数的方法;与相关系数有关的函数还有rsq(相关系数的平方)
5、correl(array1,array2)返回单元格区域之间的相关系数。

5.SUBSTITUTE函数

在文本字符串中用new_text替代old_text,如果需要在某一文本字符串中替换指定文本,使用substitute;如果需要在某一文本字符串中替换指定位置处的任意文本,使用Replace;

SUBSTITUTE(text,old_text,new_text,[instance_num])

  • Text 不省略参数。为需要替换其中字符的文本,或对含有文本的单元格的引用。
  • Old_text 不省略参数。为需要替换的旧文本。
  • New_text 不省略参数,但有默认值空。用于替换 old_text 的文本。
  • Instance_num 为一数值,用来指定以 new_text 替换第几次出现的 old_text。如果指定了 instance_num,则只有满足要求的 old_text 被替换;如果缺省则将用 new_text 替换 TEXT 中出现的所有 old_text。
=SUBSTITUTE(ADDRESS(1,COLUMN(B1),2)"1","")

6.MAX组合函数

=MAX(OFFSET(B$1,ROW($52:$102)-1,,(MATCH(AF$3,A:A,0)-MATCH(AE$3,A:A,0))))
{=IFERROR(MAX(OFFSET(B$1,($AJ3:$AK3)-1,,(MATCH($AF3,$A:$A,0)-MATCH($AE3,$A:$A,0))+1)),"")}

7.分析下班时间

1.需要按照岗位类型、班次统计下班打卡时间与规定下班时间的时间间隔

=IF(AND(E2="技能作业类",G2="B017B光学两班组10-夜班"),ROUND(ABS(TIMEVALUE(TEXT(K2,"h:mm"))-TIME(7,30,0))*1440,0),
IF(AND(E2="技能作业类",G2="B013A光学两班组5-白班"),ROUND(ABS(TIMEVALUE(TEXT(K2,"h:mm"))-TIME(19,30,0))*1440,0),
IF(AND(E2="技能作业类",G2="B013B光学两班组5-夜班"),ROUND(ABS(TIMEVALUE(TEXT(K2,"h:mm"))-TIME(7,30,0))*1440,0),
IF(AND(E2="技能作业类",G2="B017A光学两班组10-白班"),ROUND(ABS(TIMEVALUE(TEXT(K2,"h:mm"))-TIME(19,30,0))*1440,0),
IF(AND(E2="技能作业类",G2="B017E光学两班组11-白班"),ROUND(ABS(TIMEVALUE(TEXT(K2,"h:mm"))-TIME(20,0,0))*1440,0),
IF(AND(E2="13薪",G2="B0DL1光学常白班1"),ROUND(ABS(TIMEVALUE(TEXT(K2,"h:mm"))-TIME(17,0,0))*1440,0),"班次格式错误"))))))

2.按分和秒显示 岗位在E列,班次在G列,下班打卡时间在K列

=IF(AND(E2="技能作业类",G2="B017B光学两班组10-夜班"),IF(MOD(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(7,30,0))*86400,60)=0,TEXT(INT(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(7,30,0))*86400/60),"0分"),TEXT(INT(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(7,30,0))*86400/60),"0分")&TEXT(MOD(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(7,30,0))*86400,60),"00秒")),
IF(AND(E2="技能作业类",G2="B013A光学两班组5-白班"),IF(MOD(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(19,30,0))*86400,60)=0,TEXT(INT(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(19,30,0))*86400/60),"0分"),TEXT(INT(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(19,30,0))*86400/60),"0分")&TEXT(MOD(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(19,30,0))*86400,60),"00秒")),
IF(AND(E2="技能作业类",G2="B013B光学两班组5-夜班"),IF(MOD(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(7,30,0))*86400,60)=0,TEXT(INT(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(7,30,0))*86400/60),"0分"),TEXT(INT(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(7,30,0))*86400/60),"0分")&TEXT(MOD(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(7,30,0))*86400,60),"00秒")),
IF(AND(E2="技能作业类",G2="B017A光学两班组10-白班"),IF(MOD(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(19,30,0))*86400,60)=0,TEXT(INT(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(19,30,0))*86400/60),"0分"),TEXT(INT(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(19,30,0))*86400/60),"0分")&TEXT(MOD(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(19,30,0))*86400,60),"00秒")),
IF(AND(E2="技能作业类",G2="B017E光学两班组11-白班"),IF(MOD(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(20,0,0))*86400,60)=0,TEXT(INT(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(20,0,0))*86400/60),"0分"),TEXT(INT(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(20,0,0))*86400/60),"0分")&TEXT(MOD(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(20,0,0))*86400,60),"00秒")),
IF(AND(E2="13薪",G2="B0DL1光学常白班1"),IF(MOD(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(17,0,0))*86400,60)=0,TEXT(INT(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(17,0,0))*86400/60),"0分"),TEXT(INT(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(17,0,0))*86400/60),"0分")&TEXT(MOD(ABS(TIMEVALUE(TEXT(K2,"h:mm")) - TIME(17,0,0))*86400,60),"00秒")),"班次格式错误"))))))

8.柏拉图自动排序

数据如图:
在这里插入图片描述

=IF(COUNTIF($H$2:H2,H2)=1,RANK(H2,$H$2:$AN$2),RANK(H2,$H$2:$AN$2)+COUNTIF($H$2:H2,H2)-1)

总结

分享:
AA大书:接受可以让我面对所有的问题,当我感到焦虑的时候,通常是因为我发现自己不能接受生活中的一些人、地方、事情,直到我完全接受了它们,我才能获得心灵上的安宁。除非我完全的接受生活,否则我将无法获得快乐。我不需要再纠结这个世界上有什么需要改变而是关注我自己的态度需要发生怎样的改变;

http://www.xdnf.cn/news/2709.html

相关文章:

  • CUDA Stream 回调函数示例代码
  • 迷你世界UGC3.0脚本Wiki二维表介绍介绍
  • NodeJs模块化与JavaScript的包管理工具
  • 快手极速版安卓版流量消耗与观看体验优化评测
  • JAVA数据结构
  • (即插即用模块-特征处理部分) 四十二、(2024 TPAMI) FreqFusion 频率特征融合
  • Nginx的默认主配置文件 “/etc/nginx/nginx.conf“ 解读
  • SQL Server 存储过程开发手册
  • 2025系统架构师---主程序/子程序架构风格
  • 小白学习java第16天(上): javaWeb
  • 【Redis】基础3:一些应用场景
  • TCP协议
  • 2个关键思路,让微课动画场景制作别具一格
  • Fps鬼泣总结:通信——伤害检测
  • 【数据结构】顺序表
  • 伺服电机AB相输出,接入定时器通道,对定时器IO口的速率有何要求【详细分析】
  • 【Unity完整游戏开发案例】从0做一个太空大战游戏
  • MySQL主从同步原理与实践 - Java架构师面试解析
  • 【Python】Matplotlib:立体永生花绘制
  • 单值映射、多值映射
  • Linux:进程间通信->共享内存
  • 开源网络入侵检测与防御系统:Snort
  • 企业私有大模型DeepSeek落地部署该用什么? Ollama还是vLLM
  • PlatformIO 入门学习笔记(一):背景了解
  • 【每天一个知识点】correntropy(相关熵)
  • 08-STM32外部中断
  • el-input限制输入只能是数字 限制input只能输入数字
  • 中国区域250米归一化植被指数数据集(2000-2023)
  • 迅雷精简绿色融合版【高速下载版】12.1.9.2870【11.2.2.1716】【20250426】
  • 树莓派学习专题<10>:使用V4L2驱动获取摄像头数据--申请和管理缓冲区