举个简化过的例子:
sheet1
1 a
2 b
3 c
sheet2
1 ?
2 ?
2 ?
1 ?
3 ?
以上代码块处表示各电子表格的单元格中的内容,sheet2中?
处的内容要和sheet1中依据第一列的数字对应起来,比如我期望在sheet2中第一个单元格输入1
,马上就自动在第二个单元格中跳出a
,能做到这样吗?
举个简化过的例子:
sheet1
1 a
2 b
3 c
sheet2
1 ?
2 ?
2 ?
1 ?
3 ?
以上代码块处表示各电子表格的单元格中的内容,sheet2中?
处的内容要和sheet1中依据第一列的数字对应起来,比如我期望在sheet2中第一个单元格输入1
,马上就自动在第二个单元格中跳出a
,能做到这样吗?
经典的外键关联(Foreign Key)关系。
如果硬用excel公式来做,那么就需要调动MATCH()
查找值在某一个区域中出现在第几行,然后用INDEX()
在某一个区域中用行列坐标定位。
请在Sheet2的B列刷以下公式:
=INDEX(Sheet1.B1:B1000000, MATCH(A1, Sheet1.A1:A1000000, 0), 1)
其中MATCH()
第一个参数的A1要按行增加,其余的不变。
VLookup这个函数就是专门解决这个问题的。
对于Sheet2的B1:
=VLOOKUP(A1, 'Sheet1'!$A$1:$B$3, 2, FALSE)
最前面的A1要按行增加,可以直接拖填充柄。
如果不想在空行显示错误的话,可以用IfError:
=IFERROR(VLOOKUP(A1, 'Sheet1'!$A$1:$B$3, 2, FALSE), "")