Eine art sverweis oder so

Hallo Zusammen,

ich habe folgendes Problem:

Aus Access bekomme ich eine Tabelle ins XLS-Format mit folgenden Daten:

Artikelnr. artikel preis

nun gibt mir access auch die spalten „teil“ und „EK“

Nur da ein artikel i.d.R. aus mehreren teilen besteht bekomme ich folgendes in meine Tabelle gemeldet:

Art.Nr. 4711
Artikel testware
Preis 100 €
Teil Flasche
EK 10 €

Art.Nr. 4711
Artikel testware
Preis 100 €
Teil Verschluß
EK 2 €

usw.

Also gibt er mir den Artikel bis zu 8 oder 9 mal wieder…

Nun möchte ich aber über eine Abfrage (wenn ich artikelnummer eingebe) dass alle daten ini ein Formular gefüllt werden.

Mit sverweis gibt er mir immer die Teil und EK daten aus der ersten zeile nicht aber aus der dritten und vierten und fünften usw.

Nun ist auch die Menge der Teile (also die wiederholung der Art-Nr) nicht immer gleich. Sie vareiert von 1 bis 8 oder 9

Hat einer ne idee wie ich das hinkriege?

Bin für jeden Denkanstoß dankbar…

Vielen Dank und grüße

Hi LucifersErbe,

Art.Nr. 4711
Artikel testware
Preis 100 €
Teil Flasche
EK 10 €

Art.Nr. 4711
Artikel testware
Preis 100 €
Teil Verschluß
EK 2 €
Also gibt er mir den Artikel bis zu 8 oder 9 mal wieder…
Nun möchte ich aber über eine Abfrage (wenn ich artikelnummer
eingebe) dass alle daten ini ein Formular gefüllt werden.
Mit sverweis gibt er mir immer die Teil und EK daten aus der
ersten zeile nicht aber aus der dritten und vierten und
fünften usw.
Nun ist auch die Menge der Teile (also die wiederholung der
Art-Nr) nicht immer gleich. Sie vareiert von 1 bis 8 oder 9

du könntest bei http://www.excelformeln.de nach mehrfachem Sverweis schauen.

oder hier schauen:

http://www.wer-weiss-was.de/cgi-bin/forum/showarticl…

da wird in einem Hilfsblatt jedes Vorkommen eines Wertes, z.b 4711 spaltenweise aufgelistet. Kommt er nur 2mal vor, so haben halt die Spalten 4-9 jeweils den Wert #NV.

Dieses Hilfsblatt kannst du dann auswerten.

Gruß
Reinhard

Hallo LucifersErbe,

der einfachste und beste Weg ist eine neue Abfrage in Access, die dann in Excel ausgegeben wird.

Das heißt, du bist hier im falschen Brett

Genaueres kann ich dir so jetzt auch nicht zu der Abfrage sagen, da ich deine Access-DB nicht kenne. Dazu müßte man wissen, welche Tabellen welche Daten in welcher Form enthalten

Damit wäre dann auch das Basteln in Excel überflüssig.

Gruß
Marion

Hallo,

wenn dich deine Anforderung richtig Verstanden habe reicht dir Summewenn() oder möchtest du quasi die Stückliste mit EKs?

Gruss
Nils

Gruss
Nils

Hallo Zusammen,

ich habe folgendes Problem:

Hallo,

wenn dich deine Anforderung richtig Verstanden habe reicht dir
Summewenn() oder möchtest du quasi die Stückliste mit EKs?

Gruss
Nils

Also, ich möchte in einem Excel-Sheet die Auswertung haben indem ich nur die art-nr eingebe und mir eine auflistung aller teile mit ek zurück gegeben wird.

Mein problem ist, dass ich es nciht mit einer direkten OLE-Abfrage machen kann. Die DB ist eine Acess97 DB (viele arbeiten auch noch mit 97) und ich habe office 2003 drauf! :frowning:

Also habe ich eine Abfrage gemacht, die eine liste erstellt und nach excel gibt.Bisher habe ich die teile-liste mit eks manuell eingefügt aber das muss doch auch anders gehen. Mit sverweis bekomme ich nur das erste teil mit ek aber nie die restlichen.

Die antwort von reinhard (der link) da fuinktioniert die formel nicht. bekomme immer den wert „#zahl“ zurück.

Hilfsspalte…
Hallo Mephisto (oder so ähnlich),

Was Du brauchst ist eine Hilfsspalte…
ungefähr so:

 A B C
1 hilfsspalte
2 Art. Nr 4711
3 Artikel testware
...

In A2 kommt nun die Formel
=C2&"-"&ZÄHLENWENN(C$2:C2;C2)
so erzeugst Du eine eindeutige id in Spalte A.

Als nächsten Schritt musst Du in einem Ausgabebereich S-Verweise produzieren…
Du gibst also in D2 deine gesuchte Artikelnummer an und dann z.B. drunter mit einem Befehl wie
=SVERWEIS(D2&"-1";A:C;3;FALSCH) kannst Du Dir die jeweilige Spalte raussuchen…
Wenn Du nun natürlich noch die Spalten darunter brauchst wäre es ratsam eine weitere Hilfsspalte einzufügen mit der aktuellen Zeilennummer, damit Du Dir mit dem SVERWEIS dann diese ausgeben und mit BEREICH.VERSCHIEBEN auf die richtigen Daten verweisen kannst…

Alles Klar? :wink:

Grüße
Munich

Das ist wirklich eine idee… werde ich auch versuchen.
Ansonsten bin ich im mom an einem Makro am basteln, so in der Art:

Durchsuche die Tabelle nach Art-Nr.
Wenn die art-Nr. = 4711 dann guck ob du das teil schon aufgelistet hast
wenn nein dann guck ob noch eins da ist
wenn nein dann ende
wenn noch eins da ist in die auflistung
nochmal gucken

Bin leider nicht ganz so firm im VBA - bei mir dauert sowas elendlang…

wenn da jemand nen tip hat wäre ich echt dankbar

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

würde ich nicht machen…
vba Lösungen sind für mich immer nur der letzte Weg bzw versuche ich sie nur dafür zu verwenden um es mir selbst komfortabler zu gestalten…
Wenn jemand anderes Makros verbietet funktioniert das ganze ja schliesslich nicht mehr…
Von Irritationen bei Fehlermeldungen mal ganz zu schweigen…
Deswegen führt die erste Wahl bei sowas immer über Formeln :wink:

So, habe nun folgendes probiert:

habe eine zwischenspalte eingefügt, in der ich über „verketten“ die Art-Nr mit der teilenr. zu einer eigenständigen zahl einsetze.
(zB 471110)
Aber, nun stehe ich vor dem problem, dass der sverweis eine durch verketten erzeugte zahl nicht als solche erkennt…

*sich die haare rauft* ich glaube ich machs weiter händisch…

Hi LE,

Also, ich möchte in einem Excel-Sheet die Auswertung haben
indem ich nur die art-nr eingebe und mir eine auflistung aller
teile mit ek zurück gegeben wird.

Wie soll denn die Ausgabe aussehen?

Du bekommst die Daten in einer oder zwei Spalten? als 5er -Block untereinander, mit Leerzeilen getrennt!?
Also so:

Tabelle:
F:\[SVerweisMehrfachInSpalteMitHilfsblatt2.xls]!Tabelle2
 │ A │ B │ 
───┼─────────┼───────────┤
 1 │ Art.Nr. │ 4711 │ 
 2 │ Artikel │ testware │ 
 3 │ Preis │ 100
 4 │ Teil │ Flasche
 5 │ EK │ 10
 6 │ │ 
 7 │ Art.Nr. │ 4711
 8 │ Artikel │ testware
 9 │ Preis │ 100
10 │ Teil │ verschluß
11 │ EK │ 2
12 │ │ 
13 │ Art.Nr. │ 5612
14 │ Artikel │ schnuller
15 │ Preis │ 23
16 │ Teil │ Boden
17 │ EK │ 12
18 │ │ 
19 │ Art.Nr. │ 4711
20 │ Artikel │ testware
21 │ Preis │ 100
22 │ Teil │ kappe
23 │ EK │ 34
24 │ │ 
25 │ Art.Nr. │ 5613
26 │ Artikel │ mieder
27 │ Preis │ 12
28 │ Teil │ Kurbel
29 │ EK │ 10,5
───┴─────────┴───────────┘

Soll nun die Ausgabe so aussehen oder wie anders?:

Tabelle:
F:\[SVerweisMehrfachInSpalteMitHilfsblatt2.xls]!Tabelle1
 │ A │ B │ C │ D │ 
