Mithilfe Powershell Excel bzw. csv Datei umschreiben
Hallo zusammen.
Kann mir jemand bitte mir Powershell Skript helfen?
Ist Zustand: siehe Bild 1
Soll Zustand: Siehe Bild 2
Das Powershell Skript muss in der Spalte A nach gleichem Name suchen und wenn ja, dann auch nach Status in der Spalte B gucken und wenn es passt dann soll er gucken ob die letzten 2 Zahlen in der Spalte D2 1 mal höher als in D1 und dann in D3 höher als in D2 u.s.w und wenn es nicht mehr der Fall ist soll er den Wert aus D4 in D2 einsetzen.
Sollte mit CSV gearbeitet werden.
Ist so was möglich?
Danke
Caro
Kann mir jemand bitte mir Powershell Skript helfen?
Ist Zustand: siehe Bild 1
Soll Zustand: Siehe Bild 2
Das Powershell Skript muss in der Spalte A nach gleichem Name suchen und wenn ja, dann auch nach Status in der Spalte B gucken und wenn es passt dann soll er gucken ob die letzten 2 Zahlen in der Spalte D2 1 mal höher als in D1 und dann in D3 höher als in D2 u.s.w und wenn es nicht mehr der Fall ist soll er den Wert aus D4 in D2 einsetzen.
Sollte mit CSV gearbeitet werden.
Ist so was möglich?
Danke
Caro
Please also mark the comments that contributed to the solution of the article
Content-Key: 3529044758
Url: https://administrator.de/contentid/3529044758
Printed on: May 30, 2024 at 12:05 o'clock
10 Comments
Latest comment
$csv = Import-CSV -Path .\test.csv -Delimiter "`t"
$csvneu = foreach($group in $csv | group-object PERSONALNR,BEZEICHNUNGKRANKMELDUNGSART){
$bis = $group.Group.DatumBis | %{[datetime]::ParseExact($_,'yyyyMMdd',$null)}
$index = 0..($bis.length-1) | ?{$bis[$_+1] -ne $bis[$_].AddDays(1)}
[pscustomobject][ordered]@{
PERSONALNR = $group.Group[0].PERSONALNR
BEZEICHNUNGKRANKMELDUNGSART = $group.Group[0].BEZEICHNUNGKRANKMELDUNGSART
Von = $group.Group[0].DatumVon
Bis = $group.Group[$index[0]].DatumBis
}
}
$csvneu | export-csv -Path .\test_out.csv -Delimiter ";" -NoTypeInformation -Encoding UTF8
H.
Zitat von @Carolinen:
Hey, wenn statt 'Muster' eine Zahl steht '00061' dann kommt der folgende Fehler: Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat.
Hey, wenn statt 'Muster' eine Zahl steht '00061' dann kommt der folgende Fehler: Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat.
Nein kann ich nicht bestätigen, das macht nichts ob da eine Zahl oder ein Name steht, die Spalte wird übernommen so wie sie ist.
Poste die Daten deiner CSV in Code-Tags.
tio.run Demo
Ähhhm, das Ding hat ja vollkommen andere Spaltenüberschriften als deine ganz oben gezeigte Tabelle und außerdem einen anderen Delimiter, des weiteren stimmen die von bis nicht mit deinen gezeigten Daten überein so das klar würde das es Datumswerte sind!!! Klar das dann nicht läuft, musst du den Delimiter und die Spaltennamen an deine Tabelle anpassen !
Bidde, hier die Anpassung:
https://tio.run/##fVJdb9owFH0mv8JCmQCNZAkdXek0jdBkFLWkiK@HRRELyS1kSuwocT ...
👋
Bidde, hier die Anpassung:
https://tio.run/##fVJdb9owFH0mv8JCmQCNZAkdXek0jdBkFLWkiK@HRRELyS1kSuwocT ...
👋