
EXCEL中如何用数据有效性选择数据后,另一个单元格自动引用指定位置的数据
注意SHEET1表中的“名称”顺序是不定的,与SHEET2中“名称”的排序不一定相同。单元格里想要的数据来自于SHEET1中横向“ABCD”和纵向“甲乙丙丁”的相交值。另外,要同时得到两个值,数量1和数量2.
本人不是专业搞EXCEL表的,希望能直接发公式给我,要简单明了,否则看不懂,呵呵,谢谢! 展开
1、我们将需要的处理的excel表格打开,进入到该表格的操作界面,然后选择表格里的单元格再在菜单里找到数据选项
2、点击数据选项,在数据的工具区里找到数据有效性选项
3、点击数据有效性选项,在弹出的对话框内我们找到允许选项,在允许内我们选择序列
4、选择序列之后,然后在来源里输入引用的单元格
5、用同样的方法我们也可以为籍贯制作子级菜单,最后的效果
方法一
在Sheet2的C2单元格输入以下公式,然后向右向下填充公式
=VLOOKUP($A2,Sheet1!$A:$I,MATCH($B2,Sheet1!$A$1:$I$1,0)+IF(C$1="数量1",0,1),0)
公式表示:在Sheet1的A列精确匹配与A2单元格相同的单元格,并返回对应满足B2单元格在Sheet1的A1:I1中对应的列数,加上如果C1为数量1为0,如果为数量2为1的结果为列数的数据。
方法二:
在Sheet2的C2单元格输入以下公式,然后向右向下填充公式
=INDEX(Sheet1!$B$3:$I$6,MATCH($A2,Sheet1!$A$3:$A$6,0),MATCH($B2,Sheet1!$B$1:$I$1,0)+IF(C$1="数量1",0,1))
公式表示:在Sheet1的B3:I6单元格区域,以A2在Sheet1的A3:A6中的位置为行数,以B2在Sheet1的A1:I1中的位置加上如果C1为数量1为0,如果为数量2为1的结果为列数,交叉位置的单元格,即为引用单元格。
则数量1的公式(在C2):=INDEX(SHEET1!$A$1:$I$6, MATCH(A2, SHEET1!$A$1:$A$6,0), MATCH(B2, SHEET1!$A$1:$I$1,0))
则数量2的公式(在D2):=INDEX(SHEET1!$A$1:$I$6, MATCH(A2, SHEET1!$A$1:$A$6,0), MATCH(B2, SHEET1!$A$1:$I$1,0)+1)
然后向下复制填充
表中,INDEX(区域, 行坐标, 列坐标) 可以在“区域”中,取得“行坐标”与“列坐标”相交位置的数据
而MATCH(查询值, 区域, 0=严格匹配) 则是在“区域”中查找“查询值”,并返回所在的位置
这样
根据SHEET2的名称,可以在SHEET1的A1:A6中找到对应的行坐标
根据SHEET2的类型,可以在SHEET1的A1:I1中找到对应的列坐标
数量1就在上述行坐标与列坐标的交叉位置
数量2在上述行坐标与列坐标的交叉位置的右方,因此列坐标+1
单元格引用时加入了$符号,是防止公式在复制填充时,行列坐标变化

C2输入:=INDIRECT("sheet1!"&CHAR(2*CODE(B2)-64)&MATCH(A2,Sheet1!A:A,0))
D2输入:=INDIRECT("sheet1!"&CHAR(2*CODE(B2)-63)&MATCH(A2,Sheet1!A:A,0))
下拉复制公式