我的 excel 电子表格有 11028 行和两列。
第一列有组织单位,第二列有值。
在 Excel 中,我可以过滤第一列,以便有大约 100 个不同的组织单位。对于每个组织单位,我想计算 (1) 总行数 (2) 值为“未知”的行数。
如果我手动执行此操作,它将花费很长时间,因此我在 powershell 中寻找某种 API,它允许我根据 A 列中设置的过滤器计算 B 列中的行数。
这在 Powershell 中是否可行?
我的 excel 电子表格有 11028 行和两列。
第一列有组织单位,第二列有值。
在 Excel 中,我可以过滤第一列,以便有大约 100 个不同的组织单位。对于每个组织单位,我想计算 (1) 总行数 (2) 值为“未知”的行数。
如果我手动执行此操作,它将花费很长时间,因此我在 powershell 中寻找某种 API,它允许我根据 A 列中设置的过滤器计算 B 列中的行数。
这在 Powershell 中是否可行?
尝试只使用 Excel。
如果您复制包含组织单位的列,并对其使用删除重复项功能,您最终将得到一个包含组织单位唯一条目的列。那么你只需要两个简单的公式:COUNTIF()
和COUNTIFS()
。
对于每个组织单位:
1) 总行数
假设 A 列是您的组织单位(原始),D 列是您的唯一条目:
=COUNTIF($A$1:$A$10,D1)
那是:
=COUNTIF(organisational unit range, particular organisational unit)
示例布局,显示 A 列中元素计数的公式
2) 有值的行数"Unknown"
为此,您可以使用COUNTIFS()
which 需要多个条件。
假设 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