在EXCEL中,数据验证中提供的“序列”功能很有用,可以将常用输入项设置为下拉菜单,方便选择,但是后期项目需要增加或减少后,修改以前的下拉菜单就很麻烦。现在结合COUNTA()函数及OFFSET()函数,来实现所有下拉菜单的自动增减。

下拉菜单的项目如Sheet1表,现在需要在Sheet2表M列中设置下拉菜单
EXCEL设置随意修改和可变化内容的下拉菜单-LMLPHP  EXCEL设置随意修改和可变化内容的下拉菜单-LMLPHP
选中M列,选择EXCEL中的“数据工具”——》“数据验证”,选择“允许”为“序列”,并且在来源中填入=OFFSET(Sheet1!$A$1,,,COUNTA(Sheet1!$A:$A)),此时M列效果如下,且当Sheet1表A列中的项目增加、修改时,M列自动跟随变化
EXCEL设置随意修改和可变化内容的下拉菜单-LMLPHP EXCEL设置随意修改和可变化内容的下拉菜单-LMLPHP

函数说明:
COUNT函数和COUNTA函数都是计算非空单元格个数。语法结构:
=COUNT(区域)或COUNTA(区域)
区别在于:COUNT函数在计算非空单元格的个数时,将把数字型的数字计算进去,错误值、文字、逻辑值、空值将被忽略;如果要统计含有错误值、文字、逻辑值,则使用COUNTA函数。

OFFSET函数是我们常用的引用函数之一,主要用于从指定的基准位置按行列偏移量返回指定的引用。语法结构为:
=OFFSET(基准位置,向下或上偏移几行,向右或左偏移几列,引用区域的高度,引用区域的宽度)

COUNTA(Sheet1!$A:$A))先去掉Sheet1表A列所有为空的单元格,返回数值18。OFFSET(Sheet1!$A$1,,,18),则从Sheet1表A列A1单元格开始,向下引用18行数据(OFFSET第2及第3参数为空,第5参数为空


10-03 00:26