多列Excel范围中的最长列(在单个公式中)?

时间:2012-07-20 12:16:18

标签: excel excel-formula

在不同列可能具有不同数量的值的范围内(但列中的序列中不会有间隙)我想知道最长列的长度。为了要求更高,我想用一个单一的公式。

所以考虑到这样的范围:

      |  A   B   C   D
   ---+---+---+---+---
    1 |  1   2   3   4
    2 |  2   9   5   6
    3 |      5   5
    4 |          4
    5 |

..我想要的答案是4。

在这种情况下有用的东西是

=MAX(COUNT(A1:A999),COUNT(B1:B999),COUNT(C1:C999),Count(D1:D999))

但它(a)丑陋且(b)不灵活 - 不适合可能添加列的情况。

我试过这样的事情,希望有一个数组给出一组列数(希望在它周围包裹一个MAX()):

{=COUNT(OFFSET(A1,0,COLUMN(A1:D1)-COLUMN(A1),999,1))}

..但它只提供一个单元格,它似乎总是第一列的计数。

我知道这可以在VBA中轻松解决,但出于几个原因(尤其是好奇心),我想看看它是否可以在单个(可能是数组)公式中解决。

1 个答案:

答案 0 :(得分:6)

也许尝试使用CTRL + SHIFT + ENTER:

=MAX(SUBTOTAL(3,OFFSET(A:D,,COLUMN(A:D)-MIN(COLUMN(A:D)),,1)))

可以使用任何矩形范围代替A:D