──┼─────────┼──────────┼───────────┼──────────┤
1 │ Art.Nr. │ 4711 │ 4711 │ 4711 │ 
2 │ Artikel │ testware │ testware │ testware │ 
3 │ Preis │ 100 │ 100 │ 100 │ 
4 │ Teil │ Flasche │ verschluß │ kappe │ 
5 │ EK │ 10 │ 2 │ 34
──┴─────────┴──────────┴───────────┴──────────┘

Tabellendarstellung erreicht mit dem Code in FAQ:2363

Mein problem ist, dass ich es nciht mit einer direkten
OLE-Abfrage machen kann. Die DB ist eine Acess97 DB (viele
arbeiten auch noch mit 97) und ich habe office 2003 drauf! :frowning:

Die antwort von reinhard (der link) da fuinktioniert die
formel nicht. bekomme immer den wert „#zahl“ zurück.

Bei mir funktionierte es, aber ist nicht wichtig, denn deine Aufgabenstellung erfordert sowieso andere Formeln.

Gruß
Reinhard

Du machst nur den Fehler, dass Du einen anderen Weg gehen willst als ich Dir vorgeschlagen habe und das so nicht funktioniert…
Schick mir mal die Datei, dann mach ichs Dir wenn ich morgen Zeit finde…

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Reinhard.

Nein also meine Liste (die aus Access kommt) hat folgende spalten:

Art-Nr, artikel, VK,teile-nr., teil, teile-ek
4711, duft, 9,99, 10, flasche, 1,99
4711, duft, 9,99, 11, deckel, 0,99
4711, duft, 9,99, 20, karton, 0,20
4712, duft2, 7,99, 10, flasche, 1,86
4713, duft3, 6,99, 10, flasche, 1,76
4713, duft3, 6,99, 11, deckel, 0,76
usw.

die ausgabe soll so aussehen:

Eingabe: Art-Nr.: 4711

Ausgabe:

Teil EK
Flasche 1,99
deckel 0,99
Karton 0,20

ich hoffe ich habs jetzt so erklärt, dass man weiß was ich meine…^^

Ich danke allen, habe das problem aber gelöst.

habe in der hilfsspalte eine neue nummer mittels „verketten“ aus der art-nr und der teile-nr generiert.

Und durch ABS(verketten(Art-nr;teile-nr)) wird sie auch vom sverweis gefunden… :smile:

Gruß

Lucifers Erbe

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi LE,

Nein also meine Liste (die aus Access kommt) hat folgende
spalten:

Art-Nr, artikel, VK,teile-nr., teil, teile-ek
4711, duft, 9,99, 10, flasche, 1,99
4711, duft, 9,99, 11, deckel, 0,99
4711, duft, 9,99, 20, karton, 0,20
4712, duft2, 7,99, 10, flasche, 1,86
4713, duft3, 6,99, 10, flasche, 1,76
4713, duft3, 6,99, 11, deckel, 0,76
usw.

warum nicht gleich so, bedenke, ich(wir) sehen deine Tabelle nicht.

die ausgabe soll so aussehen:

Eingabe: Art-Nr.: 4711

Ausgabe:

Teil EK
Flasche 1,99
deckel 0,99
Karton 0,20

ich hoffe ich habs jetzt so erklärt, dass man weiß was ich
meine…^^

Hat sich verbessert, aber was soll das jetzt mit Eingabe und Ausgabe, ich kenne viele Möglichkeiten etwas in Excel einzugeben und daraufhin eine Ausgabe in unterschiedlicher Form zu erhalten.

Vielleicht meinst du das, du gibst in k.A. D12 4711 ein, dann soll in z.B. E12:F15 folgendes erscheinen:
Teil EK
Flasche 1,99
deckel 0,99
Karton 0,20

das Gleiche dann für 5603 in D16, dann soll in E16:F19 stehen
Teil EK
Flasche 2,23
deckel 1,99
Karton 0,02

Ich sehe dein Problem als lösbar an, aber mir fehlen da noch Details.

Gruß
Reinhard

Hallo LucifersErbe,

So, habe nun folgendes probiert:

habe eine zwischenspalte eingefügt, in der ich über
„verketten“ die Art-Nr mit der teilenr. zu einer
eigenständigen zahl einsetze.
(zB 471110)
Aber, nun stehe ich vor dem problem, dass der sverweis eine
durch verketten erzeugte zahl nicht als solche erkennt…

dafür gibt es die Funktion

=WERT(Text)

eine andere Möglichkeit: multipliziere den gesamten Ausdruck (z. B. 471110) mit 1

Gruß
Marion