EXCEL有两列数据栏,A列和B列,都是通过下来框来选择,要求A列选择完成后,B列动态调整可选择的内容。例如:第一例选择“AA”,第二列可供选择的范围是“a-d”;第一例选择“BB”,第二列可供选择的范围是“e-h”;第一例选择“CC”,第二列可供选择的范围是“i-w”;第一例选择“DD”,第二列可供选择的范围是“w-z”;
AA |
a |
b |
c |
d |
BB |
e |
f |
g |
h |
CC |
i |
j |
k |
w |
DD |
w |
x |
y |
z |
首先设置第一列的数据有效性:
图一
接着设置第二列的数据有效性
图二
公式比较复杂:
=OFFSET($F$13:$I$16,VLOOKUP(INDIRECT("A"&ROW()),$D$14:$E$17,2,0),0,1,4)
解读如下:
先看一下基础数据区
基础数据区的信息,范围为:D14:I17
AA |
1 |
a |
b |
C |
d |
BB |
2 |
e |
f |
G |
h |
CC |
3 |
i |
j |
K |
w |
DD |
4 |
w |
x |
Y |
z |
公式中用了两层嵌套,在OFFSET函数中嵌套了VLOOKUP函数,在VLOOKUP函数中嵌套了INDIRECT函数。INDIRECT函数用来读取同行第一列选择的数值,VLOOKUP用来返回偏移量,
OFFSET实现偏移。
新增一列作为辅助列,填入序号“1-4”。基础数据区域的第一行作为起始行。
运行结果: