Euro-Wert/Zahl/Betrag in Serienbrief aus Formel
#1
Hey, ich verzweifle seit einiger Zeit an einer Formatierung in meinem Serienbrief. Den Serienbrief inkl. stark reduzierter Daten-Datei habe ich angefügt. Zur Erklärung:

Serienbrief: Zunächst als Datensatz die beigefügte Excel-Tabelle auswählen, dann die Tabelle "Serienbrief$". Jetzt wird gemeckert, dass Felder wie "Straße" oder "Hausnummer" fehlen, das bitte einfach ignorieren, da ich die Datei auf das notwendigste reduziert habe. In der Vorschau müssten jetzt zwei Datensätze angezeigt werden. Einmal mit 1378,67 für "A Wilhelm" und einmal mit 6 für "A Corina".

Folgendes möchte ich erreichen: Bei Werten im Tausender-Bereich hätte ich gerne einen Punkt, also "1.000" statt "1000", der Übersicht wegen. Und bei dem Wert "6" hätte ich gerne zusätzlich ein ",00" also "6,00". Dann habe ich vernünftige Euro-Beträge.

Jetzt gibt es ein paar Möglichkeiten, diese Formatierung vorzunehmen, beispielsweise direkt im Serienbrief mittels Feldfunktionen. Das funktioniert bei mir aber nicht. Ich habe auch eine Idee woran es liegen könnte, komme aber nicht auf die Lösung.

Excel-Tabelle: Diese habe ich ebenfalls stark reduziert. Zunächst werden die Rohdaten im Blatt "Daten" aufbereitet und in der Spalte "M" zusammengefasst. Diese Werte werden in das Tabellenblatt "Serienbrief" übernommen, mit einer kleinen Besonderheit: Wenn der errechnete Wert aus Spalte "M" (Tabellenblatt "Daten") weniger als 6,00€ beträgt, wird automatisch auf diesen Mindestbetrag von 6,00€ aufgerundet. Das ist in einer Formel im Tabellenblatt "Serienbrief" in Spalte "E" hinterlegt. Die Werte stimmen soweit alle, ich befürchte aber, dass durch diese Formel die Formatierung im Serienbrief eingeschränkt wird.
Ansonsten habe ich ja auch noch die Möglichkeit, Formatierungen in Excel vorzunehmen. Hier meine ich aber, dass diese alle passend sind.

Ich hoffe, ihr könnt meine beiden Problemchen nachvollziehen und freue mich auf eure Ideen. Bei weiteren Fragen sehr gerne melden.


Angehängte Dateien
.xlsx   Liste_Forum.xlsx (Größe: 126,61 KB / Downloads: 12)
.docx   Serienbrief Forum.docx (Größe: 28,58 KB / Downloads: 5)
Antworten Top
#2
Hallo,

wenn ich es richtig verstanden habe geht es um diese Zeile in Word:
der Beitrag für das Kalenderjahr 2024 beträgt 1.378,67 € und wird für folgende
Wenn ja, braucht es lediglich zwei Unterscheidungen <10 bzw. >=1000. Für die Ausgabe in Word kann es dann Text sein.

Da du O365 nutzt dann diese Formel im Blatt Serienbrief in Zelle E2 und nach Bedarf runterziehen:
Code:
=LET(xA;RUNDEN((SUMMEWENN(Daten!$G$2:$G$5;$B2;Daten!$L$2:$L$5)>0)*MAX(6;SUMMEWENN(Daten!$G$2:$G$5;$B2;Daten!$L$2:$L$5));2);
WENNS(xA>=1000;TEXT(xA;"0.000,00 €");xA<10;TEXT(xA;"0,00 €")))
Deine Formel selbst habe ich nicht auf Korrektheit untersucht.

Warum Text? Die Serienbrieffunktion ist eine Datenbankfunktion, welche wenn es sich um Zahlen handelt das Format der Zellen ignoriert und die Zahl in Word ausgibt.
Man kann dies auch in Word entsprechend formatieren, falls die Textzahlen in Excel stören, von was ich erstmal anhand deines Aufbaus nicht ausgehe.

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Egon12 für diesen Beitrag:
  • dakobertz
Antworten Top
#3
Hallo Uwe,

das ist genau das, was ich vorhatte. In meiner Beispieltabelle funktioniert deine Formel perfekt, allerdings habe ich gerade noch Schwierigkeiten, deine Formel in meine Original-Datei mit zigtausenden Einträgen zu implementieren. Da gibts immer ne Fehlermeldung. Aber ich werde erst ein wenig ausprobieren, die Vorgehensweise habe ich verstanden. Hab vielen Dank für deinen Input!!!

Ne Uwe, da ist jetzt irgendein dicker Bock drin... Ich habe zwei Screenshots angefügt, einmal mit den korrekten Werten ohne deine Formel und dann mit den Werten, wenn ich die Formel nach deiner Idee anpasse. Das Ergebnis ist, dass alle Werte mit Eintausend stehen bleiben, genauso wie alle errechneten Werte unter 10. Alle anderen Werte über 10 und ohne die Tausend am Anfang werden als #NV angezeigt :/


