ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[讨论] 如何用公式实现动态黄色区域到蓝色区域的转换?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-7-30 18:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
呵呵,借6楼公式改一下,同样不考虑特殊情况:=INDEX($A$3:$A$9&OFFSET($A$3:$A$9,,M3),MIN(IF($A$3:$A$8&OFFSET($A$3:$A$8,,M3)=TRANSPOSE($K$3:$K$7&$L$3:$L$7),$A$3:$A$8,7)))数组公式。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-7-31 15:44 | 显示全部楼层
6楼、10楼、11楼的方法都很好,还有其他的公式吗?等待中。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-8-1 15:18 | 显示全部楼层
大体小结一下,第一个一剑的公式对教同一个班的会出现查找的错误(看来vl函数不能准确查找多值的),后两个公式是正确的。第三个大头的公式字符最少。
=VLOOKUP(MIN(IF($A$3:$A$8&OFFSET($A$3:$A$8,,M3)=TRANSPOSE($K$3:$K$8&$L$3:$L$8),$A$3:$A$8)),IF({1,0},--(0&$K$3:$K$8),$K$3:$K$8&$L$3:$L$8),2,)

=INDEX($A$3:$A$9&OFFSET($A$3:$A$9,,M3),MIN(IF($A$3:$A$8&OFFSET($A$3:$A$8,,M3)=TRANSPOSE($K$3:$K$7&$L$3:$L$7),$A$3:$A$8,7)))

=INDEX(A$3:A$9&INDEX(B$3:I$9,,M3),MIN(IF(ISNA(MATCH(A$3:A$8&INDEX(B$3:I$8,,M3),K$3:K$7&L$3:L$7,)),7,ROW($1:$6))))

查找班级节次.rar (5.71 KB, 下载次数: 44)

[ 本帖最后由 lhx120824 于 2010-8-1 15:22 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-8-1 21:17 | 显示全部楼层
问题基本解决,我已用大头的公式为原型制作了课程表,发在专业贴中了。

TA的精华主题

TA的得分主题

发表于 2010-8-1 21:27 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
楼主已经是高级用户了。
其实第二、第三个公式原理是一样的,之所以“有长有短”,还主要是引用的“$”引起的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-8-1 21:40 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 wangg913 于 2010-8-1 21:27 发表
楼主已经是高级用户了。
其实第二、第三个公式原理是一样的,之所以“有长有短”,还主要是引用的“$”引起的。

你也够勤奋的,算是多产吧,反应挺快,写出的公式好像都是经过锤炼的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-8-2 08:51 | 显示全部楼层
从课程总表和任课表查找教师任课表中
请帮忙看一下公式
=INDEX(总表!$B$4:$B$14&INDEX(总表,,$C3+(COLUMN(A1)-1)*9),MIN(IF(ISNA(MATCH(总表!$B$4:$B$13&INDEX(总表,,$C3+(COLUMN(A1)-1)*9),$A$3:$A$12&$B$3:$B$12,)),11,ROW($1:$10))))
为什么会出现错误值,如何解决?

课程表20100801(03版需修改).rar (14.34 KB, 下载次数: 15)

TA的精华主题

TA的得分主题

发表于 2010-8-2 09:46 | 显示全部楼层
名称“总表”和“总表!$B$4:$B$14”   不同维,引起数组扩充错误,这个错误本身不影响大局,但是正好没有符合条件的记录,需要用到这个错误值所在数据,所以就出现 #N/A 。
改一下。
D3=INDEX(总表!$B$4:$B$14&INDEX(总表,,$C3+D$2*9-9),MIN(IF(ISNA(MATCH(总表!$B$4:$B$13&INDEX(总表,,$C3+D$2*9-9),$A$3:$A$12&$B$3:$B$12,)),11,ROW($1:$10))))
数组公式。

课程表20100801(03版需修改).rar

14.47 KB, 下载次数: 34

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-8-2 09:58 | 显示全部楼层
原帖由 wangg913 于 2010-8-2 09:46 发表
名称“总表”和“总表!$B$4:$B$14”   不同维,引起数组扩充错误,这个错误本身不影响大局,但是正好没有符合条件的记录,需要用到这个错误值所在数据,所以就出现 #N/A 。
改一下。
D3=INDEX(总表!$B$4:$B$14&IND ...

谢谢指点,一是维数我没想到,二是把列数的应用我怎么忘了用D$2的混合应用呢?还有“(-1)*9与“*9-9 ”又是两个字符的差别,佩服你想的真细。

[ 本帖最后由 lhx120824 于 2010-8-2 10:02 编辑 ]

TA的精华主题

TA的得分主题

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

本版积分规则

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

GMT+8, 2024-11-22 12:04 , Processed in 0.047198 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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