Minitab 22 - Höchste Spaltennummer einer nichtleeren Spalte im Arbeitsblatt
- Erstellt am 27.10.2021
- Überarbeitet am 8.5.2024
- Software: Minitab 22, 21, 20, 19
Ich will ein globales Makro berechnen lassen, bis zu welcher Spaltennummer ein Arbeitsblatt nichtleere Spalten enthält. Das heißt, alle Spalten mit höheren Spaltennummern sind leer, die Spalte mit der berechneten Spaltennummer selbst ist nicht leer, die Spalten mit niedrigeren Spaltennummern können leer oder nichtleer sein. In dem folgenden Beispiel ist die berechnete Spalte C11.
Angenommen, Sie haben die folgenden Spalten.
↓ | C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | C10 | C11 |
Daten |
Gruppe |
Datum |
Kommentare |
||||||||
1 | 9,62688 | A | 01.05.2017 | ||||||||
2 | 9,93376 | A | 01.05.2017 | ||||||||
3 | 9,92315 | B | 02.05.2017 | ||||||||
4 | 10,3211 | B | 02.05.2017 | ||||||||
5 | 9,8003 | C | 03.05.2017 | ||||||||
6 | 9,87826 | C | 03.05.2017 | ||||||||
7 | 11,2509 | D | 04.05.2017 | Ungewöhnlich | |||||||
8 | 10,3777 | D | 04.05.2017 | ||||||||
9 | 9,88686 | E | 05.05.2017 | ||||||||
10 | 9,48103 | E | 05.05.2017 |
Welchen Code könnte ich dafür verwenden?
Erläuterung
Zum Berechnen dieser Spaltennummer könnten Sie Überlegungen in das globale Makro einbeziehen:
- DType C K speichert den Datentyp von Spalte C in die Konstante K. Der Datentyp einer fehlenden Spalte ist 10. Die übrigen Datentypen sind 0 (Text), 1 (Real), 2 (Integer) und 3 (Datum/Uhrzeit).
- In einer Do-Schleife könnten Sie nacheinander den Datentyp aller Spalten des Arbeitsblatts prüfen und eine Konstante mit den Datentypen unterhalb von 10 hochzählen lassen.
Der folgende Code würde das berechnete Ergebnis beispielsweise anzeigen lassen:
MTitle "Höchste Spaltennummer einer nichtleeren Spalte im Arbeitsblatt";
NoTitle.
Let K1 = 0
Do K2 = 1:4000
DType CK2 K3
If K3 < 10
Copy K2 K1.
EndIf
EndDo
If K1 > 0
Name K1 "Höchste Spaltennummer:"
Let K1 = Concatenate("C",Trim(Text(K1)))
Print K1.
Else
Note Das aktive Arbeitsblatt hat keine nichtleeren Spalten.
EndIf
EndMTitle
|