Live-Forum - Die aktuellen Beiträge
Datum
Titel
03.05.2024 10:49:02
03.05.2024 10:43:56
03.05.2024 07:38:32
Anzeige
Archiv - Navigation
1928to1932
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Aus String-Währungs-Werten Summe bilden

Aus String-Währungs-Werten Summe bilden
20.04.2023 14:03:49
Matthias

Hallo zusammen,

ich habe ein Tabellenblatt, in dem in Spalte G lauter Werte als String stehen, wie z.B. "45,17 €". Sie werden von der Formel

=TEXT(WENN(B22*F22=0;"";WENN(ODER(C22="Taxi";C22="DB";C22="Hotel");B22*F22*(100+Tools!F12)/100;B22*F22));"0,00 €")
erzeugt. Aus diesen "String"-Werten soll nun die Summe gebildet werden. Wie kann ich die Werte in G22:G55 so aufbereiten, dass als Zahlenwerte für =SUMME(G22:G55) zur Verfügung stehen?

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aus String-Währungs-Werten Summe bilden
20.04.2023 14:06:08
SF
Hola,
und warum wandelst du ZAHLEN in TEXT um um damit dann wieder als ZAHL zu rechnen?
Gruß,
steve1da


AW: Aus String-Währungs-Werten Summe bilden
20.04.2023 14:32:08
Daniel
Hi
wenn du damit rechnen willst, musst du das TEXT weglassen, so dass in den Zellen Zahlen stehen.
du kannst ja die Zellen mit dem entsprechenden Währungsformat formatieren, dann erscheint das € in der Zelle, aber der eigentliche Zellwert bleibt eine Zahl.
auch die 0 lässt sich durch das Zahlenformat ausblenden (Zahlenformat "0,00 €;-0,00€;;@")
wenn du die Texte unbedingt brauchst (warum auch immer), musst du jeden wert wieder in eine Zahl verwandeln, da die Auswertefunktionen wie Summe Texte grundsätzlich ignorieren.
In Einzeloperationen (G22+G23+G24...) könntest du theoretisch auch die Texte verwenden, aber das wird aufwendig.
das nächste Problem ist, das Excel den Text "" nicht in 0 umwandelt, sondern das mit einem Fehler quittiert, daher muss man das dann gesondert behandeln:
das ergibt dann diese Formel, wenn man die bei dir vorliegenden Werte summieren will:
=Summe(Wenn(G22:G55="";0;Wert(G22:G55)))
für Ältere Excelversionen ist die Eingabe mit STRG+SHIFT+ENTER erforderlich

Gruß Daniel


Anzeige
AW: Aus String-Währungs-Werten Summe bilden
20.04.2023 15:05:33
Matthias
Hallo,
toll, dass Ihr Euch so promt gemeldet habe! Danke dafür! Ja, ich bin bei Euch, den "Text"-Kram würde ich definitiv am liebsten weglassen. Aber Ihr kennt die Vorgeschichte nicht. Mein Thread Ersten Wert in einer Spalte suchen - Matthias 17.04.2023 18:20:23
endete mit einem Makro, für das ich die Formatierung in meinen Tabellenblatt-Zellen von "Währung" auf "String" umändern musste. Onur hat mir dabei geholfen, bzw. als Erster eine gangbare Lösung gefunden, um dieses echt widerspenstige Makro zum Laufen zu bringen. Ursprünglich wollte ich nur einen Wert der Variablen a in der Spalte G meines Tabellenblattes finden, um mit der Zeilennummer dieses Wertes weiterzumachen. In dieser Spalte G stehen lauter Zahlen, die als "Währungs-Zahlen" formatiert wurden. Also z.B. 16,32€. Aber ohne diese umständliche "Umformatierung" von Zahl nach String bekomme ich dieses Makro einfach nicht zum Laufen. Natürlich wäre es mir viel lieber, die Formatierung der Zellen als "Währung" zu belassen. Langer Rede kurzer Sinn: Guckt Euch den Thread vom 18.4. an, wenn Ihr Lust und Laune habt, wenn Ihr ne andere Idee habt, einen Wert in einer Zelle der Spalte G per Makro zu finden, wäre mir das 1000-mal lieber!
Liebe Grüße,
Matthias



Anzeige
AW: Aus String-Währungs-Werten Summe bilden
20.04.2023 15:40:26
Daniel
Hi
mit .FIND suchst du in den angezeigten Werten (mit den Parametern LookAT:=xlwhole und LookIn:=xlvalues)
dh du musst den Zellwert so angeben, wie er in der Zelle angezeigt wird.
Bei Zahlen wird es allerdings etwas tricky, da Excel und VBA englisch miteinander reden.
Dh hast du eine Zahl in Excel mit dem Standard-Dezimalzeichen (in deutsch Komma) formatiert, musst du für die Suche in VBA ebenfalls das Standard-Dezimalzeichen angeben und das ist für VBA immer der Punkt.
Ebenso das Währrungssymbol. Formatierst du die Zelle mit dem Standard-Währungsymbol (in Deutschland €), so musst du für VBA auch das Standard-Währungssymbol für die Suche verwenden und das ist in VBA aber Länderunabhängig immer $.

wenn also in der Zelle angezeigt wird "12,45 €" muss dein Suchwert für das .FIND lauten: "12.45 $", damit du in deinem deutschen Excel einen Treffer bekommst.
Die Logik hinter dem ganzen ist "Standard". Wenn du in Excel das Standard-Symbol verwendest (Dezimalzeichen, Währung) dann musst du auch in VBA das Standard-Symbol verwenden. In Excel sind die Standardsymbole jedoch länderspezifisch, in VBA immer amerikanisch.

Wenn du Zahlen suchst, könntest du auch einfach mit einer Schleife über den Bereich drüberlaufen:

dim Zelle as Range
dim Suchwert as Double
for each Zelle in Range(...)
    if Zelle.value = Suchwert then exit for
Next
nach dieser Schleife ist dann Zelle die erste Zelle mit dem gesuchten Wert, ober eben Nothing, wenn der Suchwert nicht gefunden ist.
Aber hier suchst du dann mit den tatsächlichen Zellwerten und kannst einfacher nach Zahlen oder ähnlichem Suchen.

Gruß Daniel


Anzeige
AW: Aus String-Währungs-Werten Summe bilden
20.04.2023 20:19:57
Matthias
Hallo Daniel,
da wäre ich alleine niemals drauf gekommen! Wenn Excel und VBA sich in amerikanisch unterhalten und über eine in "Standard" formatierte Zelle sprechen, ist es nachvollziehbar, dass dies von EXCEL anders verstanden wird als von vba. Dass hätte ich alleine niemals herausbekommen. Ich muss mir jetzt Deine Antwort noch ein paar mal durchlesen, um sie im Detail zu verinnerlichen! Ich bin an diesem Wochenende leider nicht da und muss/darf eine Zwangspause einlegen, aber vielleicht schon Sonntag abend kann ich es ausprobieren. Ich werde Dir und allen anderen natürlich auch Feedback meiner Ergebnisse geben. Bis dahin "Chapeau vor Eurem Wissen" und ein dickes Danke-Schön für Eure Hilfe!
Ganz herzliche Grüße,
Matthias


Anzeige
AW: Aus String-Währungs-Werten Summe bilden
20.04.2023 14:36:26
UweD
Hallo

Lass den TExt(,) Kram weg
=WENN(B22*F22=0;"";WENN(ODER(C22="Taxi";C22="DB";C22="Hotel");B22*F22*(100+Tools!F12)/100;B22*F22)) 
und formatiere die Zelle vorher als Währung "0,00 €"

Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCD
1699,00 € 701,00 € 
22,00 €   
3    
4    
5    

ZelleFormel
A1=WENN(B22*F22=0;"";WENN(ODER(C22="Taxi";C22="DB";C22="Hotel");B22*F22*(100+Tools!F12)/100;B22*F22))
C1=SUMME(A1:A3)


LG UweD


Anzeige
AW: Aus String-Währungs-Werten Summe bilden
20.04.2023 15:23:35
Matthias
Hi Uwe, danke für Deinen Vorschlag! Ja, der "Text-Kram" stört mich auch total, weil er sehr umständlich ist! Aber, es geht nicht anders ... oder doch ??? Sieh Dir mal meine Antwort zu Daniels Vorschlag an ... Ich bin hier echt am Ende mit meiner kleinen Excel-Weisheit ...


AW: Aus String-Währungs-Werten Summe bilden
20.04.2023 15:57:03
HeritzP
Hallo,

=SUMMENPRODUKT(WENNFEHLER(WECHSELN(G22:G55;" €";"")*1;""))


AW: Aus String-Währungs-Werten Summe bilden
20.04.2023 16:15:48
Matthias
Hi HeritzP, sehr elegant! Das funktioniert!!! Auch wenn damit mein Such-Makro-Problem damit noch nicht zufriedenstellend gelöst ist, Dein Vorschlag hilft definitiv weiter! Vielen Dank dafür!
Gruß, Matthias


Anzeige
AW: Aus String-Währungs-Werten Summe bilden
20.04.2023 17:41:46
Daniel
hast du meinen Beitrag gelesen?


AW: Aus String-Währungs-Werten Summe bilden
20.04.2023 16:04:43
Matthias
Für diejenigen, die sich noch mit meinem Thread beschäftigen: Wenn alle Stricke reißen, kann ich natürlich eine Alternativlösung basteln: Ich könnte in irgendeiner Spalte ausserhalb des "Sichtbereiches" des Users eine unsichtbare Spalte schaffen (ausgeblendet und weisse Schrift auf weißem Hintergrund), in die ich dann die Werte schreibe, die ich, bzw. mein Such-Makro suchen und finden kann. Das hat zwar ein "Geschmäckle von Mogelpackung", würde den Zweck aber trotzdem erfüllen. Natürlich habe ich mich - habt Ihr Euch - jetzt solange mit diesem Thema beschäftigt, dass man auf eine professionelle Lösung förmlich brennt. Ich bin zu diesem Thema inzwischen etwas "leer" und habe z.Z. echt keine neue Idee mehr, also wenn Ihr noch etwas finden würdet: SEHR GERNE !!!

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige