[Office] Wer kann mir bei Excel Prob helfen?

Punkattack

assimiliert
Wer kann mir bei Excel Prob helfen?

Hi zusammen,
Chef will für die neue Firma unbedingt Lagerverwaltung in Excel. Mach ich, sach ich :angel
Da zwar nur wenige, einfache Funktionen benötigt werden, das ganze aber schon komfortabel und recht narrensicher sein soll, war es mehr Arbeit als ich dachte.
Zum Problem:
In der Rechnung soll die Kundennummer automatisch zugeordnet werden, wenn der Name schon in der Kundendatei ist.
Realisiert habe ich das für einen Kunden mit dieser Formel:
=WENN(D10=Kunden!$B2;Kunden!$B7;0)
26 weitere passen noch in die Formelzeile.
Ich hätte aber gern mehr als 27 Kunden. Die Formel siehe unter der Sig.
Weiss jemand eine elegantere Lösung?
Danke
Punk
Code:
=WENN(D10=Kunden!$B2;Kunden!$B7;0)+WENN(D10=Kunden!$B10;Kunden!$B15;0)+WENN(D10=Kunden!$B18;Kunden!$B23;0)+WENN(D10=Kunden!$B26;Kunden!$B31;0)+WENN(D10=Kunden!$B34;Kunden!$B39;0)+WENN(D10=Kunden!$B42;Kunden!$B47;0)+WENN(D10=Kunden!$B50;Kunden!$B55;0)+WENN(D10=Kunden!$B58;Kunden!$B63;0)+WENN(D10=Kunden!$B66;Kunden!$B71;0)+WENN(D10=Kunden!$B74;Kunden!$B79;0)+WENN(D10=Kunden!$B82;Kunden!$B87;0)+WENN(D10=Kunden!$B90;Kunden!$B95;0)+WENN(D10=Kunden!$B98;Kunden!$B103;0)+WENN(D10=Kunden!$B106;Kunden!$B111;0)+WENN(D10=Kunden!$B114;Kunden!$B119;0)+WENN(D10=Kunden!$B122;Kunden!$B127;0)+WENN(D10=Kunden!$B130;Kunden!$B135;0)+WENN(D10=Kunden!$B138;Kunden!$B143;0)+WENN(D10=Kunden!$B146;Kunden!$B151;0)+WENN(D10=Kunden!$B154;Kunden!$B159;0)+WENN(D10=Kunden!$B162;Kunden!$B167;0)+WENN(D10=Kunden!$B170;Kunden!$B175;0)+WENN(D10=Kunden!$B178;Kunden!$B183;0)+WENN(D10=Kunden!$B186;Kunden!$B191;0)+WENN(D10=Kunden!$B194;Kunden!$B199;0)+WENN(D10=Kunden!$B202;Kunden!$B207;0)+WENN(D10=Kunden!$B210;Kunden!$B215;0)
 
Zuletzt bearbeitet von einem Moderator:
Das ist mal ein Parade-Beispiel wie man nicht programmieren soll.

Schau' dir mal den SVERWEIS an. In der Excel-Hilfe ist der sogar mit einem Beispiel erklärt.



xerxes333
 
...und der Beitrag von xerxes333 ist mal ein Parade-Beispiel wie man nicht antworten soll. :ROFLMAO:

Wie man der Formel in Punky's Eröffnungsbeitrag entnehmen kann,
werden die Kunden-Namen in einem Tabellenblatt namens "Kunden"
durchsucht und - falls vorhanden - auf deren zugehörige Kunden-Nummer
(die sich immer 5 Zeilen unter dem Kundennamen befindet) verwiesen.

Da sich aber Kundenname und Kundennummer in derselben Spalte befinden,
wird man mit SVERWEIS() nicht weit kommen... :D

Mein Lösungs-Ansatz:

=INDEX(Kunden!B2:B100;VERGLEICH(D10;Kunden!B2:B100;0)+5)

