2017-01-07 4 views
1

passend Hier ist mein Blatt Setup:SUM-Werte aller Kosten Spalte Einträge eine Liste der Elemente

  • Ich habe ein Blatt ‚Inventar‘, die Zeilen aller meiner Inventar Einheiten auf Lager hält. Jeder Artikel hat einen Wert/Spalte für "Kosten" und eine Spalte für "Verkaufspreis".
  • Ich habe ein anderes Blatt „Fotografie“, die für jede Zeile/entry eine Zelle, die angibt, welche sind die Liste der Elemente, die in dem Foto hat, von einigem Inventar item ref verwiesen. Und von diesem möchte ich vlookup oder etwas, um die "Kosten" all dieser Elemente in der Liste zu holen, und SUM sie auf.
  • So kann ich für ein bestimmtes Foto wissen, was sind alle Elemente auf dem Foto verwendet, und wie viel kostet all diese Elemente (summiert).
  • Dann werde ich das gleiche für den "Verkaufspreis" tun, so dass ich für jedes Foto, das ich mache, die Kosten für dieses Produkt "wie es ist" sagen kann (mit all den verschiedenen Inventarartikeln), und der Verkaufspreis.

Beispiel:

enter image description here

konnte ich, dass nur 1 Punkt tun, aber ich möchte, dass die Formel auf der "Liste" der Elemente in B9 zu arbeiten.

ich auch mit dieser Abfrage Formel versucht, ich wusste einfach nicht, wie man „aus der Liste ein Element passend“, die eine Zeichenfolge in einer anderen Zelle sein wird:

=SUM(QUERY(A:B,"select B where A matches 'ID-100'")) 

Antwort

1

Wenn Ihr „Artikel verwendet "Spalte konsistent verwendet Komma-Leerzeichen getrennt Format für Artikellisten, das Folgende wird funktionieren.

=query(Cost!A:B, "select sum(B) where A = '" & join("' or A = '", split(B9, ", ")) & "' label sum(B) ''") 

Hier split teilt die Liste der Elemente in einzelne Artikel Ids verwendet. Diese werden dann miteinander verbunden, indem sie ' or A = ' dazwischen, zum Beispiel:

ID-101' or A = 'ID-101 

Es Bits vorangestellt und angehängt, den Query-String zu bilden, zum Beispiel

select sum(B) where A = 'ID-101' or A = 'ID-101' label sum(B) '' 

, die die Arbeit erledigt. Der Etikettenteil ist notwendig, um eine Zellenausgabe zu erhalten, ohne dass ein "Summen (Kosten)" - Header in den Weg kommt.


Ein Detail über Split: wie oben geschrieben, split(B9, ", ") Splits durch entweder Komma oder Leerzeichen (leere Zeichenkette in der Ausgabe ignoriert). So wird es auch mit ID-1,ID-2, ID-3 ID-4 funktionieren. Auf der anderen Seite kann dies ein Problem sein, wenn Ihre IDs Leerzeichen enthalten. Der strengere Splittungsmodus ist split(B9, ", ", False), bei dem die ganze Zeichenfolge "," als Trennzeichen verwendet werden muss.

+0

Danke, genau das wollte ich! – KBog

Verwandte Themen