Powershell根据filter值计算一列中的单元格

我的Excel电子表格有11028行和两列。

第一列有组织单位,第二列有价值。

在Excel中,我可以过滤第一列,以便有大约100个不同的组织单位。 对于每个组织单位,我要计数(1)总行数(2)值为“未知”的行数。

如果我手动执行此操作,将会花费很长时间,因此我正在寻找PowerShell中的某种API,这将允许我根据列A中设置的filter来计算列B中的行数。

这甚至可以在Powershell?

尝试使用Excel。

如果您复制包含组织单位的列,并使用删除重复function,则最终将包含一个包含组织单位唯一条目的列。 那么你只需要两个简单的公式: COUNTIF()COUNTIFS()

对于每个组织单位:

1)总行数

假设列A是您的组织单位(原始),列D是您唯一的条目:

 =COUNTIF($A$1:$A$10,D1) 

那是:

 =COUNTIF(organisational unit range, particular organisational unit) 

示例布局,显示列A中计算元素的公式

A列中唯一条目的计数

2)值"Unknown"的行数

为此,您可以使用具有多个条件的COUNTIFS()

假设列B有你的价值观,其中一些是"Unknown"

 =COUNTIFS($A$1:$A$10,D1,$B$1:$B$10,"Unknown") 

那是:

 =COUNTIFS(organisational unit range, particular organisational unit, value range, "Unknown") 

显示Unknown多个标准匹配的示例

与“未知”匹配的条目数

 $data = @" Field1, Field2 a,1 b,2 c,3 a,Unknown b,5 c,Unknown a,7 b,8 c,Unknown c,10 "@ | ConvertFrom-Csv 'Total Rows' $data | group field1 -NoElement 'Total Rows with Unknown' $data | Where {$_.field2 -eq 'unknown'} | group field1 -NoElement 

打印

 Total Rows Count Name ----- ---- 3 a 3 b 4 c Total Rows with Unknown Count Name ----- ---- 1 a 2 c