2017-05-17 4 views
1

Ich beginne mit dem folgenden:SUMIF nicht mit verschachteltem Monat oder LEFT-Funktion arbeitet

=SUMIF(MONTH('Inventory'!K:K),B5,'Inventory'!M:M) 

wo MONTH('Inventory'!K:K) sollte die Monatszahl (Jan = 1, Februar = 2, etc.) zurück Von einer mm/dd/yyyy-Datumsspalte enthält B5 die Monatsnummer, nach der ich summieren möchte, und 'Inventory'!M:M ist eine Betragsspalte.

Anstelle von MONTH('Inventory'!K:K) versuchte ich auch LEFT('Inventory'!K:K, 1) ohne Glück.

Ich dachte, dass möglicherweise der MONTH-Ausdruck einen Wert zurückgibt, wo Excel nach einem Bereich sucht, aber ich konnte eine Problemumgehung nicht finden. Versucht, die folgenden, die nicht funktionierte auch:

=SUMIF('Inventory'!K:K,MONTH('Inventory'!K:K)=B5,'Inventory'!M:M) 

Während eine Dreh arbeiten konnte ich auf die Registerkarte Inventar ohne sich Gedanken über erfrischend der Benutzer in der Lage sein nur noch hinzufügen wollte.

Antwort

0

Erstellen Sie Start- und Enddaten aus dem numerischen Monat in B5, anstatt zu versuchen, die Daten in Spalte K in numerische Ganzzahlen umzuwandeln.

=SUMIFS('Inventory'!M:M, 'Inventory'!K:K, ">="&date(2017, B5, 1), 'Inventory'!K:K, "<"&date(2017, B5+1, 1)) 

Hinweis SUMME, nicht SUMME; Sie haben eine etwas andere Syntax.

Alternativ SUMPRODUCT verwenden.

Sie sollten die vollständigen Spaltenreferenzen mit SUMPRODUCT verkleinern oder bereit sein, Rechenverzögerung zu erleiden.

=SUMPRODUCT((MONTH('Inventory'!K2:index('Inventory'!K:K, match(1e99, 'Inventory'!K:K)))=B5)*('Inventory'!M2:index('Inventory'!M:M, match(1e99, 'Inventory'!K:K)))) 
0

abhängig, was Sie brauchen, aber hier sind zwei Optionen, die Sie ist zu einem Jahr Monate im Wert nicht einschränken:

1) Erstellen Sie eine Hilfsspalte neben 'Inventory'!K:K den Monat zu extrahieren, dann schreiben Ihre SUMIF mit dieser Spalte als Bereich.

2) Verwenden Sie SUMPRODUCT wie so:

=SUMPRODUCT((MONTH('Inventory'!K:K)=B5)*'Inventory'!M:M) 
Verwandte Themen