online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Berpre vom 11.10.2022, 11:21 Options

Mehrere einzelne Excelzellen als eine Zelle berechnen

Hallo Excel Freunde,

Mehrere einzelne Excelzellen H5 – M5 als eine Zelle berechnen
Ich habe in verschiedenen vorhandenen älteren Excel Tabellen die Aufgabe Gewichte zu addieren.

In der Zeile „ 5 „ sind die einzelnen Excelzellen H5, I5, J5, K5, L5, M5
In der Zeile „ 6 „ sind die einzelnen Excelzellen H6, I6, J6, K6, L6, M6
In der Zeile „ 7 „ sind die einzelnen Excelzellen H7, I7, J7, K7, L7, M7
bis
In der Zeile „ 20 „ sind die einzelnen Excelzellen H20, I20, J20, K20, L20, M20
Jede einzelne Zelle ist mit einer Zahl belegt.

In der Zeile „ 21 „ in den Zellen: H21 bis M21 soll das Ergebnis stehen.

Kann mir einer einen Tipp oder eine Lösung geben.

Gruß Berpre


Antwort schreiben

Antwort 1 von Zaehler vom 11.10.2022, 11:50 Options

hallo,

gesamten Bereich H5 bis L20 markieren und auf Symbol für AutoSumme klicken, dann erscheinen von H21 bis L21 die jeweiligen Summenergebnisse.

War es das was du wolltest?

MfG

Antwort 2 von Berpre vom 11.10.2022, 12:11 Options

Hallo Zaehler,

War es das was du wolltest? Nein.

In den Excelzellen H5, I5, J5, K5, L5, M5 ist ein Gewicht angegeben
z.B. J5=3, K5=2,L5=6,M5=4 das heist: 326,4 Kg

In den Excelzellen H6, I6, J6, K6, L6, M6 ist ein Gewicht angegeben
z.B. J5=2, K5=1,L5=4,M5=8 das heist: 214,8 Kg

usw. bis zur Zeile 20

in der Zeile 21, in den Zellen: H21 bis M21 soll das Ergebnis
( 541,2 Kg ) stehen.

Gruß Berpre

Antwort 3 von Zaehler vom 11.10.2022, 12:20 Options

Hallo Berpre,

ob das nur mit Formel geht, weiß ich nicht, hab sowas in der Art noch nicht gebraucht.
Per VBA sicher möglich, aber da bin ich auch nicht firm drin. Gibt aber noch einige kompetente Excelfreaks hier im Supportnet.

MfG

Antwort 4 von nostalgiker6 vom 11.10.2022, 18:06 Options

Schau dir mal DIES an - mit ein paar Hilfsspalten geht es - aber einigermassen mühsam.

Antwort 5 von Paul1 vom 11.10.2022, 22:58 Options

Hallo nostalgiker,

Deine Lösung habe ich mir angesehen und konnte feststellen, dass mit Formeln nicht mehr herauszuholen ist (vielleicht mit VBA).

Texte kann man in Excel in Zellen aufteilen bzw. in eine Zelle vereinen, aber mit Zahlen scheint es ein Problem zu geben.

Was ich nicht verstehe ist, dass eine Zahl, die in einer Zelle bereits als Zahl formatiert steht beim Aufteilen in mehreren Spalten (oder umgekehrt) zum Text wird.

Dieser Umstand macht so manche Problemlösungen zur Schwerarbeit.

Es sollte nur eine Erkenntnis von mir sein nach einigen vergeblichen Versuchen Zahlen als Zahlen in der Form weiterzuverarbeiten.

Schöne Grüße

Paul1

Antwort 6 von nighty vom 12.10.2022, 07:11 Options

hi paul :-)

vielleicht hilfreich :-))

zahlenisolierung
der index prüft linksbuendig

gruss nighty

z.b.
isoliert die erste zahl eines string linksbuendig
=SumZahlen(A2;1)

isoliert die zweite zahl eines string linksbuendig
=SumZahlen(A2;2)

usw.

Function SumZahlen(Zellen As Variant, IndexBlock As Integer) As String
    Dim Zelle As Range
    Dim Zeichen As Integer
    Dim Schalter As Boolean
    Dim ArrInd As Integer
    ReDim ArrFeld(Len([Zellen])) As String
    ArrInd = 1
    Application.Volatile
    If IndexBlock > Len([Zellen]) Then IndexBlock = Len([Zellen])
    For Zeichen = 1 To Len([Zellen])
        If Mid([Zellen], Zeichen, 1) Like "[0-9,.]" = True Then
            ArrFeld(ArrInd) = ArrFeld(ArrInd) & Mid([Zellen], Zeichen, 1)
            Schalter = True
        End If
        If Schalter = True And Mid([Zellen], Zeichen, 1) Like "[0-9,.]" = False Then
            ArrInd = ArrInd + 1
            Schalter = False
        End If
    Next Zeichen
    SumZahlen = ArrFeld(IndexBlock)
End Function  

Antwort 7 von Paul1 vom 12.10.2022, 09:54 Options

Hallo nighty,

Für Deine Antwort auf meine Antwort (obwohl ich nicht der Fragesteller bin) bedanke ich mich vorerst auf das Allerbeste.

Das muß ich mir in Ruhe ansehen und würde dann dazu auch Stellung nehmen.
Die Lösung von nostalgiker finde ich mit den zur Verfügung stehenden Möglichkeiten in Excel (Standard) ausgezeichnet.

Dieses Problem mit der Aufteilung von Zellinhalten (Zahlen) stellt sich aber immer wieder, solange Excel diesbezüglich nicht userfreundlich umprogrammiert wird.

Mich würde auch die Meinung vom Fragesteller interessieren, sonst sieht es vielleicht so aus, als würde man die Rechnung ohne den Wirt machen.

bis dahin
schöne Grüße

Paul1

Antwort 8 von nighty vom 12.10.2022, 10:48 Options

hi paul und all :-)

hier noch ein wenig spielerei einer stringverarbeiten function,bei sehr guten kenntnissen der exceleigenen functionen wahrscheinlich auch ueberfluessig

zum ueben in vb war es allemale gut :-))

gruss nighty

Rem StrBe() ist eine string verarbeitenden function die anhand der eingestellten parameter die angegebenen bereiche addiert wie auch zusammenfuegt
Rem einsatzgebiete zur zahlen und texttrennung und oder addierung wie auch trennung von steuerzeichen
Rem StrBe(Bereich, Parameter 1,Parameter 2, Parameter 3 bis flexibles ende)
Rem Bereich=zellenangabe oder bereich
Rem parameter 1
Rem 0 fuer diese erlaubten zeichen ("0-9"),ergaenzend dazu das alle zahlen addiert werden bei 0
Rem 1 fuer diese erlaubten zeichen ("A-Za-zßÄäÖöÜü")
Rem 2 fuer diese erlaubten zeichen ("0-9,.A-Za-zßÄäÖöÜü")
Rem parameter 2
Rem 0=links beginnend
Rem 1=rechts beginnend
Rem parameter 3
Rem positionen der zeichenbloecke,auch gemischt darstellbar
Rem z.b.
Rem =StrBe(A1:A3;0;0;1;3)
Rem Paraneter sind A1:A3;0;0;1;3
Rem A1:A3 =Bereich
Rem 0=erlaubte zeichen ("0-9")
Rem 0=links beginnend
Rem 1=erste Zahlenblock
Rem 3=dritte Zahlenblock
Rem das ParamArray gestattet eine flexible Anzahl von Zahlenblöcken  
Function StrBe(Zellen As Variant, ZahlText As Integer, LinksRechts As Boolean, ParamArray AnzBl() As Variant) As Variant
Application.Volatile
Dim schalter As Boolean
Dim ZeichenPos As Integer, ZeichenSammelnPos As Integer, ZeichenDurchlauf As Integer
Dim Modus As String
Dim Zelle As Range
If ZahlText = 0 Then Modus = "0-9"
If ZahlText = 1 Then Modus = "A-Za-zßÄäÖöÜü"
If ZahlText = 2 Then Modus = "0-9,.A-Za-zßÄäÖöÜü"
For Each bereich In Zellen
ReDim ZeichenSammeln(Len(Cells(bereich.Row, bereich.Column))) As String
For IndexArr = 0 To UBound(AnzBl())
ZeichenSammelnPos = 1
If AnzBl(IndexArr) > Len(Cells(bereich.Row, bereich.Column)) Then AnzBl(IndexArr) = Len(Cells(bereich.Row, bereich.Column))
If LinksRechts = False Then
For ZeichenPos = 1 To Len(Cells(bereich.Row, bereich.Column))
If Mid(Cells(bereich.Row, bereich.Column), ZeichenPos, 1) Like "[" & Modus & "]" = True Then
ZeichenSammeln(ZeichenSammelnPos) = ZeichenSammeln(ZeichenSammelnPos) & Mid(Cells(bereich.Row, bereich.Column), ZeichenPos, 1)
schalter = True
End If
If schalter = True And Mid(Cells(bereich.Row, bereich.Column), ZeichenPos, 1) Like "[" & Modus & "]" = False Then
ZeichenSammelnPos = ZeichenSammelnPos + 1
schalter = False
End If
Next ZeichenPos
Else
For ZeichenPos = Len(Cells(bereich.Row, bereich.Column)) To 1 Step -1
If Mid(Cells(bereich.Row, bereich.Column), ZeichenPos, 1) Like "[" & Modus & "]" = True Then
ZeichenSammeln(ZeichenSammelnPos) = Mid(Cells(bereich.Row, bereich.Column), ZeichenPos, 1) & ZeichenSammeln(ZeichenSammelnPos)
schalter = True
End If
If schalter = True And Mid(Cells(bereich.Row, bereich.Column), ZeichenPos, 1) Like "[" & Modus & "]" = False Then
ZeichenSammelnPos = ZeichenSammelnPos + 1
schalter = False
End If
Next ZeichenPos
End If
If ZahlText = 0 And AnzBl(0) = 0 Then
For ZeichenDurchlauf = 1 To UBound(ZeichenSammeln())
If ZeichenSammeln(ZeichenDurchlauf) = "" Then Exit For
StrBe = Val(StrBe) + Val(ZeichenSammeln(ZeichenDurchlauf))
Next ZeichenDurchlauf
Exit For
End If
If ZahlText = 0 And AnzBl(0) > 0 Then StrBe = Val(StrBe) + Val(ZeichenSammeln(AnzBl(IndexArr)))
If ZahlText = 1 And AnzBl(0) = 0 Or ZahlText = 2 And AnzBl(0) = 0 Then
For ZeichenDurchlauf = 1 To UBound(ZeichenSammeln())
If ZeichenSammeln(ZeichenDurchlauf) = "" Then Exit For
StrBe = StrBe + ZeichenSammeln(ZeichenDurchlauf)
Next ZeichenDurchlauf
Exit For
End If
If ZahlText = 1 And AnzBl(0) > 0 Or ZahlText = 2 And AnzBl(0) > 0 Then StrBe = StrBe + ZeichenSammeln(AnzBl(IndexArr))
For ZeichenDurchlauf = 1 To UBound(ZeichenSammeln())
ZeichenSammeln(ZeichenDurchlauf) = ""
Next ZeichenDurchlauf
schalter = False
ZeichenSammelnPos = 0
Next IndexArr
Next bereich
End Function

