Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Liste automatisch ausfüllen nur bei eingetragenen Werten
#1
Ich habe ein Tabelle ("Bestellung") in der Kunden die gewünschte Anzahl an bestellten Artikel eintragen können. Die Werte sollen dann automatisch in eine Rechnung ("Rechnung") übertragen werden. Problem sind hier die Leerzeilen der nicht bestellten Artikel, weil die Rechnung nur begrenzt groß ist. Bisher habe ich es mit KGrösste gelöst indem die eingetragenen Werte absteigen aufgelistet wurden. Problem hier ist aber, dass doppelte Werte (also wenn z.B. zweimal verschiedene Artikel 30x bestellt, dass dann der Sverweis eine Spalte weiter nicht mehr funktioniert (gibt die jeweilige Artikelnummer an). Hierbei nimmt der immer nur die erste "30" als Bezug und dann habe ich zweimal die gleiche Artikelnummer dort stehen.

Würde mich echt über eine Antwort freuen 
Mfg Roman :^)


Angehängte Dateien
.xlsx   Forum.xlsx (Größe: 14,26 KB / Downloads: 11)
Antworten Top
#2
Hallo Roman,

liste die bestellten Artikelnummern mit folgender Formel in B2:


Code:
=WENNFEHLER(AGGREGAT(15;6;Bestellung!B$2:B$99/(Bestellung!A$2:A$99>0);ZEILE(A1));"")


In A2 dann folgende Formel:
Code:
=WENN($B2="";"";INDEX(Bestellung!A:A;VERGLEICH($B2;Bestellung!$B:$B;0)))

und diese kopierst Du nach C2 und D2.

Die 4 Formeln kopierst dann nach unten.
Gruß Werner
.. , - ...
[-] Folgende(r) 1 Nutzer sagt Danke an neopa für diesen Beitrag:
  • zzRoman
Antworten Top
#3
Hallo z...,

an Einfachsten ist es in einer Hilfsspalte der Rechnung (die ausgeblendet werden kann) die genutzten Zeilennummern zu ermitteln und die Inhalte über die Indexfunktion einzutragen.


Angehängte Dateien
.xlsx   Forum-9.xlsx (Größe: 14,85 KB / Downloads: 5)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • zzRoman
Antworten Top
#4
Hallo Roman,

ein Vorschlag mit einer Hilfsspalte in "Bestellung".

Arbeitsblatt mit dem Namen 'Rechnung'
ABCD
1AnzahlArtikel-Nr.ArtikelEinzelpreis
23500001Tulpe (gelb)1,56 €
34000003Tulpe (rosa)1,56 €
45000012Goldlack4,50 €
56000028Kapuzinerkresse (rot)2,30 €
62500032Fingerhut (rosa)3,45 €
73500037Pfingstrose (rot)5,90 €
81000040Goldnessel3,30 €
9500058Tränendes Herz4,10 €
10
11
12

ZelleFormatWert
B2000001
D2_-* #.##0,00 €_-;-* #.##0,00 €_-;_-* "-"?? €_-;_-@_-1,56

ZelleFormel
A2=WENNFEHLER(INDEX(Bestellung!A:A;KKLEINSTE(Bestellung!$E:$E;ZEILE(A1)));"")
B2=WENNFEHLER(INDEX(Bestellung!B:B;KKLEINSTE(Bestellung!$E:$E;ZEILE(A1)));"")
C2=WENNFEHLER(INDEX(Bestellung!C:C;KKLEINSTE(Bestellung!$E:$E;ZEILE(B1)));"")
D2=WENNFEHLER(INDEX(Bestellung!D:D;KKLEINSTE(Bestellung!$E:$E;ZEILE(C1)));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Arbeitsblatt mit dem Namen 'Bestellung'
E
202
3
404
5
6
7
8
9
10
11
12
1313
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2929
30
31
32
3333
34
35
36
37
3838
39
40
4141
42

ZelleFormatWert
E2002
E300
E4004
E500
E600
E700
E800
E900
E1000
E1100
E1200
E130013
E1400
E1500
E1600
E1700
E1800
E1900
E2000
E2100
E2200
E2300
E2400
E2500
E2600
E2700
E2800
E290029
E3000
E3100
E3200
E330033
E3400
E3500
E3600
E3700
E380038
E3900
E4000
E410041
E4200

ZelleFormel
E2=WENN(ISTZAHL(A2);ZEILE();"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Die HS kannst du einfach ausblenden.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • zzRoman
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste