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中计算元素的公式
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