1

我很难让数组公式按照我希望的方式工作。

在未排序的日期列中,我希望它将值提取到新列中。下面的公式标识给定月份和年份的所需单元格,但它们出现在原始行中,而不是在输出范围的顶部。此外,我希望将所有 ""/FALSE 单元格从输出数组中排除。

=IF((MONTH($I$15:$I$1346)=1)*(YEAR($I$15:$I$1346)=2008),$I$15:$I$1346,"")

事实上,$I$15:$I$1346 应该是动态的,并转到最后填充的范围(我可以为此创建一个命名范围)

第二部分是扩展该公式,以便计算作为上述数据的两列偏移量的数据。

以上内容是否可以通过 IF、INDEX、SMALL 和其他的组合构建到一个单元格中?

我不是在寻找过滤器解决方案。希望以上内容足够清楚,并且您可以提供帮助!

这是一个缩短的示例布局:

    A           B          C
1   Date        Series_A   Series_B
2   03/01/2011  45         20
3   04/01/2011  73         30
4   06/01/2011  95         40
5   08/01/2011  72         50
6   06/02/2011  5          13
7   09/02/2011  12         #N/A
8   05/02/2011  23         65
9   07/03/2011  12         65

然后我想要三个输入单元格作为年份和月份和系列名称(索引/匹配,因为有更多的数据列)。如果是 2011 年 2 月和 Series_A,我希望它计算该月的平均值。在这种情况下,它将是 (5+12+23)/3。如果它是 2011 年 2 月和 Series_B,它有错误,它应该显示 (13+65)/2 而不是错误。

除此之外,我想要一个单独的,它将输出一个包含数据的数组,而不是中间没有“洞”并且具有正确的“长度”。C 列中 2011 年 2 月的示例:

    A           B          C                  D
1   Date        Series_A   Desired Output     Output based on f above
2   03/01/2011  45         5                  
3   04/01/2011  73         12
4   06/01/2011  95         23
5   08/01/2011  72         
6   06/02/2011  5                             5
7   09/02/2011  12                            12
8   05/02/2011  23                            23
9   07/03/2011  12  

如果我然后运行 ​​=ISBLANK(C5) 它应该是真的,而不是 =""=C5

希望编辑澄清

4

1 回答 1

0

我联系了各种平台以获得答案,在这里你有一个可以的。仍然没有完全回答第 1 部分,但仍然有效。

http://www.excelforum.com/excel-formulas-and-functions/905356-exclude-blank-false-cells-in-in-excel-array-if-formula-output.html

于 2013-03-08T17:34:10.763 回答