Anzeige
Archiv - Navigation
1640to1644
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datum Ausgabe der letzten Preiserhöhung

Datum Ausgabe der letzten Preiserhöhung
06.09.2018 07:30:33
one
Hallo zusammen,
wie finde ich in der unten angegebene Tabelle heraus, in welchem Monat es eine Preisveränderung gab. Da es auch Monate gibt, in der kein Artikel verkauft wurde, dürften die 0-Werte nicht berücksichtigt werden.
Artikel Jan 18 Feb 18 Mrz 18 Apr 18 Mai 18 Jun 18 Preisanpassung im Monat
A 100 100 100 100 100 100 ? = keine
B 50 50 60 60 60 60 ? = Mrz 18
C 10 9 9 0 9 9 ? = Feb 18
Vielen Dank und beste Grüße

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
mit Index und Vergleich ...
06.09.2018 08:42:34
Matthias
Hallo
Schau Dir mal Index und Vergleich an
Gruß Matthias
AW: Datum Ausgabe der letzten Preiserhöhung
06.09.2018 08:59:18
UweD
Hallo
mit Hilfsspalten?

Tabelle1
 ABCDEFGHIJKLM
1ArtikelJan 18Feb 18Mrz 18Apr 18Mai 18Jun 18H1H2H3H4H5Preisanpassung im Monat
2A100100100100100100     Keine
3B505060606060 Mrz 18   Mrz 18
4C1099099Feb 18 Apr 18Mai 18 Feb 18

verwendete Formeln
Zelle Formel Bereich N/A
H2:L4=WENNFEHLER(INDEX($A$1:$G$1;(C2<>B2)*SPALTE(C1));"")  
M2:M4=WENN(MIN(H2:L2)=0;"Keine";MIN(H2:L2))  
http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://Hajo-Excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 25.14 einschl. 64 Bit


LG UweD
Anzeige
AW: Datum Ausgabe der letzten Preiserhöhung
07.09.2018 07:46:08
one
Hallo
Danke für die Antwort, funktioniert prima.
wohl nur mit Hilfszeile
06.09.2018 08:59:55
WF
Hi,
in B1 bis M1 stehen die Monate
in B2 bis M2 die Preise (auch mehrere Nullen hintereinander)
in B3 (Hilfszeile) steht:
=VERWEIS(2;1/($B2:B20);$B2:B2)
bis N3 kopieren
Das Ergebnis ist die Arrayformel:
{=INDEX(B1:M1;MIN(WENN(B3:M3-C3:N30;SPALTE(B1:M1))))}
Bei mehreren Änderungen wird's komplizierter mit KKLEINSTE ...
Salut WF
AW: wohl nur mit Hilfszeile
07.09.2018 07:46:25
one
Hallo
Danke für die Antwort, funktioniert prima.
AW: Datum Ausgabe der letzten Preiserhöhung
06.09.2018 11:19:08
Toastie
Also... Ich habe leider so gut wie keine VBA Kenntnisse und habe deine Anfrage eigentlich nur als Übung für mich persönlich gesehen. Aber da der Programmcode tatsächlich funktioniert möchte ich ihn dir zur Verfügung stellen. Achtung: Die Zellen mit dem Wert "0" ersetze ich durch den Wert des Vormonats. Sollte eigentlich kein Problem sein, oder doch?
Bevor mich jetzt die ganzen Coding-Experten in der Luft zerreisen:
- Ja, mir ist vollkommen bewusst dass das schäbig programmiert ist
- Ich bin ein blutiger Anfänger und reiner Autoditakt aber für jeden freundlichen Hinweis sehr dankbar!
- Ich steh offensichtlich auf viele Variablen...
Viele Grüße
Toastie
Sub one()
Dim veraenderung As Boolean
lz = Cells(Rows.Count, 1).End(xlUp).Row
ls = Cells.End(xlToRight).Column
Cells(1, ls + 1).Value = "Preisanpassung im Monat"
For aktz = 2 To lz
For akts = 3 To ls - 1
If Cells(aktz, akts) = Cells(aktz, akts - 1) Or Cells(aktz, akts) = 0 Then
Cells(aktz, akts) = Cells(aktz, akts - 1)
If veraenderung = False Then
Cells(aktz, ls + 1) = "keine"
End If
Else
If Cells(aktz, akts - 1)  0 Then
Cells(aktz, ls + 1) = Cells(1, akts)
veraenderung = True
End If
End If
Next akts
veraenderung = False
Next aktz
End Sub
Falls das alles Bulls%&t ist, dann bitte gleich wieder löschen.
Anzeige
AW: Datum Ausgabe der letzten Preiserhöhung
06.09.2018 11:23:11
Toastie
Achja, zwei Hinweise noch:
1.) Die Spalte "Preisanpassuung im Monat" wird automatisch eingefügt. D.h. bevor du das Makro ausführst hat deine Tabelle nur die Artikel- und die Monatsspalten
2.) Das Datum und die Formatierung der letzten Spalte musst du noch manuell machen
AW: Datum Ausgabe der letzten Preiserhöhung
06.09.2018 12:33:54
Toastie
Huch, kleiner Bug in der Auswertung der letzten Spalte:
Sub one()
Dim veraenderung As Boolean
lz = Cells(Rows.Count, 1).End(xlUp).Row
ls = Cells.End(xlToRight).Column
Cells(1, ls + 1).Value = "Preisanpassung im Monat"
For aktz = 2 To lz
For akts = 3 To ls
If Cells(aktz, akts) = Cells(aktz, akts - 1) Or Cells(aktz, akts) = 0 Then
Cells(aktz, akts) = Cells(aktz, akts - 1)
If veraenderung = False Then
Cells(aktz, ls + 1) = "keine"
End If
Else
If Cells(aktz, akts - 1)  0 Then
Cells(aktz, ls + 1) = Cells(1, akts)
veraenderung = True
End If
End If
Next akts
veraenderung = False
Next aktz
End Sub

Anzeige
AW: Datum Ausgabe der letzten Preiserhöhung
07.09.2018 07:51:10
one
Hallo
Danke für die Antwort, bekomme ein Laufzeitfehler 1004
in Zeile Cells(1, ls + 1).Value = "Preisanpassung im Monat".
Ich habe bereits eine Lösung. Trotzdem vielen Dank

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige