我试着这么做已经有一段时间了,但我一直遇到障碍。
我在Excel中有一张表,它有一个按名称排列的列-值为1到10的索引。我有F到U列,每个索引值都有一些数据。
我创建了一个新的工作表,其中列为"索引",其余列与第一个工作表类似。我想要一个宏,这样当我键入2作为索引值时,它将自动将工作表1中的值(与索引值2相对应的F到U列)填充到新工作表中。这应该适用于表1中添加的任何新索引值。
我试着做一个公式,但没有成功。
有什么想法吗?
示例
第1张
列索引
1 q w e r s t u v a b c d e f g h
2 a b c d e f g h i j k l m n o p
第2张
当我在工作表2中的列索引下键入值2时,它必须自动填充从a到p的相应值。
2 a b c d e f g h i j k l m n o p
我不知道这是否会是一个好的解决方案,但它确实有效。
在工作表2中,假设第1行是为列标题保留的,A2
是放置索引值的位置,然后将以下公式放在工作表2的F2
中,并复制到U2
:
=OFFSET(Sheet1!F2:F11,Sheet2!$A$2-1,0,1,1)
对于第一列(F
),它将引用工作表1中的F
列,并使用您在工作表2中键入的索引移动到正确的行,并将值从工作表1复制到工作表2中。
编辑。。重读你的问题,我稍微修改了我的解决方案:
=OFFSET(Sheet1!F:F,Sheet2!$A$2,0,1,1)
这允许添加任何数量的额外索引,只要索引从1到任意顺序,您在表2中期望的行为就会起作用。请注意,不必减去1,因为偏移量0是为列标题保留的行。