首页 > 解决方案 > Excel公式从右到左查找一行中的第一个非NA列

问题描述

数据如下所示:

    A     B     C     D     E     F     G         ...           offset
1  #N/A   #N/A  12    14    #N/A  #NA   #N/A                    -3

现在我有一个长的嵌套公式,如下所示:

=IF(ISNA(G1)=FALSE,0,IF(ISNA(F1)=FALSE,-1,IF(ISNA(E1)=FALSE,-2,IF(ISNA(D1)=FALSE,-3,IF(ISNA(C1)=FALSE,-4,IF(ISNA(B1)=FALSE,-5,IF(ISNA(A1)=FALSE,-6,-7)))))))

我不断地编辑和添加新的专栏,这使得更新论坛很痛苦。有没有更简单的方法来自动化公式,以便在从右到左查看时可以找到第一个非 #N/A 条目的列?因此,例如,当我在 F 和 G 之间添加新列时,它会扩展它的范围而无需我这样做?

如果可能的话,我想VB在这里避免并将其保留为公式。

标签: excel

解决方案


尝试,

=aggregate(14, 7, column(a:z)/(A1:Z1<>""), 1)
=address(1, aggregate(14, 7, column(a:z)/(A1:Z1<>""), 1))
=index(1:1, 0, aggregate(14, 7, column(a:z)/(A1:Z1<>""), 1))

0, -1, -2 结果只是数学。


推荐阅读