Angehängte Dateien Thumbnail(s)
       
Antworten Top
#4
(23.11.2025, 12:14)dakobertz schrieb: Ansonsten habe ich ja auch noch die Möglichkeit, Formatierungen in Excel vorzunehmen. Hier meine ich aber, dass diese alle passend sind.

Bei Serienbriefen in Word nutzen Zahlenformatierungen in Excel absolut nix. 
Du könntest Dir aber ein Wordmakro erstellen. 
Im Anhang hab ich Dir das mal gemacht (ohne auf Deine Dateien einzugehen).
Ein paar Anpassungen musst Du also noch vornehmen. Als erstes natürlich die Datenquelle anpassen. Dann natürlich die Mergefelder im Serienbrief selbst und auch im Makro. Die müssen mit den Spalten der Exceltabelle übereinstimmen, sonst wird das nix,
Da ja bei Sereinbriefen häufig die gleichen Datenquellen und deren Felder genutzt werden, kann man sich daraus auch eine Vorlage (dotx) erstellen und ändert dann nur noch den Text passend zum Anlass und ggf. noch die fehlenden Mergefelder.

Wie Du dabei vorgehen musst, ist in der Anlage beschrieben.

.docx   So soll es aussehen.docx (Größe: 164,39 KB / Downloads: 2)
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

[-] Folgende(r) 1 Nutzer sagt Danke an Ralf A für diesen Beitrag:
  • dakobertz
Antworten Top
#5
In die Variable xA wird der Wert deiner Formel geschrieben. Wenn da diese Formel #NV ausgibt wird die so ausgegeben.

Sollte aber keine der Bedingungen im WENNS() Teil der LET() zutreffen gibt es ebenfalls ein #NV. Wenn dies zutrifft musst du uns Zeigen, in welchem Zusammenhang beide Bedingungen nicht zutreffen.
Oder du möchtest in dem Fall 0,00 € ausgegeben haben, wäre die WENNS() mit WENNFEHLER() zu umschließen also so:
Code:
=LET(xA;RUNDEN((SUMMEWENN(Daten!$G$2:$G$5;$B2;Daten!$L$2:$L$5)>0)*MAX(6;SUMMEWENN(Daten!$G$2:$G$5;$B2;Daten!$L$2:$L$5));2);
WENNFEHLER(WENNS(xA>=1000;TEXT(xA;"0.000,00 €");xA<10;TEXT(xA;"0,00 €"));"0,00 €"))
 

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Egon12 für diesen Beitrag:
  • dakobertz
Antworten Top
#6
Das Mergefield einfach so formatieren:
Code:
{ MERGEFIELD  Beitrag \# "#.##0,00 €" }

dann sollte es passen.
[-] Folgende(r) 2 Nutzer sagen Danke an knobbi38 für diesen Beitrag:
  • derHoepp, dakobertz
Antworten Top
#7
Hi knobbi38, was genau muss ich dann in der von Egon12 vorgeschlagenen Formel ändern? Ich erkenne leider nicht (liegt wohl an meinen geringen Excel-Skills), was genau aus deinem Vorschlag ich wo ersetzen muss. Beim Ausprobieren klappt es noch nicht, komme nicht zum Ziel. Magst du noch einmal genauer erwähnen, wie das im vorliegenden Fall aussehen muss?

Edit: Achso, du bist wieder in Word bei den Feldfunktionen... Das hat tatsächlich geklappt :D
Merkwürdig, dass mir genau diese Variante über die Suche nicht ausgespuckt wurde. Vielen Dank!

Da der Vorschlag von knobbi38 zum Ziel geführt hat, würde ich den Vorschlag von Egon12 und Ralf A zunächst verwerfen. Auf Makros versuche ich generell zu verzichten, da ich die Daten für einen Senior aufbereite, der im Umgang mit dem Computer nicht sehr versiert ist. Da muss ich dann immer viele Anleitungen schreiben, das wäre hier dann wieder der Fall. Ich danke euch dennoch für eure Mühen!
Antworten Top
#8
Hallo,

ich sehe gerade, dass hier kein Ausschluss erforderlich war. Da hatte ich dann falsch verstanden. Da würde in Excel die Formel natürlich so ausreichen:
Code:
=LET(xA;RUNDEN((SUMMEWENN(Daten!$G$2:$G$5;$B2;Daten!$L$2:$L$5)>0)*MAX(6;SUMMEWENN(Daten!$G$2:$G$5;$B2;Daten!$L$2:$L$5));2);
TEXT(xA;"#.##0,00 €"))
In Word hatte ich ja beschrieben ist dies natürlich, da kein Ausschluss eines Wertebereichs nötig ist, noch einfacher möglich.

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Egon12 für diesen Beitrag:
  • dakobertz
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste