如何利用A列单元格数字作为B列行号,在C列返回对应值?
Google Sheets 公式解决方案
问题分析
你的需求是将A列的数字作为行号,提取B列对应行的内容到C列。原公式失效的原因是INDEX结合ARRAYFORMULA时,嵌套的INDEX(B:B)无法批量处理数组,需要改用支持数组运算的写法。
可行公式
方法一:直接用INDEX批量处理
在C1单元格输入:
=ARRAYFORMULA(IF(A:A="","",INDEX(B:B,A:A)))
- 说明:
IF(A:A="","",...)用来跳过A列空单元格,INDEX(B:B,A:A)会批量将A列的每个数字作为行号,提取B列对应位置的内容。
方法二:用VLOOKUP适配非连续行号
如果A列的数字存在非连续情况,也可以用:
=ARRAYFORMULA(IF(A:A="","",VLOOKUP(A:A,{ROW(B:B),B:B},2,FALSE)))
- 说明:
{ROW(B:B),B:B}构建一个包含行号和B列内容的辅助数组,VLOOKUP根据A列的行号匹配对应内容。
效果验证
对应你的示例表格,使用公式后C列会生成预期结果:
| 数字数据 | 数据 | 结果 |
|---|---|---|
| 1 | q | q |
| 4 | w | r |
| 2 | e | w |
| 3 | r | e |
| 5 | t | t |
内容的提问来源于stack exchange,提问作者icecream sugar black
相关产品推荐
相关产品推荐

