不合格的程序猿
分类: WINDOWS
2015-12-14 16:09:46
原文地址:Excel 下拉列表 作者:linux_wuliqiang
近来看到有些人对于如果做好双下拉列表,又能自动反映预定资料的表格犯愁,其实只要做好了基础表,其它一切就不成问题了。
比如说要做一个商品采购资料表,要求第一列为大类,第二列为商品名,第三列为单价,第四列为产地,第五列为供应商,第六列为联系电话等,如果不做基础表基本无法实现,但如果先做了一个基础表就好办多了。以下为本人的做法:
一、先选中基础表的A列,在名称框中输入“分类”,回车,即A列取名为“分类”(取名一般介绍都是“插入/名称/定义”再取名,选区域,实际上只要选中区域后直接在左上的名称框中输入名称后回车即可)。然后在A列中输入分类的名称,如水果、蔬菜等(虽然分类可以在做下拉列表中直接输入,但如果以后还要添加或删除时必须修改公式,做了本分类区域后,可随时修改或添加,不必再修改公式,达到一劳永逸的效果)。
二、选中C列,取名“水果”(必须和分类列中输入的名称一致),再同时选中C列至G列的区域,取名为“水果资料”(前面的水果两字必须和C列名“水果”一致),在C至G列的单元格中分别输入水果名、单价、产地、供应商和联系电话。用同样的办法再在后面做好蔬菜及其他分类的区域及输入好相关资料。
三、现在打开另一张空白表开始做正表,在A列做下拉列表:点中A2单元格,“数据/有效性/设置”,在“允许”中选“序列”,右边选中“忽略空值”和“提供下拉箭头”,在“来源”中输入:=分类。确定后退出,再将A2下拉填充若干行。
四、选中B2单元格,同样做下拉列表,只是在“来源”中输入:=INDIRECT(A2),其他都同上(注意,其中的"="最好在英文状态下输入,如果在中文状态下有时会出错)。同样下拉若干行填充(这时会提示出错,因为A列还是空白,公式无法引用,不必管它)。
五、再在C2单元格输入公式:=IF($B2="","",VLOOKUP($B2,INDIRECT($A2&"资料"),2,FALSE)),然后将该元格向右填充到F列,将公式中“FALSE”前的“2”分别改为3、4、5。然后再将C至F列向下填充若干行。
这样一张双下拉列表的货物采购资料表就做好了。怎么样,一点也不复杂吧?没有多少函数公式知识的人也可以达到目的。为了表的整洁,资料都输入好以后可以将基础表隐藏掉,同时还可以增加一点表格的神秘性。同样,在其他公式比较复杂一时难以搞懂的情况下,增加基础表以减少函数的复杂程度也是一个不错的选择。