excel 数据有效性根据条件自动获取下拉列表值

excel 教程 - 八月 28, 2012 - 来源:单点日志 - No Comments -

excel数据有效制作下拉列表,问题点在于确认选项值,最简单的就是直接设置,第二个是使用offset来确认范围,offset就不讲了,大概得意思是函数 OFFSET 实际上并不移动任何单元格或更改选定区域,它只是返回一个引用。函数 OFFSET 可用于任何需要将引用作为参数的函数。例如,公式 SUM(OFFSET(C2,1,2,3,1)) 将计算比单元格 C2 靠下 1 行并靠右 2 列的 3 行 1 列的区域的总值。

简而言之,offset是取一个区域,因此我们可以将此区域作为数据有效的序列值,这样就有了选项了。普通的设置,只需例如OFFSET(C3,2,3,1,1)就可以了。

今天要解决的问题是根据条件,也就是在一个数据中A ,对应四个值分别是1、2、3、4,而这个A是可变,可能为B,而B对应得值可能为3、6、8、9、12,因此这就需要把公式演变下


OFFSET(C3,MATCH(sheet1!$O5,sheet2!$C:$C,0)-1,3,1,COUNTIF(sheet2!$C:$C,sheet1!$O5)),
原公式2,替换为MATCH(sheet1!$O5,sheet2!!$C:$C,0)-1,sheet1!$O5位值A所在位置,利用match函数在
sheet2标中寻找确认位置,这个位置是行位置,最后一个,利用COUNTIF(sheet2!$C:$C,sheet1!$O5)去查找A一共出现了
几次,因而可以确认A对应得值有几个,这样就完成。

综上理解,行位置确认的,如果列位置也是动态的,那么一样使用match函数动态确认即可,这些应用智能自己推敲了。

更复杂的比如不一定在哪个表中去选定这个区域,连sheet表都可能是动态的,那么加入INDIRECT函数
实现。比如=OFFSET(INDIRECT(“‘”&sheet1!Q5&
amp;”‘!$D$1″),MATCH(sheet1!$O5,INDIRECT(“‘”&sheet1!Q5&”‘!$C:$C”),0)-1,,COUNTIF(INDIRECT(“‘”&sheet1!Q5&”‘!$C:$C”),sheet1!$O5))

这些大家是看不明白,再复杂的公式根据知识点组合即可。



无觅相关文章插件,快速提升流量

《excel 数据有效性根据条件自动获取下拉列表值》由单点日志原创提供!
转载请注明:http://spoint.babyshoot.cn/archives/2012/08/excel-9.html

No Comments│赶紧发话! »

发表评论

您必须登录后才能发表评论。
8