Excel 根据分类及组内序号进行编码

例题描述和简单分析

Excel 记录课程数据,未排序,部分如下:

ABC
1CourseDateTime
2Word1-Sep-209:00
3Word1-Sep-209:00
4PowerPoint1-Sep-209:00
5Word1-Sep-2012:00
6PowerPoint1-Sep-2012:00
7Excel1-Sep-2012:00
8Word1-Sep-2012:00

现在要新增一个编码列 Batch ID,使 Course\Date\Time 相同的记录 Batch ID 也相同。编码规则是:Course 的前 3 个字母 + 序号。数据按 Course 分大组后,每大组数据再按 Date 和 Time 分小组,编码中的序号即大组内各小组的序号。

ABCD
1CourseDateTimeBatch ID
2Word1-Sep-209:00Wor001
3Word1-Sep-209:00Wor001
4PowerPoint1-Sep-209:00Pow001
5Word1-Sep-2012:00Wor002
6PowerPoint1-Sep-2012:00Pow002
7Excel1-Sep-2012:00Exc001
8Word1-Sep-2012:00Wor002

上面涉及多层分组后的计算,以及组内序号的使用。

解法及简要说明

使用 Excel 插件 SPL XLL

在空白单元格写入公式:

=spl("=(t=E(?).group(Course).(~.group(Date,Time)),t.conj(~.news(~;Course,Date,Time,left(Course,3)/string(t.~.#,""000""):'Batch ID')))",A1:C8)

如图:

..

简要说明:

按Course分组,每组再按Date、Time进行第二层分组。

在大组内先计算各小组,按规则生成新列Batch ID,再合并小组,最后合并大组。其中A2.~.#表示每个小组在大组内的编号。

上述算法可生成符合要求的 Batch ID,但记录顺序发生了变化,如果想保持原序,可在分组前新增行号列,合并后再按行号列排序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/10458.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【CAD建模号】学习笔记(四):工作平面

工作平面介绍 CAD建模号右侧导航栏提供了很多便捷的工具,有测量工具、坐标系、模型和图层切换、视图切换等。 1. 测量工具组 测量工具可以测量图形的几何体积,长度,角度等。工具组包含如下: 测量几何:可以测量图形的面…

笨方法自学python(二)-注释

注释和#号 程序里的注释是很重要的。它们可以用自然语言告诉你某段代码的功能是什么。在你想要临时移除一段代码时,你还可以用注解的方式将这段代码临时禁用。 # A comment, this is so you can read your program later. # Anything after the # is ignored by py…

【Python】IPython 魔法命令使用指南

依然记得从你口中 说出再见坚决如铁 昏暗中有种烈日灼身的错觉 黄昏的地平线 划出一句离别 爱情进入永夜 依然记得从你眼中 滑落的泪伤心欲绝 混乱中有种热泪烧伤的错觉 黄昏的地平线 割断幸福喜悦 相爱已经幻灭 🎵 周传雄《黄昏》 %run - 运行…

面向对象的三大特性:封装、继承、多态

一、封装 封装是面向对象的核心思想。是以类为载体,将对象的属性和行为封装起来,对外隐藏其实现细节。 封装保证了类内部数据结构的完整性,使得外部(使用该类的用户)不能轻易地直接操作此数据结构,只能执…

考了PMP后,NPDP到底还有没有必要考?NPDP通关宝典来啦!

NPDP和PMP相比,两者的相同点都是由美国发起的,都是管理行业的证书。区别也很大,PMP是项目经理国际认证证书,NPDP是产品经理认证证书,不过PMP已经由外专局引入国内二十多年了,在市面上知名度更高&#xff0c…

svg 元素 getBoundingClientRect() 数值为 0

