用excel做一个全自动课表
这周学习了office三件套,其中最喜欢excel。于是打算利用excel做一些每日数据的汇总,但在这之前要做一个自己的课表,以便于对每日要做的事有一个更详细的安排。其中主要用到的函数有:
today()
这个函数可以将系统时间转化为Excel可识别并进行计算的日期;
mid(目标单元格,提取数据的起始位置,数据长度)
假如A1单元格数据是“第5周”,然后在B1中输入"=mid(A1,2,1)",此时B1就显示为"5";
mod(被除数,除数)
mod函数返回的值就是余数,例如:mod(7,2)返回的值就是1——"7/2=3~1"
roundup(数值,保留小数位)
roundup函数用于向上舍入数字, roundup(1.234,1)的返回值就是1.3
date(年,月,日)
date函数即日期,同样可被Excel进行计算
if(条件,满足条件返回的值,不满足条件返回的值)
if函数无论在哪都很常用,if(1>2,6,7)输出的即为7
value()
value即将数据转化为数值
len()
返回数据字符数量
lenb()
返回数据字节数量
然后就是整体的思路了。开学日期为3月1日,利用date函数将2021年3月1日转化为可进行计算的日期//date(2021,3,1)//用today函数返回的日期减去开学日期就是开学天数,每周七天,开学天数除以7为开学了几周,但是出现了一个问题:比如说我现在上着第七周的课,但是第七周还没有过完,这是利用上述步骤所得到的数便是6.×××,这是就要套用到roundup函数了。最终整体就是
//="第"&ROUNDUP((TODAY()-DATE(2021,3,1))/7,0)&"周"//
显示在单元格内的就是"第×周"。
我们知道有些课只在某些周上,比如英语课只在1~9周上课,我们就要用if函数来选定时间区间,如何选定呢?之前我们完成的"第×周"就可以拿来用了,因为这个×是根据系统时间而变化的,这正是我们想要的,只需要当1<="×"<=9的时候输出"英语课就行了",提取出×就需要用到mid函数了,假如"第×周"所在单元格为A1,那么显示课程的单元格的整体就是
//if(mid(A1,2,1)>=1,if(mid(A1,2,1)<=9,"英语课","")"")//
同时满足两个if条件时才会返回"英语课",任一个条件不满足就会返回空白值,如果更规矩一点就在mid函数外套用一个value函数。//其实不加也一样//
然后问题又来了,有些课单周上,有些课双周上,这个就要用到最后一个提到的函数了——mod,mod常用的一个功能就是判定数值奇偶性,若是英语课单周上,那么只需要多加一个周树为单周的条件即可——
//if(mid(A1,2,1)>=1,if(mid(A1,2,1)<=9,if(mod(mid(A1,2,1),2)=1,"英语课","")"")"")//
最后就是美化一下了,比如我不止想要显示课程,我还要表格显示出上课地点以及任课老师,但是这样数据太长了,不美观。这时我们可以使用到公式换行"char(10)",最终的整体——
//if(mid(A1,2,1)>=1,if(mid(A1,2,1)<=9,if(mod(mid(A1,2,1),2)=1,"课程名称"&char(10)&"上课地点 任课老师","")"")"")//
然后又有一个问题了,mid(A1,2,1)只能提取出一个数,对于“第10周”及以上输出的都是一个数字,也就是说第10周和第1周的课表是一样的,因为10仅被提取出了1,0却没有,这时候我们需要用到另外两个函数len()与lenb(),len函数返回的值就是选定单元格的字符数量,而lenb返回的是字节数量,简单通俗地讲:若A1是“第9周”,那么len(A1)返回的就是3,而lenb(A1) 返回的就是5,汉字占了两个字节一个字符,阿拉伯数字占了一个字节一个字符,那么lenb(A1)-len(A1)就是汉字的数量,len(A1)-(lenb(A1)-len(A1))就是数字的数量,也就是2*len(A1)-lenb(A1)。对于想提取出来混合文本中连续的数字,我们可以将mid的起始位置设定为第一个数字开始的位置,提取字符数量就为2*len(A1)-lenb(A1),引入到我们之前写的函数式中就是
//if(mid(A1,2,2*len(A1)-lenb(A1))>=1,if(mid(A1,2,2*len(A1)-lenb(A1))<=9,if(mod(mid(A1,2,2*len(A1)-lenb(A1)),2)=1,"课程名称"&char(10)&"上课地点 任课老师","")"")"")//
但记得要将此单元格的自动换行打开(位于【开始】中的【对齐方式】栏中)
当然没有单双周之分的课程将mod条件去除即可
用excel做一个全自动课表相关推荐
- 如何用Excel做一个战斗模拟器(一)升级经验表
如何用Excel做一个战斗模拟器(二)属性表 如何用Excel做一个战斗模拟器(三)战斗过程模拟 目录索引 引言 确定战斗公式与怪物强度 确定人物升级经验 确定人物升级时间 确定升级所需经验 引言 作 ...
- 用excel做一个家庭流水账本 增加一些统计功能 和大家分享
原文地址:http://blog.csdn.net/abbuggy/article/details/6639340 其实一直都是一个生活上比较粗线条的人,也一直都没有记账的习惯.工作五年了到底挣了多少 ...
- 如何用Excel做一个战斗模拟器(三)战斗过程模拟
如何用Excel做一个战斗模拟器(一)升级经验表 如何用Excel做一个战斗模拟器(二)属性表 目录索引 定义战斗子过程 定位战斗双方基础属性 利用基础属性与战斗公式进行计算 战斗过程的运算与输出 判 ...
- html制作一个动态仪表盘,用Excel做一个动态仪表盘,会这个绝对是大神
原标题:用Excel做一个动态仪表盘,会这个绝对是大神 Excel的仪表盘盛行,做起来也极其简单.(见图) (事实上上图的仪表盘认为两个部分,一个半环形图,一个是指针.我们先来搞定半环图. 首先你需要 ...
- excel部分网格线不见了_敬童年,用Excel做一个万花尺
哈喽,大家好!童年已经远去了,但有一样东西,万花尺,可以带我们穿越时空,回到上个世纪八九十年代的童年.校门口卖东西的叔叔正在示范画出神奇的图案,姐姐从上海回来送我的礼物让所有小伙伴都羡慕,聚在一起比赛 ...
- 如何用Excel做一个战斗模拟器(四)装备的掉落与展示
如何用Excel做一个战斗模拟器(一)升级经验表 如何用Excel做一个战斗模拟器(二)属性表 如何用Excel做一个战斗模拟器(三)战斗过程模拟 目录索引 定义掉落表与装备表 怪物本身掉落装备 定义 ...
- 如何用Excel做一个战斗模拟器(二)属性表
如何用Excel做一个战斗模拟器(一)升级经验表 如何用Excel做一个战斗模拟器(三)战斗过程模拟 目录索引 属性表 属性表 首先确定人物的生命.攻击.防御.暴击值与闪避值属性.用公式将其设定为与等 ...
- 文件一另存为电脑就卡住_文件太多怎么办?用Excel做一个简易目录!轻松管理多个文件...
作为一只社畜,电脑中肯定都是各种各样的文件,文件一多,就不好管理,这时候我们可以在Excel中制作一个简易的文件目录,点击对应的链接就可以打开文件!想知道怎么做吗?一起来学一学吧! 一.目录设置 1. ...
- 用Excel做一个简易的投票工具
想要写一个博客也有很久了,不过作为一个划水菜鸟对所学的东西都不够深入,自觉没啥能晒出来的文章.今天服务工程课老师建议大家写写自己的技术博客,干脆就这个机会开始,给程序员的成长历程留点印记吧. 正好今天 ...
最新文章
- 程序员怎么赚更多的钱_自由职业技巧:如何感到更加自信和赚更多钱
- 沈向洋:读论文的三个层次
- leetcode-简单题-题序:1+7
- 线程同步,线程不同步_同步多线程集成测试
- Oracle插数据timeout,oracle 11g 频繁报kmgs_parameter_update_timeout
- VMware vCenter Converter Standalone 5.0的安装
- imgageJ开发【Java】
- HTML 最常用的标记
- 访问ntfs文件系统获取目标文件簇流
- 分页加载总页数计算公式
- nginx源码编译安装及使用
- C语言实验源程序保存,c语言实验1程序开发环境.doc
- Docker 官方安装文档
- WPS网盘如何更改网盘缓存位置
- QObject::moveToThread: Current thread(...) is not the object`s thread. Cannot move to target thread(
- 剑指offer 从未到头打印列表
- 15分钟正则表达式快速上手(js)
- 国王的金币for循环
- 转:明茨伯格:管理者工作的传说和现实
- docker介绍说明,docker配置代理加速器、docker使用国内镜像仓库
热门文章
- 基于pytest来演示一个PO测试模式案例
- java计算机毕业设计web硕士研究生招生考试专业报考查询及学习系统设计与实现源码+mysql数据库+系统+lw文档+部署
- 因果推断(二)——混杂因子,D-分离,后门准则
- 简历撰写——Java与.NET(当年毕业生版本)
- ThinkPHP3.2 微信发起通联支付失败,报错errMsg:config:fail, Error:invalid signature
- 【实训日记9】Ansj5.1.3版本自定义词典、歧义词典的使用
- Redis主从同步数据详解
- 爬虫实例(二)—— 爬取高清4K图片
- 解决死锁问题的基本方法
- 手机安装linux模拟器教程,Ubuntu下安装Genymotion安卓模拟器 Linux教程 | 李的