Clever-Excel-Forum

Normale Version: Summieren von Mehrfachauswahl mit Verweis
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo ich habe folgende Schwierigkeit:

Zunächst gibt es eine einfache Matrix in der zu jedem Objekt (Text) aus Spalte 1 in Spalte 2 eine feste Zahl zugeordner wird. 
Über ein Dropdown werden mit Mehrfachauswahl x-beliebig viele Objekte (Text) aus Spalte 1 ausgewählt und in die Zelle des Dropdown mit Kommatrennung ausgegeben. Soweit so gut....

Meine Frage ist jetzt, wie ich es hinbekomme, dass zu allen ausgewählten Objekten die Summe, der jeweils zugeordneten Zahl aus Spalte 2, gebildet und ausgegeben wird? 

Viele Grüße
Daniel
Hi Daniel,

ein Bildchen ist nicht besonders hilfreich. Zeige uns bitte einen relevanten Tabellenausschnitt (http://www.clever-excel-forum.de/thread-47.html) oder poste deine Tabelle (http://www.clever-excel-forum.de/thread-326.html)

Als erste Vermutung für dein Problem denke ich, wirst du deine Zahlen über einen SVERWEIS holen. Dann musst du nur doch die Zahlen summieren. Näheres kann erst bei Kenntnis deiner Daten  (und Formeln) ausprobiert werden.
Tabelle ist hochgeladen
Hi Daniel,

füge eine Hilfsspalte (z.B. E) ein und hole dir die Werte mit SVERWEIS. Im Summenfeld einfach summieren. Die Hilfsspalte kannst du, falls sie dich stört, ausblenden.

Mehrfachauswahl summieren

DEFGH
4Mehrfachauswahl der ObjekteSumme
5CO226NO5
6N2O3N2O3
7O21Mixtures3
8CO22
9Air synthetic1
10Ar1
11O21
12N21
13Air compressed1
Formeln der Tabelle
ZelleFormel
E5=WENNFEHLER(SVERWEIS(D5;$G$5:$H$13;2;0);"")
F5=SUMME($E$5:$E$13)

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Hallo, 
ich habe nochmal eine neue Tabelle hochgeladen (mit VBA Code). Ihre Lösung ist klar, aber nicht so wie ich mir das vorstelle. In meinem Fall werden die Objekte in D5 alle in eine Zelle geschrieben (siehe VBA-Code). Daher weiss ich nicht wie ich dann einen SVERWEIS Bezug aufbauen soll.

VBA-Code
Private Sub Worksheet_Change(ByVal Target As Range)

'** Dimensionierung der Variablen
Dim rngDV As Range
Dim wert_old As String
Dim wertnew As String

'** Errorhandling
On Error GoTo Errorhandling

'** Mehrfachauswahl im definierten Bereich durchführen
If Not Application.Intersect(Target, Range("D5")) Is Nothing Then

  '**Range definieren
  Set rngDV = Target.SpecialCells(xlCellTypeAllValidation)
  If rngDV Is Nothing Then GoTo Errorhandling
  
  '** Prüfen, ob eine gültige Zelle ausgewählt wurde und Werte eintragen
  If Not Application.Intersect(Target, rngDV) Is Nothing Then
    Application.EnableEvents = False
    wertnew = Target.Value
    Application.Undo
    wertold = Target.Value
    Target.Value = wertnew
    If wertold <> "" Then
      If wertnew <> "" Then
        Target.Value = wertold & ", " & wertnew
      End If
    End If
  End If
  Application.EnableEvents = True
End If

Errorhandling:
Application.EnableEvents = True
End Sub

Gruß Daniel
Ich hab ne zimmlich lustige Lösung, es geht war auch deutlich Leichter, aber das ist zu cool um es nicht zu veröffentlichen:)