在EXCEL中,如何实现利用下拉菜单,选择数据的不同计算?
在图片中,E3和E4为输入的数据,分别是X,Y;C6\C9\C12\C15\C18为下拉菜单(具体的下拉为正东、东南、正南、西南、正西、西北、正北和东西这八个方位)。
实现的功能如下:首先输入E3和F3值,然后选择下拉菜单,进行相应的计算(东为x-50,南为y-50,西为x+50,北为y+50),然后在E6和E7中显示值。 展开
1、在A列将所有方位罗列,然后选择C列,在“数据”选项下的“数据有效性”“设置”中,选择“序列”,来源选择A列的方位内容单元格;
2、按“确定”后,在C列生成了方位下拉列表;
3、在E6单元格输入以下公式,然后向下填充公式
=IF(D6="","",IF(D6="x=",E$3+IF(ISNUMBER(FIND("东",OFFSET(C$6,INT((ROW(A1)-1)/3)*3,))),-50,IF(ISNUMBER(FIND("西",OFFSET(C$6,INT((ROW(A1)-1)/3),))),50,0)),IF(D6="y=",E$4+IF(ISNUMBER(FIND("南",OFFSET(C$6,INT((ROW(A1)-1)/3)*3,))),-50,IF(ISNUMBER(FIND("北",OFFSET(C$6,INT((ROW(A1)-1)/3),))),50,0)))))
公式表示:D6为空,返回空;如果D6为“x=”,查找到C6包含“东”的,E3减50,查找互C6包含“西”的,E3加50;如果D6为“y=”,查找到C6包含“南”的,E4减50,查找互C6包含“北”的,E4加50。
公式中,通过OFFSET(C$6,INT((ROW(A1)-1)/3)*3,)以C6单元格为基准单元格,每向下移动三行时,基准单元格向下偏移三行,方便向下填充是,始终引用基准单元格;IF(ISNUMBER(FIND("南",……)))函数实现条件判断是否包含条件字符“南”,然后对应加减要求。
公式虽长,但可以一次性地向下填充引用,而不需要隔行逐个粘贴到跨过空行。
广告 您可能关注的内容 |