Discussion:
Summe wenn bestimmte Buchstaben vorkommen
(zu alt für eine Antwort)
Martin Hofrichter
2006-05-22 21:10:54 UTC
Permalink
Hallo Gemeinde

Ich habe eine Tabelle in der in Zelle A1 bis AF1 verschiedene werte
vorkommen. Z.b.: steht in A1 nun der Wert MB2 und in Zelle A2 ein Wert M3
usw. Nun möchte ich eine Formel haben die mir sagen kann MB habe ich den
Wert 2. Geht so etwas als Matrix oder immer nur für jede Zelle einzeln?


Gruß
Martin Hofrichter
Klaus "Perry" Pago
2006-05-22 21:47:40 UTC
Permalink
Hallo Martin,
Post by Martin Hofrichter
Hallo Gemeinde
Ich habe eine Tabelle in der in Zelle A1 bis AF1 verschiedene werte
vorkommen. Z.b.: steht in A1 nun der Wert MB2 und in Zelle A2 ein Wert M3
usw. Nun möchte ich eine Formel haben die mir sagen kann MB habe ich den
Wert 2. Geht so etwas als Matrix oder immer nur für jede Zelle einzeln?
möglicherweise gibt es eh keine Lösung für dein Problem, aber deine Angaben
sind widersprüchlich und dein vorletzter Satz ergibt keinen Sinn. A1 bis AF1
mit A1=MB2 und A2=M3 und ".. die mir sagen kann MB habe ich den Wert 2"
wegen MB2 = MB und 2 oder MB2 und ein verstümmeltes MB3?
erklär doch mal an Hand einer kleinen Beispieltabelle, was du eigentlich
meinst

Gruß
Klaus
Solaiman Ghaus
2006-05-22 21:55:29 UTC
Permalink
Hallo Martin,
Post by Martin Hofrichter
Hallo Gemeinde
Ich habe eine Tabelle in der in Zelle A1 bis AF1 verschiedene werte
vorkommen. Z.b.: steht in A1 nun der Wert MB2 und in Zelle A2 ein Wert M3
usw. Nun möchte ich eine Formel haben die mir sagen kann MB habe ich den
Wert 2. Geht so etwas als Matrix oder immer nur für jede Zelle einzeln?
alles andere ist klar formuliert, aber die eigentliche Frage leider
nicht ;-)
Was meinst du denn mit "Nun möchte ich eine Formel haben die mir sagen
kann MB habe ich den Wert 2"?

Möchtest du bestimmte Werte z. B. aus der Zeile 2 aufsummieren, wenn im
Bereich A1:AF1 MB2, MB3, MB4 usw. steht? Wenn ja, dann nimm folgende
Formel dafür:

=SUMMEWENN($A$1:$AF$1;"MB*";$A$2:$AF$2)

Wenn du aber nur die Anzahl der Zellen mit MB haben willst, dann
folgende Formel:

=ZÄHLENWENN(A1:AF1;"MB*")
Post by Martin Hofrichter
Gruß
Martin Hofrichter
Gruß
Solaiman
Klaus "Perry" Pago
2006-05-22 22:03:23 UTC
Permalink
Hallo Solaiman,
Post by Solaiman Ghaus
Möchtest du bestimmte Werte z. B. aus der Zeile 2 aufsummieren, wenn im
Bereich A1:AF1 MB2, MB3, MB4 usw. steht? Wenn ja, dann nimm folgende
=SUMMEWENN($A$1:$AF$1;"MB*";$A$2:$AF$2)
Wenn du aber nur die Anzahl der Zellen mit MB haben willst, dann folgende
=ZÄHLENWENN(A1:AF1;"MB*")
ich wusste gar nicht, dass du "Kaffeesatz-Lesen" beherrschst :)
Gruß
Klaus
Solaiman Ghaus
2006-05-22 22:38:41 UTC
Permalink
Hallo Klaus,
Post by Klaus "Perry" Pago
Hallo Solaiman,
ich wusste gar nicht, dass du "Kaffeesatz-Lesen" beherrschst :)
lassen wir uns überraschen, ob ich es tatsächlich drauf habe ;-)
Post by Klaus "Perry" Pago
Gruß
Klaus
Gruß
Solaiman
Martin Hofrichter
2006-05-22 23:16:51 UTC
Permalink
Hallo zusammen
Vielen dank für die antworten :-)
Ich gebs ja zu..... besonders gut habe ich mich nicht ausgedrückt :(
Also noch mal ganz kurz zu meinem problem:
In Zelle A1 steht MB2 in Zelle B1 steht auch wieder MB und eine Zahl sagen
wir mal MB1 Nun soll eine Formel nachsehen in welchen Zellen MB steht und
dann nur die Zahlen summieren. Hier währ das ergebniss 3.

Mittlerweile habe ich eine lösung gefunden
=SUMME(WENN(LINKS(A1:AF1;2)="MB";TEIL(A1:AF1;3;2)*1))

Und noch mal danke fürs Kaffeesatz lesen :) Werde mir das nächste mal
wirklich mehr mühe geben beim vormulieren.
Gruß Martin Hofrichter
Post by Solaiman Ghaus
Hallo Klaus,
Post by Klaus "Perry" Pago
Hallo Solaiman,
ich wusste gar nicht, dass du "Kaffeesatz-Lesen" beherrschst :)
lassen wir uns überraschen, ob ich es tatsächlich drauf habe ;-)
Post by Klaus "Perry" Pago
Gruß
Klaus
Gruß
Solaiman
Klaus "Perry" Pago
2006-05-22 23:24:25 UTC
Permalink
Hallo Martin,
Post by Martin Hofrichter
Hallo zusammen
Vielen dank für die antworten :-)
Ich gebs ja zu..... besonders gut habe ich mich nicht ausgedrückt :(
In Zelle A1 steht MB2 in Zelle B1 steht auch wieder MB und eine Zahl sagen
wir mal MB1 Nun soll eine Formel nachsehen in welchen Zellen MB steht und
dann nur die Zahlen summieren. Hier währ das ergebniss 3.
Mittlerweile habe ich eine lösung gefunden
=SUMME(WENN(LINKS(A1:AF1;2)="MB";TEIL(A1:AF1;3;2)*1))
Und noch mal danke fürs Kaffeesatz lesen :) Werde mir das nächste mal
wirklich mehr mühe geben beim vormulieren.
Gruß Martin Hofrichter
ich denke, die Formeln von Solaiman sind recht gut

