2014-12-04 50 views

回答

2

或者这阵列式**

=MAX(MMULT(0+(LEN(B2:G5)=0),TRANSPOSE(COLUMN(B2:G5)^0))) 

问候

**数组公式的输入方式与“标准”公式不同。您只需按住CTRL和SHIFT键,而不是按下ENTER键,然后按ENTER键。如果你做得对,你会注意到Excel在公式周围放置了大括号(尽管不要试图自己手动插入这些)。

+0

这个伎俩!另一个快速问题:是否有办法一次完成不均匀的单元格矩阵?例如,范围为: B2:G5,B6:D7,B8:F11 – dapperdanman1400 2014-12-05 11:22:09

+0

不确定你的意思。我们是否正在考虑每个范围内的单个行,如在第一个示例中那样?还是仅仅计算每个范围内空白单元格的总数,然后返回这三个值中的最大值? – 2014-12-05 11:27:32

+0

是的,仍然考虑每个范围内的单行。 – dapperdanman1400 2014-12-06 08:24:49

0

有时更容易打破东西分为两个任务:

  1. 在公式中Column H计数空白行。例如:=COUNTIF(B2:G2, "="&""),您将通过第5行向下拖动。
  2. 然后,只需将Cell B8作为新列的最大值:=MAX(H2:H5)

我会好奇的,如果有一些类型的数组公式的技巧来完成这个是一个公式。尽管如此,我个人发现将逻辑分成更小,更易于管理的公式更易于维护。

0

H2输入:

=COUNTBLANK(B2:G2) 

和复制下来。在B8输入:

=MAX(H2:H5) 

例如:

enter image description here

0

一些伟大的答案了,但我会在那儿扔了这一点:

=MAX(COUNTBLANK(INDIRECT("B"&ROW(2:5)&":"&"G"&ROW(2:5)))) 

输入作为数组公式:按Ctrl ++输入

此:

"B"&ROW(2:5)&":"&"G"&ROW(2:5) 

…返回一串字符串{“B2:G2”,“B3:G3”,“B4:G4”,“B5:G5”}:

该数组输入到INDIRECT函数,该函数将其更改为数组范围{B2:G2,B3:G3,B4:G4,B5:G5}。

即新的数组被馈送到COUNTBLANK功能,(使用)所返回号数组{2,4,1,3}。

这是喂到MAX功能,所以最终结果是号码。

这有点复杂,所以我想知道如果我的INDIRECT参数可以简化。

相关问题