ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-10-17 19:40 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 jhfg123 于 2010-9-28 08:44 发表
什么是多单元格数组公式,就用“课程表转化成班级任课表(教师统计成绩用)”说明一下,好吗?

你先试试以下的附件,看看速度如何?
用多单元格数组公式转化表.rar (35.59 KB, 下载次数: 1567)
关于多单元格数组公式的解释,你可搜索一下论坛中的有关帖子即可。我不好班门弄斧。

附件中的三个公式全是多单元格数组公式(2007中的):
M2:M1000
=IFERROR(INDEX(A:A,MOD(SMALL(IF($B$3:$K$100<>"",ROW(A3:A100)+COLUMN($B:$K)*1000),ROW
(1:1000)),1000)),"")

N2:N1000
=IFERROR(INDEX($2:$2,INT(SMALL(IF($B$3:$K$100<>"",ROW($A$3:$A$100)+COLUMN($B:$K)*1000),ROW(1:1000))/1000)),"")

O2:O1000
=IFERROR(INDEX($B$3:$K$100,MATCH(M2:M1000,A:A,0)-2,MATCH(N2:N1000,$A$2:$K$2,0)-1),"")
任课表转化.gif

[ 本帖最后由 lhx120824 于 2010-10-25 10:23 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-10-17 20:39 | 显示全部楼层
比如多单元格数组公式:
M2:M1000
=IFERROR(INDEX(A:A,MOD(SMALL(IF($B$3:$K$100<>"",ROW(A3:A100)+COLUMN($B:$K)*1000),ROW(1:1000)),1000)),"")
使用方法是选定M2:M1000(可以在名称框中输入M2:M1000后回车)激活编辑框后输入公式
=IFERROR(INDEX(A:A,MOD(SMALL(IF($B$3:$K$100<>"",ROW(A3:A100)+COLUMN($B:$K)*1000),ROW(1:1000)),1000)),"")
按数组的三键结束


多单元格数组公式的计算结果不一定都是内存数组。除了存于多单元格的内存数组公式外,其他多单元格公式是根据,某参数中的数组或引用的行列位置,相对于结果存放的单元格行列位置的对应关系,来计算单个单元格的相应值。多单元格公式的结果不能作为一个整体被其他公式再次利用,它必须存于Excel单元格区域中,才能正确地显示和被利用。

使用多单元格公式的意义在于,用一个公式一次成批地计算多个单元格,可减少了Excel反复重算的次数。在运算速度上,多单元格公式要比在单元格中分别输入公式要快。

[ 本帖最后由 lhx120824 于 2010-10-17 20:42 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-10-18 00:46 | 显示全部楼层

回复 233楼 lhx120824 的帖子

谢谢老师的回复,慢慢研究,再次谢谢老师!

TA的精华主题

TA的得分主题

发表于 2010-10-18 01:21 | 显示全部楼层

回复 234楼 lhx120824 的帖子

老师,我用的是excel2003,你的附件是2007,在2003中出现了错误,请发一个用excel2003的附件,期盼中----------------。
另外,再提个问题,如何利用随机函数全自动排课?
谢谢了!

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-10-18 01:43 | 显示全部楼层
原帖由 jhfg123 于 2010-10-18 01:21 发表
老师,我用的是excel2003,你的附件是2007,在2003中出现了错误,请发一个用excel2003的附件,期盼中----------------。
另外,再提个问题,如何利用随机函数全自动排课?
谢谢了!

换成2007吧,很方便的。
另外如何利用随机函数全自动排课?我也还没有解决。等待高手来吧。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-10-18 07:39 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
要想用2003,就按下列方法改进(内部的原公式是03中能用的 )
=IFERROR(原公式,"")
2007的公式

=if(iserror(原公式),"",原公式)

=IF(某个单元格="","","原公式")

你自己试试吧 。

[ 本帖最后由 lhx120824 于 2010-10-18 07:40 编辑 ]

TA的精华主题

TA的得分主题

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

回复 238楼 lhx120824 的帖子

我用2003实验成功了,谢谢老师,期待下一个作品。

TA的精华主题

TA的得分主题

发表于 2010-10-18 16:47 | 显示全部楼层

回复 238楼 lhx120824 的帖子

速度比原先有很大的提高,再次感谢老师,向您学习。

TA的精华主题

TA的得分主题

发表于 2010-10-18 17:29 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-10-18 19:25 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-22 01:00 , Processed in 0.038905 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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