在列中查找具有多个值的行

时间:2013-12-24 13:36:04

标签: excel excel-vba ms-office vba

我试图找到一种搜索行的方法,并找出哪些行在行中有多个值。例如,如果我有这个:

81  IRENE L MOTZ                        
82  BRITTNEY SUMMERVILLE                        
83  NICK SIRK   33  120             1,859                        
86  DOROTHY TARR                        32    
87  DAVID BRYANT                        
89  WAYNEDALE VAULT                     
90  APRIL HOWARD                        
95  DONA KAHL                       
96  ASHLEY FISHER                       
98  TERRI SULESKI                       
99  SCOTTSVILLE VAULT                       
104 CHRISTINE WIECHART      564             
105 KAYLENE DUNCAN      7               
106 LINDA NETHERTON                     
107 DIANNA MAY              336     
108 DIXIE HETTINGER     596             
110 JIM MELVIN      26              
111 LASHAWNYA BREWER        181             
112 LOIS COLEMAN        283             
113 KRISTIN FRIEND      827             
115 BRANDI QUDUS        2,106

您可以看到以83开头的行在名称后面的列中有三个值。而本例中的其他只有一个值。我需要能够找到具有多个值的行,然后我将对列中的值执行一些操作(通常只是将它们一起添加,然后从先前计算的数字中减去总计)。我目前没有任何代码,如果有人可以指出我的方向很好。我虽然可能试图用IF ELSEIF statements来做,但这对我来说似乎很草率。

1 个答案:

答案 0 :(得分:2)

假设您的数据范围从B1开始,则在A1中输入公式

=COUNT(B1:I1)-1

(你提到数据会上升到H列,我把它移到右边的一列)或

=COUNT(C1:I1)

这为第一行提供了0,正如预期的那样。 向下复制和粘贴公式会为每一行提供您要查找的数字(所有值< = 1,除第3行外)。然后,您可以过滤或执行其他操作。

例如,要获取行中所有数字的总和(如您所述),您将使用

=SUMPRODUCT(--(ISNUMBER(C1:I1)),C1:I1)

如果您只想为具有多个数字的行计算此值,您可以将此公式嵌套在IF(B1>1,...

注意:

  1. 这可以避免使用VBA。

  2. 我复制了您发布的数据,然后粘贴到新工作表的单元格B1中。然后数据 - >文字到列 - >定界 - > (Tick Space)。这会在单独的列中呈现数据,因为看起来你就是这种情况。

  3. 应根据数据的组织和位置修改所引用的范围。