wobei

1. im Tabellenblatt, wo diese Rechnung steht, der Kundenname in der Zelle D10 ist

2. Kunden!B2:B100 der Bereich ist,
wo im Tabellenblatt "Kunden" in Spalte B
die Kundennamen und jeweils 5 Zeilen darunter die zugehörigen Kundennummern stehen.
________________________________

Ich schrieb "Lösungsansatz", weil die Formel VERGEICH()
bei nicht gefundenem Kunden den Wert #NV zurückliefert
- anstatt einer informativen Meldung
(wie etwa "Kunde noch nicht angelegt, daher keine Kundennummer...") :D
 
Hallo Wolfi,
recht herzlichen Dank. Deine Lösung klappt perfekt :)
Und die Ausgabe #NV ist doch prima, heisst Nicht Vorhanden :D
Macht weiter so.
Gruß
Punk
 
@Punkattack

Noch ein Nachsatz:

Da sich die Anzahl der Zeilen in Spalte B des "Kunden"-Tabellenblattes
mit jedem neu angelegten Kunden andauernd vergrössert, würde ich
diese gesamte Spalte B mit einem Namen belegen und diesen in der
o.a. Formel (anstatt Kunden!B2:B100) verwenden.


Für die gesamte Spalte Kunden!B einen Namen vergeben:

1. gesamte Spalte B im Tabellenblatt "Kunden" markieren
2. Im Menü Einfügen -> Namen.. -> Definieren...
und einen Namen hinzufügen (z.B. Kunden_Namen)
3. die Formel lautet dann:
=INDEX(Punky.xls!Kunden_Namen;VERGLEICH(D10;Kunden_Namen;0)+5)

siehe auch Beispiel im Anhang...
 

Anhänge

  • Punky.zip
    3,5 KB · Aufrufe: 234
Hallo Wolfi,
danke schön. Ich habe einfach die Spalte B bis 2000 vergleichen lassen, sollte reichen. Wobei deine Lösung ja nochmal eleganter aussieht. Werde noch etwas rumprobieren.
Vielleicht hast du für meine nächste Frage ja auch eine Lösung.

Ich möchte in der Rechnung einen Button oder Pulldownmenü einbauen(welcher beim Ausdruck nicht sichtbar ist), wo ich auswählen kann, ob Verkaufspreis 1,2 oder 3, die je in einer Spalte stehen genommen wird oder ob ich den Preis von Hand eintragen will.
Gibts sowas?
Danke
Punk
 
Aha, der Punky wieder... :D

Was du vermutlich meinst, sind benutzerdefinierte zellbezogene DropDown-Auswahl-Listen.
Diese sind in Excel 2003 und älteren Versionen leider nicht sonderlich flexibel.

Erst Excel 2007 hat sehr flexible Auswahl-Listen,
die eventuell deine Erwartungen erfüllen könnten.


Daher musst du wohl

- entweder eine deinen Erwartungen entsprechende Eingabe-Maske
mit dem Visual-Basic-Editor basteln um damit dessen Ergebnisse
im Arbeitsblatt "Rechnungen" in den entsprechenden Zellen
zu erhalten

- oder einfach im Arbeitsblatt "Rechnungen" ein entsprechendes Eingabe-Feld/Zelle
anlegen, dessen Ergebnis dann im Bereich der eigentlichen Rechnung angezeigt
wird (siehe Beispiel im Anhang).


Was den Ausdruck der Rechnung anbelangt:

Ein individueller Druck-Bereich im Arbeitsblatt "Rechnungen"
lässt sich in Excel ja ohnehin definieren:

Menü Datei -> Druckbereich -> Druckbereich festlegen

Wenn du das Dokument abspeicherst,
wird dieser Druckbereich ebenfalls gespeichert.
 

Anhänge

  • Punky2.zip
    4,4 KB · Aufrufe: 230
Oben