Gruß
Klaus
Solaiman Ghaus
2006-05-22 23:41:27 UTC
Permalink
Hallo Martin,
Post by Martin Hofrichter
Hallo zusammen
Vielen dank für die antworten :-)
Ich gebs ja zu..... besonders gut habe ich mich nicht ausgedrückt :(
In Zelle A1 steht MB2 in Zelle B1 steht auch wieder MB und eine Zahl sagen
wir mal MB1 Nun soll eine Formel nachsehen in welchen Zellen MB steht und
dann nur die Zahlen summieren. Hier währ das ergebniss 3.
Mittlerweile habe ich eine lösung gefunden
=SUMME(WENN(LINKS(A1:AF1;2)="MB";TEIL(A1:AF1;3;2)*1))
freut mich, daß du selber auch fleißig warst und eine richtige Lösung
gefunden hast. Dennoch hier noch eine Alternative:

=SUMMENPRODUKT((LINKS(A1:AF1;2)="MB")*TEIL(A1:AF1;3;LÄNGE(A1:AF1)-2))

Bei deiner Formel werden NUR 2 Zahlen von Rechts übernommen. Wenn du
irgendwo z. B. MB320 hast, wird durch TEIL(A1:AF1;3;2) nur "20"
übernommen. Du könntest die Länge aber auch so dynamisch ermitteln:
TEIL(A1:AF1;3;LÄNGE(A1:AF1)-2)
Post by Martin Hofrichter
Und noch mal danke fürs Kaffeesatz lesen :) Werde mir das nächste mal
wirklich mehr mühe geben beim vormulieren.
Ich lag fast richtig - das reicht erstmal für "Teesatz lesen" aus ;-)
Post by Martin Hofrichter
Gruß Martin Hofrichter
Gruß
Solaiman
Solaiman Ghaus
2006-05-22 23:51:55 UTC
Permalink
Hallo Zusammen,
Post by Martin Hofrichter
Mittlerweile habe ich eine lösung gefunden
=SUMME(WENN(LINKS(A1:AF1;2)="MB";TEIL(A1:AF1;3;2)*1))
hier noch eine Lösung:

=SUMMENPRODUKT((LINKS(A1:AF1;2)="MB")*WECHSELN(A1:AF1;"MB";""))


Gruß
Solaiman
b***@gmail.com
2006-05-23 09:10:47 UTC
Permalink
Hallo Martin,

m. E. hast Du alle notwendigen Informationen verstaendlich gegeben :-)
Sogar die, dass Deine Strings einander enthalten koennen. Dann
funktioniert leider der Ansatz "Suchstring*" nicht.

Die Formel
=SVERWEIS("MB",NumStat(A1:AF1);2;FALSCH)
liefert Dir die 2 und
=SVERWEIS("M",NumStat(A1:AF1);2;FALSCH)
ergibt 3.

Und wenn Du die gesamte Matrix auf einmal erhalten moechtest:
Selektiere einen freien Bereich von 32 Zeilen und 2 Spalten und gib als
Matrixformel
=NumStat(A1:AF1)
ein (STRG + SHIFT + ENTER)

Die UDF NumStat (siehe unten) musst Du in ein Makro einfuegen:
ALT + F11 druecken, dann Einfuegen/Modul

HTH,
Bernd

----------- Hier Schnipp ------------------

Function NumStat(r As Range) As Variant
Dim i As Long, j As Long, d As Double, c As String, f As Double
Dim rc As Range, s As String, sr As String
ReDim v(1 To r.Cells.Count, 1 To 2) As Variant

j = 0

For Each rc In r

i = 0: d = 0#: f = 1#: sr = "": j = j + 1
If Not IsEmpty(rc) Then s = rc.Text Else GoTo StateEnd

StateStart:
i = i + 1
If i > Len(s) Then GoTo StateEnd
c = Mid(s, i, 1)
Select Case c
Case "0" To "9", "."
d = CDbl(c)
GoTo StatePreComma
Case Else
sr = sr & c
GoTo StateStart
End Select

StatePreComma:
i = i + 1
If i > Len(s) Then GoTo StateEnd
c = Mid(s, i, 1)
Select Case c
Case "0" To "9"
d = 10# * d + CDbl(c)
GoTo StatePreComma
Case "."
GoTo StatePostComma
Case Else
GoTo StateEnd
End Select

StatePostComma:
i = i + 1
If i > Len(s) Then GoTo StateEnd
c = Mid(s, i, 1)
Select Case c
Case "0" To "9"
f = f / 10#
d = d + CDbl(c) * f
GoTo StatePostComma
Case Else
GoTo StateEnd
End Select

StateEnd:
v(j, 1) = sr
v(j, 2) = d

Next rc

NumStat = v

End Function

------------ Wieder Schnipp --------------------

Loading...