ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: lhx120824

[分享] 教育应用贴(分班、统计、课表等)1142楼添加运动会成绩统计表20121215

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-1-9 16:57 | 显示全部楼层
原帖由 xxxasdf 于 2011-1-9 14:50 发表
请高手指教small中构造了if,并用4^8,用什么作用?

看一个具体实例,体会small中构造了if,并用4^8,的作用:
列串联:
多单元格数组公式:

=MID(SMALL(IF(B2:E16="",4^8,COLUMN(B2:E16)*10^4+ROW(B2:E16)*10^2+B2:E16),ROW(1:200)),4,4)

列串联2.gif

[ 本帖最后由 lhx120824 于 2011-1-9 17:10 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-1-9 20:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

路漫漫其修远兮,活到老学到老!

路漫漫其修远兮,活到老学到老!

TA的精华主题

TA的得分主题

发表于 2011-1-9 21:52 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

请教lhx120824大师

为什么我把你原来课程表的“原始任课表”中的任课教师名字全部删掉,在“教师”工作表中的下拉菜单中还见到原来的教师的名字?
如下图:

TA的精华主题

TA的得分主题

发表于 2011-1-9 21:53 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

请教lhx120824大师

为什么我把你原来课程表的“原始任课表”中的任课教师名字全部删掉,在“教师”工作表中的下拉菜单中还见到原来的教师的名字?
如下图:
QQ截图未命名.png

TA的精华主题

TA的得分主题

发表于 2011-1-9 21:58 | 显示全部楼层

请教lhx120824大师

可能对课表没有什么影响,主要是点下拉菜单时,一大串不需要选择的名字,看起来有点眼花缭乱。请问大侠,这些不在“原始任课表”的教师名字为什么还在这里出现?

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-1-9 22:36 | 显示全部楼层
原帖由 无语问苍天 于 2011-1-9 21:58 发表
可能对课表没有什么影响,主要是点下拉菜单时,一大串不需要选择的名字,看起来有点眼花缭乱。请问大侠,这些不在“原始任课表”的教师名字为什么还在这里出现?

你要把
任课教师表的W列中的名单换掉就行,因为速度的原因,从任课教师表中提取不重复值我没有用公式生成。
下拉菜单是用数据有效性定义的,
名称是  js=原始任课表!$W$2:$W$102
现在你需要手动换掉
原始任课表!$W$2:$W$102
中的教师名单。

我正在研究一个稍微快一些的从二维表中提取不重复值的公式。稍后我会把教师名单也用公式生成。

[ 本帖最后由 lhx120824 于 2011-1-10 00:19 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-1-9 23:39 | 显示全部楼层
只用一个公式从二维任课教师表中提取不重复值:
s1=IFERROR(INDIRECT(TEXT(MIN(IF((js<>"")*(COUNTIF(S$1:S1,js)=0),ROW(js)*1000+COLUMN(js))),"r0c000"),),"")
公式下拉。

公式中的  js  为名称定义:
js=$B2:Q23
使用名称也是为了任课表的扩展。

教师任课表中提取不重复.rar (15.28 KB, 下载次数: 157)

任课教师表中提取不重复.gif

[ 本帖最后由 lhx120824 于 2011-1-10 00:21 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-1-10 14:32 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

关于=IF({1,1,1,1,0,0,0},ROW(1:9),COLUMN(A:I))函数生成数组问题

关于利用IF函数生成二维数组:
行数有row()的行数决定,
列数由 IF({1,1,1,1,0,0,0} 的列数决定。
Row(1:x)在自己的位置上按列全取,
COLUMN(A:I)在自己的位置上取对应的列值,行数取Row(1:x)中的 x 行。
见下图:
左图是数组
=IF({1,1,1,1,0,0,0},ROW(1:9),COLUMN(A:I))
右图是数组
=IF({1,1,1,1,0,0,0},COLUMN(A:I),ROW(1:5))
黄色部分是row(1:x)的取值部分
灰色黄色部分是COLUMN(A:I)的取值部分

[ 本帖最后由 lhx120824 于 2011-1-10 14:40 编辑 ]
if222.gif

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-1-10 15:01 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
你在excel中会以下的排位方法吗?
见下图:
排位1.gif

方法有好多种:
1、全手工输入,刚接触excel时我就是这样办的。
2、会自动填充了,我就每行输入前两个单元格然后用填充柄下拉。
3、再后来我就只填每行的第一个单元格,然后用填充柄下拉,在选择填充序列(或复制单元格)
4、前一段时间学了数组公式后,我才会用
=ROW(1:9)+9*(COLUMN(A:D)-1)
按列竖排的方法。
用公式
=4*(ROW(1:9)-1)+COLUMN(A:D)
按行横排的方法。

当然也可变成公式:
=ROW(1:9)+9*COLUMN(A:D)-9
=4*ROW(1:9)-4+COLUMN(A:D)
每个公式各省去两个字符。

竖排时在列标上乘行数再减行数。
横排时在行标上乘列数再减列数。

这些规律都是自己经过多次尝试摸索才能得心应手,直接拿来别人总结的结论来用是记不牢的。

[ 本帖最后由 lhx120824 于 2011-1-10 15:18 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-1-10 15:26 | 显示全部楼层
还是好人多啊!多谢大家了,不断学习中
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-24 22:18 , Processed in 0.040588 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表