2016-07-11 14 views
0

Ich habe eine ‚Item-Demand‘ Tabelle, die drei verschiedene Dinge haben:Summenwerte in Spalten mit variabler Anzahl der Spalten

Eine Spalte mit der Teilenummer eines Objekts, mehrere Spalten mit Daten wie Titel und Mengen als Werte in ihnen.

Part Number | Date1 | Date2 | Date3 | Date4 ... | Lead Time 

2003032.........201.........63.......54..........63.............3 

2145631..........54.........21........53..........21............2 

4563214.........23..........121.......12.........31.............5 

Aber hier ist, was ich tun muss und ich habe keine Ahnung, wie.

Also wenn Vorlaufzeit 3 ​​Monate ist, muss ich das heutige Datum und Summe 3 Monate nehmen, als wählen Sie die Spalte, die dem Ergebnis dieser Summe entsprechen (Nur der gleiche Monat nicht das gleiche Datum), als den Wert nehmen in dieser Spalte und allen Spalten davor und Summe alle.

Ich bin mir nicht sicher, ob ich mir selbst klar gemacht habe, tut mir leid, wenn ich es nicht getan habe. Ich werde versuchen, weiter zu erklären, wenn es irgendwelche Fragen gibt.

Hoffe jemand könnte helfen.

Excel 2002

+0

Willkommen auf der Webseite! Was hast du bisher versucht? In der [Tour] (https://Stackoverflow.com/tour) findest du weitere Informationen zu Fragen, die wahrscheinlich effektive Antworten hervorbringen. – cxw

+0

Verwenden Sie eine Array-Formel für diese oder Sumif –

+0

Ich brauche dies in VBA, ive gemacht ein Makro so weit, dass Informationen aus SAP, und analysiert einige Daten, aber ich bin davon abhängig, weiter zu gehen. –

Antwort

0

Fim. Sie brauchen keine VBA für Ihre Situation, die Formeln SUM und OFFSET sollten tun. Ich habe ein sehr einfaches Blatt, um deutlich zu machen:

Printscreen

+0

Ich denke, das würde helfen, ich werde es ausprobieren. Aber ich deine Tabelle, warum sind 3 verschiedene Daten für "TODAY DATE" –

+0

Es ist ein Imput zu testen, ob die Formel mit variablen Daten in Ordnung wäre. Sie können die Werte in dieser Spalte für = HEUTE() ändern. –

0

vorausgesetzt

  • Daten in aufsteigender Reihenfolge von links nach rechts

  • Daten sind in zusammenhängendem Bereich (keine Leerzeichen zwischen ihnen)

  • Daten sind die einzigen Zahlen in ihrer Zeile

  • Laufzeiten sind die einzigen Zahlen in ihre Spalte

dann können Sie diese

versuchen
Option Explicit 

Sub main() 
    Dim cell As Range, datesRng As Range 
    Dim jMonth As Variant 
    Dim mySht As Worksheet: Set mySht = Worksheets("leadtimes") '<--| change "leadtimes" with your actual sheet name 
    Dim leadCol As String: leadCol = "N" '<--| change "N" to your actual lead times column index 

    With mySht 
     Set datesRng = .Rows(1).SpecialCells(xlCellTypeConstants, xlNumbers) 
     For Each cell In .Columns(leadCol).SpecialCells(xlCellTypeConstants, xlNumbers) 
      jMonth = Application.Match(CLng(DateAdd("m", cell.Value, Date)), datesRng, 1) 
      If Not IsError(jMonth) Then cell.offset(, 1) = WorksheetFunction.Sum(datesRng.offset(cell.Row - datesRng.Rows(1).Row).Resize(, jMonth)) 
     Next cell 
    End With 
End Sub 
+0

@ L.Fim: Hast du das versucht? – user3598756

Verwandte Themen