我熟悉Excel将数据从一个工作簿拉到另一个工作簿的能力。例如,如果我有一个工作簿workbook-1.xlsx,我可以使用以下公式将数据从workbook-1.xlsx的单元格A8拉到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中实现这一点?任何帮助都是非常感谢的。
发布于 2017-06-21 05:14:05
使用Formula,你可以这样做:如果你使用Filter来隐藏一些单元格,你可以在你的数据附近创建一个新的列,并在隐藏数据之前用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
https://stackoverflow.com/questions/44662339
复制相似问题