Excel函数和数据有效性问题,高手帮忙!!!

来源:百度知道 编辑:UC知道 时间:2024/07/02 01:36:35
自己做了个实时库存表,出了点小问题,如图:
1.库存项目主要有“类别”、“型号”和“库存数”组成。
2.已在F2建立数据有效性,引用了B4:B18区域。
3.目的是为了查询不同型号的库存数。

问题:
1.不同“类别”可能含有相同的“型号”,如13、17和18行,“类别”分别为V710、V720和V730,但是“型号”都为PM6050。我采用数据有效性不能统计出PM6050型号的总数,而只能统计出每个“类别”下的该型号数。G2的公式该怎么编写?
2.同时,在F2数据有效性的下拉列表中,型号PM6050重复出现,无法取消重复下拉列表项目。如何取消重复的下拉列表。

求高手帮忙,在线等!
满意就给分!!!
补上截图!

第1问题:G2=SUMIF($B$4:$B$100,F2,$D$2:$D$100)

针对第2个问题,有点复杂,需要创建辅助列来处理,可以将辅助列隐藏。
这里用你的E列作辅助列,

在E1输入公式(数组公式,以CTRL+SHIFT+ENTER组合键结束输入)
{=OFFSET($B$3,SMALL(IF(MATCH(OFFSET($B$4,,,COUNTA($B$4:$B$65536)),OFFSET($B$4,,,COUNTA($B$4:$B$65536)),0)=ROW(OFFSET($B$4,,,COUNTA($B$4:$B$65536)))-3,ROW(OFFSET($B$4,,,COUNTA($B$4:$B$65536))),65500),ROW(A1)),)}

下拉E1公式,生成一个无重复值的列表

如果你的B列数据行数(假设到B100行)是固定不变的则上述公式可以简化成
{=OFFSET($B$3,SMALL(IF(MATCH($B$4:$B$100,$B$4:$B$100,0)=ROW($B$4:$B$100)-3,ROW($B$4:$B$100),65500),ROW(A1)),)}

F2的数据有效性选择“序列”,在来源中输入公式

=OFFSET($E$1,,,COUNTIF($E:$E,">"""))

给个建议
F2与G2是按型号查询

可以在F4与G4建立类别查询,这样会方便很多!

公式

F2用有效性B4:B18
F4用有效性A4:A18
G2=SUMIF(B4:B18,F2,D4:D18)
G4=SUMIF(A4:A18,F4,D4:D18)

2.同时,在F2数据有效性的下拉列表中,型号PM6050重复出现,无法取消重复下拉列表项目。如何取消重复的下拉列表。
这个要手动去重的,需要用到高级筛选,将数据复制到其他列,勾上不重复的。再引用自己做的那列就不会用重复了。

我采用数据有