问题 在页面在刷新时,想要立即获取页面中 svg 元素的宽高,做进一步的计算。发现通过 getBoundingClientRect 获取会有一定几率获取值为 0。 解决方案 监听 svg 元素的 load 事件,在回调中再获取。 svgElem.addEventListener("load&…

Vite创建Vue3项目识别 ../ 与 @/ 引入路径

在使用vite脚手架生成项目时,会出现一些引入路径失败的错误 例子:router中用 component引入路径时 引入 ../ 路径失败 找不到模块“../views/login/index.vue”或其相应的类型声明 {path: "/login",name: "login",component: () > import("../v…

鸿蒙开发接口Ability框架:【(窗口扩展能力)】

窗口扩展能力 WindowExtensionAbility基于ExtensionAbility,WindowExtensionAbility中展示的内容作为一个控件(AbilityComponent)内容展示在其他应用窗口中,实现在一个窗口中展示多个应用程序内容的功能。 说明: 本模块首批接口从API versio…

互斥锁和自旋锁的实现机制

本文介绍互斥锁和自旋锁的实现原理和工作过程 一、互斥锁 1.内存标记——线程id 互斥锁会记录下访问锁的线程的id,用于进行线程切换、组织阻塞队列等操作 2.阻塞队列 当多个线程试图获取同一把互斥锁,没有获取的锁的线程会被组织到阻塞队列中&#…

Keysight 是德 N1077B 光/电时钟恢复设备,收藏保存

Keysight N1077B是一款光/电时钟恢复设备,支持115 MBd至24 GBd的数据速率范围,适用于多模和单模光信号以及电信号。该设备能够处理PAM4和NRZ两种类型的数据信号,并提供符合标准的时钟恢复功能。 N1077B具备可调峰值和环路带宽(高…

leetcode206-Reverse Linked List

题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 分析 用一个指针记录当前位置,另外一个指针记录当前位置的前一个位置&#xff0c…

【经验分享】图片自适应窗口大小css;CSS实现背景图片全屏铺满自适应的方式

目录 设置背景颜色和边距 设置背景图片 调整背景图片尺寸和位置 完整代码 使用效果如下(展示) 网页版图片效果展示 手机版图片效果展示 如何使用 CSS 创建网页背景效果 在网页设计中,背景是一个重要的视觉元素,它可以为网…

39-5 入侵检测系统(IDS)- 安装配置IDS(注意我没安装成功,阅读需谨慎)

官网:Snort Rules and IDS Software Download 参考: (这位大佬分享了安装包下载链接):https://www.cnblogs.com/taoyuanming/p/12722263.html (安装过程参考这位大佬):Snort 安装与配置(CentOS 7)_centos 7 snort-CSDN博客一、安装 IDS(我这里在 CentOS 7 虚拟机中安…

【高校科研前沿】北师大陈晋教授团队在遥感顶刊发表最新成果:ClearSCD模型:在高空间分辨率遥感影像中综合利用语义和变化关系进行语义变化检测

01文章简介 论文名称:The ClearSCD model: Comprehensively leveraging semantics and change relationships for semantic change detection in high spatial resolution remote sensing imagery(ClearSCD模型:在高空间分辨率遥感影像中综合…

深度访谈:为何满意度调查中重点客户推荐企业选择此方式?

在竞争激烈的市场环境中,企业为了不断提升服务质量、巩固客户关系,常常需要进行满意度调查。然而,传统的问卷调查和电话访问虽便捷,却难以触及客户的真实感受与期望。尤其对于重点客户而言,他们的需求和反馈更是企业持…

DNS之区域文件

区域文件 BIND(Berkeley Internet Name Domain)是最广泛使用的DNS服务器软件,它可以将人类可读的网站名称转换为互联网上的IP地址。在BIND中,你可以创建和编辑区域文件,以定义DNS服务器应如何解析特定的域名。 区域文件…

x6.js bug记录-流程图json数据导入进来之后拖拽节点,节点直接飞走了

添加josn数据进来之后虽然能正常渲染,但是只要一拖拽,则节点就直接飞走了,看不到了。 找了一下午的问题,最后发现。保存的json坐标位置是字符串类型,而这边的位置必须是数字类型。如下: {position: { x: &…

Celery Redis 集群版连接和PyCharm启动配置

目录 使用Redis cluster版作为broker原因 PyCharm配置 使用Redis cluster版作为broker 在celery5及其之前版本,需要配置如下才可行 celery_app.conf.update( broker_transport_options{“global_keyprefix”: “{celery}:”}, ) 原因 https://github.com/celery/…

linux安装drm

apt 安装 sudo apt install libdrm-dev源码安装 安装工具 python3 -m pip install mesonpython3 -m pip install ninja源码编译 git clone https://gitlab.freedesktop.org/mesa/drm.gitmkdir buildmeson setup build --prefix$HOME/.drm/install# 或 重新配置到/usr/local# m…

【力扣】LCR 166.珠宝的最高价值

原题链接:. - 力扣(LeetCode) 目录 1.题目描述 2.思路分析 3.代码实现 1.题目描述 现有一个记作二维矩阵 frame 的珠宝架,其中 frame[i][j] 为该位置珠宝的价值。拿取珠宝的规则为: 只能从架子的左上角开始拿珠宝…