|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 CLL1998 于 2019-2-25 16:44 编辑
其实,班级课表中的“班级课程”就是用函数offset()定义的名称
班级课表的数据来源自课程总表
课程总表的排版规律是 每天的数据有8列(每天8节课),相邻天的数据有1列空白列间隔以便浏览,班号为行标识。也就班级课表每 变动1天,课程总表的数据寻访就得移动9列。
对应地,班级课表中的“班级课程”在逻辑上表示就是 班级课程=OFFSET(课程总表!$A$5,行偏移调整,列偏移调整,,) 式中: “课程总表!$A$5”是给函数OFFSET()指定的 课程总表操作基准单元格
“行偏移调整” 依据班级课表中指定班号(班级课表!$G$1)作的行偏移,其数值=MATCH(班级课表!$G$1,班别,0)
“列偏移调整”,分为两部分,依据周几作的偏移及依据课节作的偏移
数值上分别是(COLUMN()-4)*9及MID(班级课表对应课节字符串,2,1)*1 (就是从对应课节字符串中拆出课节数)
综上
班级课程=OFFSET(课程总表!$A$5,MATCH(班级课表!$G$1,班别,0),(COLUMN()-4)*9+MID(班级课表对应课节字符串单元格,2,1)*1,,)
|
|