Wie man ohne Programmierkenntnisse die Tabellenkalkulation von Papyrus nutzen kann gezeigt am Beispiel „Umwandlung von Integer Zahlen in Römische Zahlen“ :
- ChatGPT wird dazu ein PDF des Kapitels 22 des Handbuches und folgender Prompt übergeben:
Schreibe für die Papyrus Tabellenkalkulation Code, der eine in einem Feld eingegebene Integerzahl in einem anderen Feld als Römische Zahl ausgibt. Gebe an, in welchem Feld der Code platziert werden muss. Schreibe den Code mit konsistenter Einrückung und klarer Klammerung sowie Kommentar. Alles Wissenswerte über die Papyrus Tabellenkalkulation findest du im beigelegten PDF!
- Es wird von ChatGPT zurückgegeben:
Denke nach…
Dokumente werden gelesen
Erstellen einer Formel für römische Zahlen
Um die Zahl in römische Zahlen umzuwandeln, brauchen wir eine verschachtelte
IF-Formel, zum Beispiel für den Bereich 1 bis 3999. Wir verwenden TRUNC, FLOOR
und MOD, um die restlichen Werte zu berechnen, da Papyrus keine LET-Funktion
unterstützt. Wenn der Wert ungültig ist, geben wir »Ungültig« aus.
Formel für römische Zahlen unter Papyrus
Papyrus bietet eine Syntax wie IF-Bedingungen (IF, THEN, ELSE) und CONCAT für die
String-Verkettung. Die Formel kann stark verschachtelt sein, und ich werde CONCAT
bevorzugen, da es string-sicherer ist als direkte Verkettung mit »+«. Die MOD-, TRUNC-
und FLOOR-Funktionen unterstützen das Berechnen von Römischen Zahlen.
Nachgedacht für 22s
Fertig
Feld Inhalt
A1 Eingabe der Integerzahl
B1 Rechenfeld mit der Formel für die römische Zahl
Setze B1 als Rechenfeld und trage dort diese Formel ein:
IF INVALID(A1) OR A1 < 1 OR A1 > 3999 THEN
'Ungültig'
ELSE
/* Tausender */
(
IF TRUNC(A1 / 1000) >= 1 THEN
REPEAT('M', TRUNC(A1 / 1000))
ELSE
''
ENDIF
)
+
/* Hunderter */
(
IF TRUNC((A1 MOD 1000) / 100) = 9 THEN
'CM'
ELSE
IF TRUNC((A1 MOD 1000) / 100) >= 5 THEN
'D' + REPEAT('C', TRUNC((A1 MOD 1000) / 100) - 5)
ELSE
IF TRUNC((A1 MOD 1000) / 100) = 4 THEN
'CD'
ELSE
REPEAT('C', TRUNC((A1 MOD 1000) / 100))
ENDIF
ENDIF
ENDIF
)
+
/* Zehner */
(
IF TRUNC((A1 MOD 100) / 10) = 9 THEN
'XC'
ELSE
IF TRUNC((A1 MOD 100) / 10) >= 5 THEN
'L' + REPEAT('X', TRUNC((A1 MOD 100) / 10) - 5)
ELSE
IF TRUNC((A1 MOD 100) / 10) = 4 THEN
'XL'
ELSE
REPEAT('X', TRUNC((A1 MOD 100) / 10))
ENDIF
ENDIF
ENDIF
)
+
/* Einer */
(
IF (A1 MOD 10) = 9 THEN
'IX'
ELSE
IF (A1 MOD 10) >= 5 THEN
'V' + REPEAT('I', (A1 MOD 10) - 5)
ELSE
IF (A1 MOD 10) = 4 THEN
'IV'
ELSE
REPEAT('I', A1 MOD 10)
ENDIF
ENDIF
ENDIF
)
ENDIF
Die Formel ist für den Standardbereich 1 bis 3999 gebaut.
Das ist sinnvoll, weil klassische römische Zahlen darüber hinaus in der Regel
Sondernotationen brauchen.
Anmerkung: Interessanterweise hat die KI doch kein CONCAT benutzt, was bei Verschachtelungen teilweise schlecht machbar ist.
