excel中怎么在一个sheet中引用另一个sheet中特定区域的数据

如下图,sheet1中有很多数据,需要在后面的sheet中引用sheet1出现的3之间的数据,即:sheet2是2、5、6;sheet3是5、8;sheet3是9、4。应该用什么公式才能达到这样的效果呢?

亲,跨表了,用公式和手工操作没省多少事儿。而且,我猜你的问题应该不会这么简单,是不是后续还有3的话,一直Sheet4/Sheet5/……自动续写下去?如果是,建议用VBA编程解决。追问

==猜对了,确实不仅仅这样,而且数据极多,不过只有6个3,也就是后面再分6个表。用vba怎么操作呢?求指点!

追答

亲,如果3的个数是确定的,可以用公式,不过是数组公式,每个表还不一样,比较麻烦,还是VBA吧。

代码如下。打开你的Excel文件,按“Alt+F11”打开VBA编辑窗口,然后在左侧对应的Sheet上双击,右侧空白处粘贴下面的代码。关闭VBA窗口。然后按“Alt+F8”打开宏窗口,选择刚插入的宏,点击“执行”。

 

 

Sub cf()
Dim i, n, r As Long
i = 1: n = 1
Do While Range("A" & i).Value <> ""
    If Range("A" & i).Value = 3 Then
        n = n + 1: r = 1: Sheets(n).Columns("A").ClearContents
    Else
        Sheets(n).Range("A" & r).Value = Range("A" & i).Value: r = r + 1
    End If
    i = i + 1
Loop
End Sub

温馨提示:答案为网友推荐,仅供参考
相似回答