网站首页 > 教程文章 正文
小伙伴们好啊,今天咱们分享几个常用函数公式的典型应用。
合并内容
如下图,希望将B列的姓名,按照不同部门合并到一个单元格里。
=TEXTJOIN(",",1,IF(A$2:A$15=D2,B$2:B$15,""))
公式中要合并的内容为:
IF(A$2:A$15=D2,B$2:B$15,"")
也就是如果A$2:A$15等于D2,就返回B$2:B$15对应的内容,否则返回空文本"",结果是一个内存数组:
{"沙瑞金";"高育良";"蔡成功";"陈岩石";"";"";"";""……}
TEXTJOIN函数对IF函数得到的内存数组进行合并,第一参数指定使用间隔符号为逗号,第二参数使用1,表示忽略内存数组中的空文本。
拆分字符
如下图,A列待拆分字符中,有多种类型的间隔符号,使用以下公式,可以按常量数组的形式将多种分隔符号写到一起。
=TEXTSPLIT(A2,{"+","-"})
公式中的列分隔符号为{"+","-"},每一个符号都加上双引号,符号之间用半角的逗号或半角分号作为间隔,最后用一组花括号包含起来。
TEXTSPLIT将依次按花括号中不同类型的分隔符拆分到各列。
合并多表中的名单
如下图所示,1~4月的员工考勤记录,分别存放在不同工作表中。每个月都可能有新入职以及离职人员,希望从这四个表中提取出不重复的员工名单。
在“汇总表”的A1单元格输入以下公式,按回车即可。
=UNIQUE(TOCOL('1月:4月'!A:A,1))
TOCOL函数第一参数使用多工作表引用方式,表示要处理的数据范围为'1月:4月'!A:A,表示“1月”至“4月”工作表的A列,第二参数使用1,表示忽略空白单元格。
TOCOL函数将四个工作表的A列以忽略空白单元格的形式合并为一列,再使用UNIQUE函数提取出不重复名单。
随机分组
如下图所示,希望将A列的姓名随机分成4组。
C2单元格输入以下公式,每按一次F9键,就可以得到四组随机排列的名单:
=IFERROR(INDEX(SORTBY(A2:A21,RANDARRAY(20)),SEQUENCE(10,4)),"")
公式中的SORTBY(A2:A21,RANDARRAY(20))部分,先使用RANDARRAY(20)得到20个随机小数,再使用SORTBY以随机小数为排序依据,对A列姓名进行随机排序。
SEQUENCE(10,4)部分,用来生成10行4列的序列号。
INDEX函数根据SEQUENCE生成的序列号从随机排序后的姓名中返回对应位置的内容。
最后,使用IFERROR函数屏蔽可能出现的错误值。
图文制作:祝洪忠
猜你喜欢
- 2025-06-12 二十、Java数组(java实现数组)
- 2025-06-12 十大经典排序算法-堆排序,计数排序,桶排序,基数排序
- 2025-06-12 3分钟短文 | PHP 根据值移除数组元素,哪个方法最简单?
- 2025-06-12 JAVA程序员常用的几个工具类(java程序员主要工作内容)
- 2025-06-12 C# 基础知识系列- 3 集合数组(c#集合排序)
- 2025-06-12 JUnit5学习之三:Assertions类(junit5 assert)
- 2025-06-12 稀疏数组——前端电子表格中的应用实战
- 2025-06-12 最快清除数组空值?分享 1 段优质 JS 代码片段!
- 2025-06-12 excel这个复杂数组公式怎么读?(excel数组公式怎么复制)
- 2025-06-12 找出JavaScript中两个数组之间的差异
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)