我熟悉Excel将数据从一个工作簿提取到另一个工作簿的能力。例如,如果我有一个工作簿workbook-1.xlsx
,我可以使用以下公式将数据从A8
的单元格workbook-1.xlsx
提取到workbook-2.xlsx
的单元格A1:
='C:\users\username\documents\[workbook-1.xlsx]Sheet1'!A8
如果我将光标向下拖动到框的一角,它将重现此结果,并将单元格A9
,A10
等中的数据提取到单元格A2
中,A3
,等等。现在假设在我的工作簿workbook-1.xlsx
中,我有一系列从A8
到A15
的单元格,其中隐藏了一些单元格。我想仅从那些可见的单元格中提取数据。
假设所有单元格都可见,我们获得以下地图:
A8 --> A1
A9 --> A2
A10 --> A3
A11 --> A4
A12 --> A5
A13 --> A6
A14 --> A7
A15 --> A8
但是,假设隐藏了单元格A10
和A11
,我该如何获取以下地图?
A8 --> A1
A9 --> A2
A12 --> A3
A13 --> A4
A14 --> A5
A15 --> A6
实际上,我希望隐藏的单元格被忽略。理想情况下,我正在寻找形式的功能:
=IF('[workbook-1.xlsx]Sheet1'!A8_is_visible, '[workbook-1.xlsx]Sheet1'!A8, skip)
有没有办法在Excel 2010中实现这一点?任何帮助表示赞赏。
答案 0 :(得分:0)
使用公式你可以做到: 如果您使用过滤器隐藏某些单元格,您可以在数据附近创建一个新列,并在隐藏数据之前在B8中写入:
=SUBTOTAL(103,$A$8:$A8)
并向下拖动,当您应用过滤器时,它将仅为可见行写入序号 将您的公式更改为:
=IFERROR(INDEX('C:\users\username\documents\[workbook-1.xlsx]Sheet1'!$A$8:$A$15,MATCH(ROW()-1,'C:\users\username\documents\[workbook-1.xlsx]Sheet1'!$A$8:$A$15,0)),"")
然后将其拖下来 或者你可以使用VBA