if嵌套if公式嵌套vlookup超出7层

TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢查看: 1448|回复: 9
用IF函数超过7层怎么办
阅读权限20
在线时间 小时
本帖最后由 zchcpa 于
17:37 编辑
目前需要做的逻辑判断共有12次,详见附件,多谢!
17:37 上传
点击文件名下载附件
9.68 KB, 下载次数: 25
阅读权限95
在线时间 小时
=OFFSET($B$5,,CEILING(Y/30,1)),可以用单元格代替变量Y。
阅读权限95
在线时间 小时
升级Excel版本,2007以上版本的嵌套可超过7层
阅读权限100
在线时间 小时
附件太简单,要求条件也没说清楚:
1、公式要针对单元格的,你的“Y&是什么单元格?
2、条件“以此类推”是不是以30的倍数递增?
3、你的表中除了“A”,还有“B”,是起什么作用?摆设还是随“Y”的位置不同,分别取“A ”行或“B”行的值?
只有说清楚了,别人才能帮你!
(如果是以30递增,OFFSET应该轻松搞定!)
阅读权限95
在线时间 小时
换个角度--运用查找函数来解决。
阅读权限20
在线时间 小时
附件太简单,要求条件也没说清楚:
1、公式要针对单元格的,你的“Y&是什么单元格?
2、条件“以此类推” ...
谢谢提醒,已更新附件。
阅读权限100
在线时间 小时
& & & & & & & &
既然Y是任意一个变量,那么C9不应该是文本字母“Y”,而应是具体的数值。
结果=LOOKUP(C9,N(OFFSET(B7,,COLUMN(A:L)-1)),C5:N5)复制代码(结果放在哪个单元格?我暂且放在C11。
由于你的条件,起点值0,对应于P1,起点值30对应于P2……,因此若第7行的数值填的是起始值而不是终止值(如我附件第8行),公式就相当简单:
=LOOKUP(C9,C8:N8,C5:N5)复制代码
18:38 上传
点击文件名下载附件
4.06 KB, 下载次数: 16
阅读权限70
在线时间 小时
简单说,可以定义名称
阅读权限70
在线时间 小时
=OFFSET($B$5,,ROUNDUP(C9/30+0.0001,))
阅读权限20
在线时间 小时
既然Y是任意一个变量,那么C9不应该是文本字母“Y”,而应是具体的数值。
结果(结果放在哪个单元格?我暂 ...
鲜花+掌声,谢谢!
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
巧用vba突破Excel中If函数7层嵌套限制.doc 9页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:180 &&
巧用vba突破Excel中If函数7层嵌套限制
你可能关注的文档:
··········
··········
巧用vba突破Excel中If函数7层嵌套限制   摘 要:大家都知道Excel 2003及以下版本只支持使用If函数7层嵌套的特性。在日常事务处理过程中,常常遇到需要使用If函数7层以上嵌套的情况,这让许多事务变得棘手,不得已有时只能放弃使用Excel软件,改用其他数据处理软件。这给习惯使用Excel软件的人们带来很多不便。本文将通过一个实例讲解如何运用VBA技术解决超7个If语句的问题。
关键词:VBA ;函数
中图分类号:G434 文献标识码:A 文章编号:(8-03
假设现有一个班级的学生测试了50米跑,现场测试的成绩如表1。由于篇幅限制,表1中只列出了8位学生的信息。依据50米的评分标准,如何核算出每位学生的50米考试成绩得分呢?这常让人想到的是运用If函数来核算考试成绩得分。可是50米的评分标准有15个等级,大致需要15个If函数,外加性别的判断,以及多种考试项目的判断,共需要17个If函数。可惜的是Excel 2003及以下版本支持使用If函数的个数最多达7个,所以,没有办法解决这个问题。不过目前Excel 2007版本允许最多嵌套64个IF函数。可惜的是即使允许超7层,7层以上的嵌套对一般用户来说编写起来非常麻烦,容易出错。能否利用Vba来设计一个函数,只需要输入少量的参数,就能轻易地实现呢?接下来,为大家介绍如何运用vba技术解决多层判断的问题。
表1 现场考试成绩表
[建档号\&姓名\&性别\&考试项目\&考试成绩\&得分\&\&杜知远\&男\&50米\&5.6\&\&\&胡佳仪\&女\&50米\&10.6\&\&\&李晓婧\&女\&50米\&9\&\&\&左梓民\&男\&50米\&10.5\&\&\&宋靖童\&女\&50米\&3.4\&\&\&王璇\&女\&50米\&3.8\&\&\&徐振华\&男\&50米\&9.6\&\&\&赵帅\&男\&50米\&7.4\&\&]
二、问题解决过程
1.建立评分标准
使用Excel 2003或Excel 2000软件,新建一个xls电子表格,将sheet1工作薄的名称改为“评分标准”,在此工作薄内,输入图2的评分标准详细信息,如果有其他考试项目,也将其评分标准详细信息录入此工作薄。工作薄中的信息按照“项目”、“分值”两个关键字从大到小的顺序排列,注意必须给每个项目添加分值为0的评分标准。
2.录入现场考试成绩
将sheet2工作薄的名称改为“现场成绩”,在此工作薄内,按照表1的格式输入每位学生的现场考试成绩,其中,每位学生的性别、考试项目、考试成绩三列数据不可缺少,其他信息可以根据需要进行添加,例如:序号、班级、年级,等等。
3.设计自定义函数
依次选择菜单中的工具→宏→Visual Basic编辑器命令,打开Vba代码编辑窗口,选择菜单中的插入→模块命令,设计一个核算考试成绩得分的函数Cjdf。其函数格式为:
Public Function Cjdf(x, y, z, d1, d2 As Range) As Double
‘函数代码
End Function
函数参数说明:x, y, z, d1, d2 都定义为单元格类型,x,y,z分别为性别、考试项目、考试成绩的单元格地址,d1,d2分别为评分标准区间的左上角、右下角单元格地址。
函数功能:根据性别、考试项目、考试成绩查询评分标准,核算出相应成绩得分,函数返回值定义为双精度类型。
代码如下:
‘定义三个单元格变量,用于存放学生性别、考试项目、考试成绩的单元格地址
Dim xb, xm, cj As Range
Set xb = x ‘将x、y、z单元格地址赋予xb、xm、cj
Set xm = y
Set cj = z
‘定义两个单元格变量,存放评分标准的左上角和右下角单元格地址
Dim r1, r2 As Range
Set r1 = d
正在加载中,请稍后...让excel实现函数IF的嵌套超过七层的方法
例子:假如 A1=1,则
B1=A;A1=2,则 B1=B …… A1=26,则 B1=Z 解决方法如下:
在单元格内输入:=IF(A1=1,"A",IF(A1=2,"B",IF(A1=3,"C",IF(A1=4,"D",IF(A1=5,"E",IF(A1=6,"F",IF(A1=7,"G",IF(A1=8,"H",""))))))))&IF(A1=9,"I",IF(A1=10,"J",IF(A1=11,"K",IF(A1=12,"L",IF(A1=13,"M",IF(A1=14,"N",IF(A1=15,"O",IF(A1=16,"P",""))))))))&
IF(A1=17,"Q",IF(A1=18,"R",IF(A1=19,"S",IF(A1=20,"T",IF(A1=21,"U",IF(A1=22,"V",IF(A1=23,"W",IF(A1=24,"X",""))))))))&IF(A1=25,"Y",IF(A1=26,"Z",""))
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Excel 如何实现函数IF的嵌套超过七层_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Excel 如何实现函数IF的嵌套超过七层
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 if公式嵌套vlookup 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信