仅返回非空白数组结果

时间:2015-06-11 18:06:17

标签: arrays excel

提前抱歉因为我的代表级别而无法发布屏幕截图,因为它会让我更容易解释我想要做的事情。

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

我是否可以获取一个数组,只返回非空白的值,并缩小行数以匹配非空行的总数。因此,如果我的原始日期是45行,其中5行是空白的,那么我可以在不同excel表的前40行中获得输出吗?

1 个答案:

答案 0 :(得分:1)

以下是一种使用可以适应布局的公式删除空白值的方法。使用 A 列中的值,在 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 + Shift + 输入输入

数组公式,而不仅仅是 Enter key。

公式栏中的大括号会自动显示,不应输入。