9552

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

Question?

Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein., wenn Sie eine Frage zu diesem Artikel haben.