switchCase函数的妙用

Switchcase函数的功能是:在不同的匹配值下计算出不同表达式的结果。此函数的用法在教程中有详细的讲解。

本文就用一个实际的客户需求来更形象的展示一下switchcase函数的巧妙用法:客户希望在1个下拉框中选择1个季度,会出现该季度下相应的月份,即选择”二季度”则显示”4月”,”5月”,”6月”

如图:

下面我们看一下,如何用switchcase函数来巧妙实现这一需求:

第一步:设计一张填报表,如下图:

其中,E1单元格的编辑风格为”下拉列表框”:

这里解释一下”代码值”和”显示值”的含义:

代码值:存在数据库中的实际值

显示值:显示在页面上的值,在数据库表中并不存在

第二步:

定义D4,E4,F4单元格的编辑风格和自动计算表达式,以D4为例:

右击D4单元格,点击”填报属性”,将”是否可写”勾选上,然后在”自动计算”中写入:=switchCase(E1,”1″,”1“,”2″,”4“,”3″,”7“,”4″,”10“,”")。意思是:当E1单元格中的显示值为1时,显示1月”;为2时,显示”4月”,以此类推,默认为空。

这里我们看到,switchCase函数中取的是E1单元格中的”代码值”,而非”显示值”。这点非常值得注意!如果取”显示值”的话是没有效果的,看不到动态改变。

E4F4中将”是否可写”勾选上,”自动计算”的表达式分别为:

=switchCase(E1,”1″,”2“,”2″,”5“,”3″,”8“,”4″,”11“,”")

=switchCase(E1,”1″,”3“,”2″,”6“,”3″,”9“,”4″,”12“,”")

这样就可以实现动态选择不同季度,出现该季度下相应的月份。