阅: 2019 | 回: 0
等级:初学者
- 积分:0
- 财富值:0.0
- 身份:普通用户
数据有效性的应用
有效性中,允许项里,可以选择的项目有8个:
1、任何值
2、整数
3、小数
4、序列
5、日期
6、时间
7、文本长度
8、自定义
其中的1、2、3、5、6、7都比较容易理解与学习,而精彩应用,大多都是4、序列与8、自定义,而精彩的原因就要归功于公式的应用与自定义名称了。
序列的来源,可分四种:
1、直接键入:如果有效数据序列很短时,可直接将其键入“来源”框,中间用 Microsoft Windows 列表分隔符(默认状态为逗号)隔开。例如,可以在“来源”编辑框中键入“低、中、高”,而不用将这三个词输入到工作表中。
2、单元格区域:选中要命名的单元格、单元格区域或非相邻选定区域即可。
3、公式运算后的结果:一些由查找函数的公式,返回的值为单元格区域的引用,就可以把它当作序列的来源。
4、自定义名称:如果要在其他工作表的数据输入单元格上键入有效数据序列,请定义数据序列的名称。而公式也可以用好记的自定义名称来代替!
下面就说几个常见的问题与用数据有效性解决的方法。
1、防止数据重复录入。方法,设数据为A列,选定A列,在数据有效性的自定义中键入公式——=CountIf(A:A,A1)=1即可。其它情况相应修改区域即可。
2、同列数据中,录入的日期只能按升序录入。方法,设数据为A列,首行为标题,选定A2至你需要的区域,在数据有效性中的允许选择日期,数据选择大于或等于,开始日期中键入——=Max($A$2:$A2),即可。
最后再举个比较复杂点的实例——实现动态数据选择。
A2为另一个表中的的数据,先选择A2格的内容,B2格的内容表中的数据自动生成选择项!且表中内容不定且有可能增减。
A2的数据为第一次的动态选择,公式也比较简单:=OFFSET(Sheet2!$A$1,,,,COUNTA(Sheet2!$1:$1))。
而B2格的数据就是第二次动态选择,公式较长:=OFFSET(Sheet2!$A$1,1,MATCH(Sheet1!$A2,Sheet2!$1:$1,0)-1,COUNTA(OFFSET(Sheet2!$A$1,1,MATCH(Sheet1!$A2,Sheet2!$1:$1,0)-1,65535))-COUNT(OFFSET(Sheet2!$A$1,1,MATCH(Sheet1!$A2,Sheet2!$1:$1,0)-1,65535)))
有效性中,允许项里,可以选择的项目有8个:
1、任何值
2、整数
3、小数
4、序列
5、日期
6、时间
7、文本长度
8、自定义
其中的1、2、3、5、6、7都比较容易理解与学习,而精彩应用,大多都是4、序列与8、自定义,而精彩的原因就要归功于公式的应用与自定义名称了。
序列的来源,可分四种:
1、直接键入:如果有效数据序列很短时,可直接将其键入“来源”框,中间用 Microsoft Windows 列表分隔符(默认状态为逗号)隔开。例如,可以在“来源”编辑框中键入“低、中、高”,而不用将这三个词输入到工作表中。
2、单元格区域:选中要命名的单元格、单元格区域或非相邻选定区域即可。
3、公式运算后的结果:一些由查找函数的公式,返回的值为单元格区域的引用,就可以把它当作序列的来源。
4、自定义名称:如果要在其他工作表的数据输入单元格上键入有效数据序列,请定义数据序列的名称。而公式也可以用好记的自定义名称来代替!
下面就说几个常见的问题与用数据有效性解决的方法。
1、防止数据重复录入。方法,设数据为A列,选定A列,在数据有效性的自定义中键入公式——=CountIf(A:A,A1)=1即可。其它情况相应修改区域即可。
2、同列数据中,录入的日期只能按升序录入。方法,设数据为A列,首行为标题,选定A2至你需要的区域,在数据有效性中的允许选择日期,数据选择大于或等于,开始日期中键入——=Max($A$2:$A2),即可。
最后再举个比较复杂点的实例——实现动态数据选择。
A2为另一个表中的的数据,先选择A2格的内容,B2格的内容表中的数据自动生成选择项!且表中内容不定且有可能增减。
A2的数据为第一次的动态选择,公式也比较简单:=OFFSET(Sheet2!$A$1,,,,COUNTA(Sheet2!$1:$1))。
而B2格的数据就是第二次动态选择,公式较长:=OFFSET(Sheet2!$A$1,1,MATCH(Sheet1!$A2,Sheet2!$1:$1,0)-1,COUNTA(OFFSET(Sheet2!$A$1,1,MATCH(Sheet1!$A2,Sheet2!$1:$1,0)-1,65535))-COUNT(OFFSET(Sheet2!$A$1,1,MATCH(Sheet1!$A2,Sheet2!$1:$1,0)-1,65535)))
我的个性签名