创建宏以从 sheet 计数并将计数填充到 table

Create macro to count from a sheet and fill the count in a table

初始信息

我有 sheet1,它有多个列的数据,我也命名了数据范围。

我的第二个 sheet 有一个仪表板,我需要在其中根据值进行计数。

我已经试过了

  1. Countif -> 给了#VALUE!错误
  2. Countifs -> 给了#VALUE!错误
  3. sumif -> 给了#VALUE!错误
  4. sum(if(component="Abc",1,0)) - > Worked, 但由于它是一个数组公式,我必须按 CTRL+SHIFT+输入

最后一个公式的问题是,每次 sheet1 中的数据发生变化时,我都必须转到 sheet2 并在每个单元格上按 CTRL+SHIFT+ENTER。 我需要一个可以完成这项工作的宏的帮助。

使用COUNTIFSRANGE OF记录中的状态,当前单元格有状态,RANGE OF COMPONENT记录中,当前单元格有组件) 例如:

COUNTIFS(B22:B28,A33,C22:C28,B32)


Sno Status  Component   

1   WIP Abc 
2   WIP Abc 
3   WIP Mnp 
4   WC  Mnp 
5   WC  Mnp 
6   RU  Abc 
7   RU  Mnp 

Count       Abc                                 Mnp 
WIP     =COUNTIFS(B22:B28,A33,C22:C28,B32)    =COUNTIFS(B22:B28,A33,C22:C28,C32)    
WC      =COUNTIFS(B22:B28,A34,C22:C28,B32)    =COUNTIFS(B22:B28,A34,C22:C28,C32)    
RU      =COUNTIFS(B22:B28,A35,C22:C28,B32)    =COUNTIFS(B22:B28,A35,C22:C28,C32)    

试试这个方法。 COUNTIF 将起作用。

如果 Sno 在 A1 中,Count 在 G4 中,则在 H6 中复制到 I8:

=COUNTIFS($B:$B,$G6,$C:$C,H) 

或添加适当的 sheet 引用,例如:

=COUNTIFS(sheet1!$B:$B,$G6,sheet1!$C:$C,H)  

这可以放在与数据不同的 sheet 上,两个公式都应该有效。

如果不是,那么可能您的 Excel 版本没有 COUNTIFS,或者您的列表定界符不是 , 或者其他既不是函数也不是公式的错误。

Sno 状态组件 1 WIP Abc 2 WIP Abc 3 在制品 Mnp 4 WC MNP 5 WC MNP 6 俄语 7 RU Mnp

一个sheet从A1单元格开始

在下一个 sheet 来自 A1 单元格

计数 Abc Mnp WIP =COUNTIFS(Sheet2!B2:B8,Sheet3!A2,Sheet2!C2:C8,Sheet3!B1) =COUNTIFS(Sheet2!B2:B8,Sheet3!A2,Sheet2!C2:C8,Sheet3!C1)

WC =COUNTIFS(Sheet2!B2:B8,Sheet3!A3,Sheet2!C2:C8,Sheet3!B1) =COUNTIFS(Sheet2!B2:B8,Sheet3!A3,Sheet2!C2:C8,Sheet3! C1)

RU =COUNTIFS(Sheet2!B2:B8,Sheet3!A4,Sheet2!C2:C8,Sheet3!B1) =COUNTIFS(Sheet2!B2:B8,Sheet3!A4,Sheet2!C2:C8,Sheet3! C1)