我有以下数据在一个excel表格
Error Code type object
-Ignored:31 Modified src data *file MINOSFIC/UTMNUP10
-Ignored:33 Modified src & tgt data *file MINOSFIC/UVEGAP10
*Error: 08 Different data *file MINOSFIC/VM010P50
我需要根据错误代码计数记录,并将数据放在同一Sheet
ErrorCode Count
Ignored 2
Error 1
我正在尝试透视表,但似乎不能在现有的excel工作表中使用它。
更新:
我能够得到计数使用下面的代码,但需要帮助,把它在excel表中的一些表或其他方式
$Excel = Import-Excel -Path "C:Verify.xlsx" -WorksheetName "EDH_VFN"
$err = 0
$ign = 0
foreach($line in $Excel )
{
$line_1 = $line.'Error Code'
if($line_1 -match "Ignored")
{
$ign+=1
}
if($line_1 -match "Error")
{
$err+=1
}
}
write-host "Error:"$err
write-host "Ignored:"$ign
请帮忙做这件事
如果你不想这样做与Excel函数COUNTIFS
,我建议简单地导出Excel文件CSV文件,使事情更容易在PowerShell。
CSV文件示例
Error Code,type,object
-Ignored:31 Modified src data,*file,MINOSFIC/UTMNUP10
-Ignored:33 Modified src & tgt data,*file,MINOSFIC/UVEGAP10
*Error: 08 Different data,*file,MINOSFIC/VM010P50
这后,完成计数的值可能是这样的:
Import-Csv -Path 'X:TheExcelToCsvExportedFile.csv' |
Group-Object @{Expression = {($_.'Error Code' -split ':')[0].Substring(1)}} |
Select-Object @{Name = 'ErrorCode' ; Expression = {$_.Name}},Count
这将输出:
ErrorCode Count
---------- -----
Ignored 2
Error 1
你可以简单地复制/粘贴到你的Excel文件在任何你喜欢的地方。
请注意,这与您已经拥有的列不一致。