Antwort 9 von Berpre vom 12.10.2022, 14:22 Options

Hallo nostalgiker6,
Hallo Paul1,
Hallo nighty,

Die ersten Versuche hatte ich mit Hilfsspalten versucht, was recht mühsam ist, wie auch " nostalgiker6 " festgestellt hat.

" Paul1 " Mich würde auch die Meinung vom Fragesteller interessieren, sonst sieht es vielleicht so aus, als würde man die Rechnung ohne den Wirt machen.
Paul, nach 23 Jahren der Abstinenz in der Programierarbeit (Fortran, Pascal ), wobei von VBA ich zwar gehört, dies aber nie erlernt habe, jetzt im ruhigen Farwasser VBA Neu erlernen will.
So gehe ich doch selbstbewust an das Neue heran.

Ich bin erstaunt darüber, wie Ihr an dieser Aufgabenstellung herangeht. Jede Neue Aufgabensituation stellt eine Herausforderung dar, die gelöst werden will.

Ich kann Paul nur zustimmen, dass die Probleme mit der Aufteilung von Zellinhalten ( Zahlen ) nicht Userfreundlich programmiert ist.

So bin ich seit ca. 4 Wochen an dieser Aufgabenstellung dabei, diese unter Hilfen von Fachbüchern, Googeln usw. zu lösen.

Ich möchte mich bei Euch für die bis jetzt gegebene Unterstützung bedanken.

Gruß Berpre

Ähnliche Themen

Inhalt von einer Zelle in andere Zelle schreiben
Melina  19.09.2009 - 342 Hits - 2 Antworten

vba: zelle oberhalb der aktiven zelle suchen
EKG  21.11.2009 - 218 Hits - 3 Antworten

vba: zelle oberhalb der aktiven zelle suchen
EKG  24.11.2009 - 229 Hits - 9 Antworten

einzelne Wörter herausfiltern - Excel
Suki  18.06.2010 - 303 Hits - 5 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026