假设我在excel中有如下数据。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ A + B + C + D + E + F + G + H + I + J + K + L + M + N +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ + 1 + 2 + 3 + 4 + 4 + 1 + 1 + 2 + 3 + 7 + 3 + 4 + 1 +
+ + 1 + 2 + 3 + 3 + 4 + 2 + 1 + 2 + 3 + 7 + 3 + 4 + 1 +
+ + 0 + 1 + 2 + 3 + 6 + 6 + 3 + 2 + 3 + 7 + 3 + 4 + 1 +
+ + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
我想要找到的是不正确的行,即所有列都不应该为0.为了得到这个,我在单元格N中使用以下公式。
=if(SUM(B1:M1)>0,1,0)
注意:所有单元格都只有非负数字。
在上面的示例中,我将第4行作为不正确的行,因此我的值为0。
我想要的是,而不是手动编写B1:M1
,excel中有任何方法可以显示起始和结束的单元格/列名称。
在上面的例子中
Starting cell/column will be B
Ending cell/column will be M
答案 0 :(得分:0)
您正在搜索Excel的Named Range内置功能。</ p>
在B:M
上创建命名范围,并在公式中使用它。命名范围是一种在跨异构范围的电子表格中编写一致的相同公式的方法
答案 1 :(得分:0)
我可以在没有vba的情况下做到这一点(但这让我对我所擅长的滥用感到不寒而栗:)
我已将第5行用于这些计算 - 根据您的需要改变5
单元格1 - 开始列 - 作为数组公式输入(Ctrl + Shift + Enter)=MATCH(TRUE,5:5>0,0)
(如果输入正确,excel会在其周围放置{}
单元格2 - 列数 - =COUNTA(5:5)
最终单元格 - 您的支票 - =if(SUM(INDIRECT(ADDRESS(5,Cell_1)&":"&ADDRESS(5,Cell_1+Cell_2)))>0,1,0)