2015-06-11 61 views
0

对不起,因为我的代表级别,无法发布屏幕截图,因为它会解释我想要做的更容易。只返回非空数组结果

我使用excel从网上获取外部数据,这样一旦我设置了一切,我就可以每天刷新数据。我正在拉动每月股票的历史收盘价格,以便我可以运行函数=(G3-G4)/ G4来获取股票的月度收益。我的问题是,所提取的数据包括股息发行的时间,导致数据中存在空白点,收盘价通常会出现,并给我#DIV/0错误。 (G3-G5)/ G5),((G3-G4)/ G4)))其中B1是一个零值(G3-G5)/ G5)我进入,解决了我原来的问题,但空白行仍然存在,这将在我在另一个页面上创建数组时出现问题。

我可以得到一个数组,只返回非空白值,并缩小行数以匹配非空白行的总数。所以如果我的原始日期是45行,其中5个是空白的,我可以得到一个不同的Excel表格的前40行的输出?

+0

添加图片链接,某人(也许是我)会编辑它。 –

回答

1

这是一种使用可以适应您布局的公式删除空白值的方法。随着列值,在B1进入数组公式

=IFERROR(INDEX($A$1:$A$10,SMALL((IF(LEN($A$1:$A$10),ROW(INDIRECT("1:"&ROWS($A$1:$A$10))))),ROW(A1)),1),"") 

和复制下来。

enter image description here

数组公式必须按Ctrl ++输入,而不仅仅是输入键来输入。

大括号在公式栏中将自动出现,不应输入。

+0

为什么ROW(INDIRECT(ROW))位?另外,我打算使用'ISBLANK',但意识到它不喜欢返回''''''''''单元格的公式。我删除了我的答案,但很好奇使用'INDIRECT'。 –