Minitab 22 - Makro zum Umformatieren mehrerer Textspalten in ein passendes Format
- Erstellt am 11.12.2017
- Überarbeitet am 15.5.2024
- Software: Minitab 22, 21, 20, 19, 18
Ich habe sehr viele Textspalten in meinem Minitab-Arbeitsblatt, zu denen ein geeignetes numerisches oder Datumsformat passen würde. Gibt es ein Makro, mit dem ich diese automatisch numerisch oder in ein Datumsformat konvertieren kann?
Minitab 19 und höher
Erläuterung
Im Downloadbereich dieses Artikels haben wir ein Makro zum automatischen Umformatieren mehrerer Textspalten in ein passendes Format bereitgestellt. Wir möchten hier an Hand zweier Beispiele erläutern, wie Sie das Makro verwenden können.
Bitte speichern Sie die *.mac-Datei im Speicherort für Makros, der im Minitab-Dialogfeld Datei: Optionen hinterlegt sind. Damit Sie das Makro ausführen können, muss das Verzeichnis C:\Temp auf Ihrem Rechner existieren.
Beispiel 1
Das Arbeitsblatt in Beispiel 1 enthält die Textspalten C1-C8, erkennbar an dem Buchstaben T hinter der Spaltennummer. Für die Spalten C2-C8 würde sich ein numerisches bzw. Datumsformat eignen. Angenommen, Sie möchten, dass das Programm diese Spalten automatisch, ohne dass Sie das Format angeben möchten, umformatiert. In die zu den Eingabeaufforderungen gehörenden Befehlszeilen könnten Sie dann die Werte wie im folgenden Bildschirmvideo eingeben.
Beispiel 2
Das zweite Beispiel enthält, außer den Spalten aus Beispiel 1, noch eine Spalte Seriennummer.
Die Seriennummern bestehen entweder ausschließlich aus Ziffern, oder sie enthalten einen oder beide der Buchstaben X und Y. Wenn die Spalte Seriennummer als numerische Spalte umformatiert würde, würde sie sehr viele fehlende Werte enthalten.
Außerdem käme für die Spalte Jahr sowohl ein numerisches, als auch ein Datumsformat in Frage. Das Makro würde sich dabei für das numerische Format entscheiden, wenn Sie es nicht anders angeben.
Wenn Sie vom Programm für diese Spalten abgefragt werden möchten, könnten Sie die folgenden Werte in die zu den Eingabeaufforderungen gehörenden Befehlszeilen
wie im folgenden Bildschirmvideo eingeben.
Minitab 18
Erläuterung
Im Downloadbereich dieses Artikels haben wir ein Makro zum automatischen Umformatieren mehrerer Textspalten in ein passendes Format bereitgestellt. Wir möchten hier an Hand zweier Beispiele erläutern, wie Sie das Makro verwenden können.
Bitte speichern Sie die *.mac-Datei im Speicherort für Makros, der im Minitab-Dialogfeld Extras: Optionen hinterlegt sind. Damit Sie das Makro ausführen können, muss das Verzeichnis C:\Temp auf Ihrem Rechner existieren. Alternativ können Sie vor dem ersten Aufruf die Makro-Datei mit einem Texteditor öffnen, einen anderen Pfad für temporäre Dateien hinter dem Befehl CD angeben und das Makro danach erneut als *.mac-Datei abspeichern.
Bitte klicken Sie, bevor Sie das Makro ausführen, auf das Sessionfenster von Minitab und wählen Sie Editor aus dem Hauptmenü von Minitab. Stellen Sie sicher, dass der die Option Befehlszeile anzeigen aktiv ist. Der Befehl zum Ausführen des Makros lautet:
MTB > %ADD_sup_Mehrere_Spalten_in_mehrere_Formate_umformatieren
Bitte befolgen Sie die darauf folgenden Eingabeaufforderungen.
Beispiel 1
Die folgende Tabelle enthält die Textspalten C1-C8, erkennbar an dem Buchstaben T hinter der Spaltennummer. Für die Spalten C2-C8 würde sich ein numerisches bzw. Datumsformat eignen.
C1-T | C2-T | C3-T | C4-T | C5-T | C6-T | C7-T | C8-T |
Gruppe | Jahr | Zeitpunkt | Beobachtung 1 | Beobachtung 2 | Beobachtung 3 | Beobachtung 4 | Beobachtung 5 |
A | 2015 | 01.06.2015 12:00 | 9,82238119568043 | 10,167880773213422 | 9,967155781222115 | 9,913344408685163 | 10,17757820036329 |
A | 2016 | 01.06.2016 12:00 | 10,013333966859731 | 9,825419425715692 | 10,074482795816435 | 10,15491380068985 | 9,921410357400298 |
A | 2017 | 01.06.2017 12:00 | 10,05951875187132 | 9,894088253849834 | 10,037810297093532 | 9,985192145318397 | 10,001173401550643 |
B | 2015 | 01.06.2015 18:00 | 9,942831969191865 | 10,070677748561364 | 9,953512655525321 | 9,975080131697718 | 9,81737557277222 |
B | 2016 | 01.06.2016 18:00 | 9,90565588507464 | 9,95894105293862 | 9,980842026431155 | 10,096851145504035 | 9,767368595660185 |
B | 2017 | 01.06.2017 18:00 | 10,053679958793634 | 9,971786917248497 | 10,019809118741996 | 10,071527597404557 | 9,887604557612562 |
C | 2015 | 01.07.2015 12:00 | 10,129343183460723 | 10,004309856551231 | 9,89417231842244 | 10,068157522900831 | 9,97633731703906 |
C | 2016 | 01.07.2016 12:00 | 9,988332997889964 | 10,047746724282641 | 10,039630322196 | 9,771956022840405 | 10,011450626206868 |
C | 2017 | 01.07.2017 12:00 | 10,043446061709298 | 10,10315634046884 | 9,886096658182431 | 10,006559227648582 | 9,990062168442519 |
D | 2015 | 01.07.2015 18:00 | 9,95874941777241 | 10,010302692122893 | 9,936306648373469 | 10,156080088195422 | 10,048086734112779 |
D | 2016 | 01.07.2016 18:00 | 9,962832667930794 | 9,942126211423904 | 10,093069837344785 | 9,928321349929519 | 10,1172691895301 |
D | 2017 | 01.07.2017 18:00 | 9,864466535736248 | 10,111485906265587 | 10,119610877225773 | 9,899755824173521 | 9,920426232587493 |
Angenommen, Sie möchten, dass das Programm diese Spalten automatisch, ohne dass Sie das Format angeben möchten, umformatiert. In die zu den Eingabeaufforderungen gehörenden Befehlszeilen könnten Sie dann die folgenden Werte eingeben (Ihre eigenen Eingaben sind dabei rot markiert):
---------------------------------------------------------------------------
Bitte geben Sie eine ganze Zahl zwischen 2 und 500 ein
und drücken Sie anschließend die Eingabetaste. Diese
Zahl stellt die höchste Spaltennummer der umzuformatierenden
Spalten dar:
DATA> 8
---------------------------------------------------------------------------
Es kann vorkommen, dass eine Spalte sowohl als
Datums- als auch als numerische Spalte erkannt wird.
Bitte geben Sie
Ja
ein, wenn Sie in diesem Fall jeweils abgefragt werden
möchten, und
Nein
wenn Sie keine Abfrage bekommen möchten. In diesem Fall
werden solche Spalten immer numerisch formatiert.
DATA> Nein
---------------------------------------------------------------------------
Es kann vorkommen, dass eine Spalte, wenn sie formatiert
wird, sehr viele fehlende Werte enthält. Dies könnte zum
Beispiel der Fall sein, wenn eine Spalte Seriennummern
enthält, wobei in einigen Fällen auch Buchstaben vorkommen.
Bitte geben Sie
Ja
ein, wenn Sie in dem Fall, dass mehr als 25% der Werte fehlen,
jeweils abgefragt werden möchten, ob die Spalte wirklich
umformatiert werden soll, und
Nein
wenn Sie keine Abfrage bekommen möchten. In diesem Fall
werden solche Spalten immer numerisch formatiert.
DATA> Nein
Das Ergebnis sähe wie in der folgenden Tabelle aus. Der Buchstabe D hinter der jeweiligen Spaltennummer kennzeichnet dabei eine Spalte im Datums-/Uhrzeitformat. Ist kein Buchstabe vorhanden, ist die Spalte numerisch.
C1-T | C2 | C3-D | C4 | C5 | C6 | C7 | C8 |
Gruppe | Jahr | Zeitpunkt | Beobachtung 1 | Beobachtung 2 | Beobachtung 3 | Beobachtung 4 | Beobachtung 5 |
A | 2015 | 01.06.2015 12:00 | 9,82238119568043 | 10,167880773213422 | 9,967155781222115 | 9,913344408685163 | 10,17757820036329 |
A | 2016 | 01.06.2016 12:00 | 10,013333966859731 | 9,825419425715692 | 10,074482795816435 | 10,15491380068985 | 9,921410357400298 |
A | 2017 | 01.06.2017 12:00 | 10,05951875187132 | 9,894088253849834 | 10,037810297093532 | 9,985192145318397 | 10,001173401550643 |
B | 2015 | 01.06.2015 18:00 | 9,942831969191865 | 10,070677748561364 | 9,953512655525321 | 9,975080131697718 | 9,81737557277222 |
B | 2016 | 01.06.2016 18:00 | 9,90565588507464 | 9,95894105293862 | 9,980842026431155 | 10,096851145504035 | 9,767368595660185 |
B | 2017 | 01.06.2017 18:00 | 10,053679958793634 | 9,971786917248497 | 10,019809118741996 | 10,071527597404557 | 9,887604557612562 |
C | 2015 | 01.07.2015 12:00 | 10,129343183460723 | 10,004309856551231 | 9,89417231842244 | 10,068157522900831 | 9,97633731703906 |
C | 2016 | 01.07.2016 12:00 | 9,988332997889964 | 10,047746724282641 | 10,039630322196 | 9,771956022840405 | 10,011450626206868 |
C | 2017 | 01.07.2017 12:00 | 10,043446061709298 | 10,10315634046884 | 9,886096658182431 | 10,006559227648582 | 9,990062168442519 |
D | 2015 | 01.07.2015 18:00 | 9,95874941777241 | 10,010302692122893 | 9,936306648373469 | 10,156080088195422 | 10,048086734112779 |
D | 2016 | 01.07.2016 18:00 | 9,962832667930794 | 9,942126211423904 | 10,093069837344785 | 9,928321349929519 | 10,1172691895301 |
D | 2017 | 01.07.2017 18:00 | 9,864466535736248 | 10,111485906265587 | 10,119610877225773 | 9,899755824173521 | 9,920426232587493 |
Beispiel 2
Das zweite Beispiel enthält, außer den Spalten aus Beispiel 1, noch eine Spalte Seriennummer.
C1-T | C2-T | C3-T | C4-T | C5-T | C6-T | C7-T | C8-T | C9-T |
Seriennummer | Gruppe | Jahr | Zeitpunkt | Beobachtung 1 | Beobachtung 2 | Beobachtung 3 | Beobachtung 4 | Beobachtung 5 |
7327241754 | A | 2015 | 01.06.2015 12:00 | 9,82238119568043 | 10,167880773213422 | 9,967155781222115 | 9,913344408685163 | 10,17757820036329 |
6485566962 | A | 2016 | 01.06.2016 12:00 | 10,013333966859731 | 9,825419425715692 | 10,074482795816435 | 10,15491380068985 | 9,921410357400298 |
6Y11Y51553 | A | 2017 | 01.06.2017 12:00 | 10,05951875187132 | 9,894088253849834 | 10,037810297093532 | 9,985192145318397 | 10,001173401550643 |
7497112X54 | B | 2015 | 01.06.2015 18:00 | 9,942831969191865 | 10,070677748561364 | 9,953512655525321 | 9,975080131697718 | 9,81737557277222 |
185X999897 | B | 2016 | 01.06.2016 18:00 | 9,90565588507464 | 9,95894105293862 | 9,980842026431155 | 10,096851145504035 | 9,767368595660185 |
73X8Y38116 | B | 2017 | 01.06.2017 18:00 | 10,053679958793634 | 9,971786917248497 | 10,019809118741996 | 10,071527597404557 | 9,887604557612562 |
69482658Y6 | C | 2015 | 01.07.2015 12:00 | 10,129343183460723 | 10,004309856551231 | 9,89417231842244 | 10,068157522900831 | 9,97633731703906 |
4349769625 | C | 2016 | 01.07.2016 12:00 | 9,988332997889964 | 10,047746724282641 | 10,039630322196 | 9,771956022840405 | 10,011450626206868 |
1953413934 | C | 2017 | 01.07.2017 12:00 | 10,043446061709298 | 10,10315634046884 | 9,886096658182431 | 10,006559227648582 | 9,990062168442519 |
153Y59946X | D | 2015 | 01.07.2015 18:00 | 9,95874941777241 | 10,010302692122893 | 9,936306648373469 | 10,156080088195422 | 10,048086734112779 |
9527447839 | D | 2016 | 01.07.2016 18:00 | 9,962832667930794 | 9,942126211423904 | 10,093069837344785 | 9,928321349929519 | 10,1172691895301 |
72711337X5 | D | 2017 | 01.07.2017 18:00 | 9,864466535736248 | 10,111485906265587 | 10,119610877225773 | 9,899755824173521 | 9,920426232587493 |
Die Seriennummern bestehen entweder ausschließlich aus Ziffern, oder sie enthalten einen oder beide der Buchstaben X und Y. Wenn die Spalte Seriennummer als numerische Spalte umformatiert würde, würde sie sehr viele fehlende Werte enthalten.
Außerdem käme für die Spalte Jahr sowohl ein numerisches, als auch ein Datumsformat in Frage. Das Makro würde sich dabei für das numerische Format entscheiden, wenn Sie es nicht anders angeben.
Wenn Sie vom Programm für diese Spalten abgefragt werden möchten, könnten Sie die folgenden Werte in die zu den Eingabeaufforderungen gehörenden Befehlszeilen eingeben (Ihre eigenen Eingaben sind dabei rot markiert):
---------------------------------------------------------------------------
Bitte geben Sie eine ganze Zahl zwischen 2 und 500 ein
und drücken Sie anschließend die Eingabetaste. Diese
Zahl stellt die höchste Spaltennummer der umzuformatierenden
Spalten dar:
DATA> 9
---------------------------------------------------------------------------
Es kann vorkommen, dass eine Spalte sowohl als
Datums- als auch als numerische Spalte erkannt wird.
Bitte geben Sie
Ja
ein, wenn Sie in diesem Fall jeweils abgefragt werden
möchten, und
Nein
wenn Sie keine Abfrage bekommen möchten. In diesem Fall
werden solche Spalten immer numerisch formatiert.
DATA> Ja
---------------------------------------------------------------------------
Es kann vorkommen, dass eine Spalte, wenn sie formatiert
wird, sehr viele fehlende Werte enthält. Dies könnte zum
Beispiel der Fall sein, wenn eine Spalte Seriennummern
enthält, wobei in einigen Fällen auch Buchstaben vorkommen.
Bitte geben Sie
Ja
ein, wenn Sie in dem Fall, dass mehr als 25% der Werte fehlen,
jeweils abgefragt werden möchten, ob die Spalte wirklich
umformatiert werden soll, und
Nein
wenn Sie keine Abfrage bekommen möchten. In diesem Fall
werden solche Spalten immer numerisch formatiert.
DATA> Ja
---------------------------------------------------------------------------
Die numerische Spalte Seriennummer enthält viele fehlende Werte.
Ihre ersten Einträge sind:
7327241754
6485566962
6Y11Y51553
7497112X54
185X999897
Wollen Sie sie trotzdem umformatieren?
Ja / Nein
DATA> Nein
---------------------------------------------------------------------------
Für die Spalte Jahr käme sowohl eine numerische
als auch eine Datums-Formatierung in Frage.
Ihre ersten Einträge sind:
2015
2016
2017
2015
2016
Bitte wählen Sie zwischen den folgenden
drei Formatierungen aus:
1: Numerisch
2: Datum/Uhrzeit (Jahreszahl)
3: Vergangene Zeit in Stunden
4: Text
DATA> 2
Das Ergebnis sähe wie in der folgenden Tabelle aus.
C1-T | C2-T | C3-D | C4-D | C5 | C6 | C7 | C8 | C9 |
Seriennummer | Gruppe | Jahr | Zeitpunkt | Beobachtung 1 | Beobachtung 2 | Beobachtung 3 | Beobachtung 4 | Beobachtung 5 |
7327241754 | A | 2015 | 01.06.2015 12:00 | 9,82238119568043 | 10,167880773213422 | 9,967155781222115 | 9,913344408685163 | 10,17757820036329 |
6485566962 | A | 2016 | 01.06.2016 12:00 | 10,013333966859731 | 9,825419425715692 | 10,074482795816435 | 10,15491380068985 | 9,921410357400298 |
6Y11Y51553 | A | 2017 | 01.06.2017 12:00 | 10,05951875187132 | 9,894088253849834 | 10,037810297093532 | 9,985192145318397 | 10,001173401550643 |
7497112X54 | B | 2015 | 01.06.2015 18:00 | 9,942831969191865 | 10,070677748561364 | 9,953512655525321 | 9,975080131697718 | 9,81737557277222 |
185X999897 | B | 2016 | 01.06.2016 18:00 | 9,90565588507464 | 9,95894105293862 | 9,980842026431155 | 10,096851145504035 | 9,767368595660185 |
73X8Y38116 | B | 2017 | 01.06.2017 18:00 | 10,053679958793634 | 9,971786917248497 | 10,019809118741996 | 10,071527597404557 | 9,887604557612562 |
69482658Y6 | C | 2015 | 01.07.2015 12:00 | 10,129343183460723 | 10,004309856551231 | 9,89417231842244 | 10,068157522900831 | 9,97633731703906 |
4349769625 | C | 2016 | 01.07.2016 12:00 | 9,988332997889964 | 10,047746724282641 | 10,039630322196 | 9,771956022840405 | 10,011450626206868 |
1953413934 | C | 2017 | 01.07.2017 12:00 | 10,043446061709298 | 10,10315634046884 | 9,886096658182431 | 10,006559227648582 | 9,990062168442519 |
153Y59946X | D | 2015 | 01.07.2015 18:00 | 9,95874941777241 | 10,010302692122893 | 9,936306648373469 | 10,156080088195422 | 10,048086734112779 |
9527447839 | D | 2016 | 01.07.2016 18:00 | 9,962832667930794 | 9,942126211423904 | 10,093069837344785 | 9,928321349929519 | 10,1172691895301 |
72711337X5 | D | 2017 | 01.07.2017 18:00 | 9,864466535736248 | 10,111485906265587 | 10,119610877225773 | 9,899755824173521 | 9,920426232587493 |
Anmerkung
Für das Umformatieren der Spalten wird ein neues Arbeitsblatt erstellt. Sie könnten sich bei der Abfrage in Bezug auf die fehlenden Werte anders entscheiden:
---------------------------------------------------------------------------
Die numerische Spalte Seriennummer enthält viele fehlende Werte.
Ihre ersten Einträge sind:
7327241754
6485566962
6Y11Y51553
7497112X54
185X999897
Wollen Sie sie trotzdem umformatieren?
Ja / Nein
DATA> Ja
Sie könnten dann über die Symbolleiste Project Manager zum Arbeitsblatt mit den Spalten in der ursprünglichen Formatierung wechseln, um zu prüfen welche Werte genau fehlen. Im Fall fehlender Werte gibt das Makro auch, nachdem das Umformatieren abgeschlossen ist, einen entsprechenden Hinweis aus:
Mehrere Spalten in mehrere Formate umformatieren: Hinweis
Die folgenden Spalten enthalten fehlende Werte:
C1 Seriennummer
Bitte überprüfen Sie diese Spalten anhand der Original-Daten.
|