Payprus Tabellenkalkulation ohne Programmierkenntnisse mit KI nutzen

Wie man ohne Programmierkenntnisse die Tabellenkalkulation von Papyrus nutzen kann gezeigt am Beispiel „Umwandlung von Integer Zahlen in Römische Zahlen“ :

  1. 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!

  1. 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.

Umwandlung Integer Zahlen in Römische Zahlen.pap (11,2 KB)

1 „Gefällt mir“

Krass! Als Lektüre hast du ihm das Papyrus-Handbuch als PDF vorgelegt?
Ich hab mich mit ChatGPT noch kaum beschäftigt. Braucht man dafür ein Abo oder geht das bei ersten Versuchen auch ohne?