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.

Artikelnummer automatisch generieren durch verschiedene Abfragen
#1
Einen wunderschönen guten Tag zusammen,

Ich habe ein kleines Problem mit dem ich nicht weiter komme. 

Es soll in einer Excel Tabelle eine Artikelnummer generiert werden mit Datenabfragen aus verschiedenen Datenblättern

Das ganze soll dazu dienen im Ehrenamt eine Material / Inventarliste mit Artikelnummern zu versehen wobei die Artikelnummer ein "lesbarer Code" sein soll.


ich habe vier Datenblätter in der Tabelle:

1. mit Lagerorten: 2 Spalten (Nummer und Name)
2. mit Personal: 2 Spalten (Nummer und Name)
3. mit Artikelgruppen: 2 Spalten (Nummer und Artikel)


in dem vierten Datenblatt wähle ich nun über Dropdown den Lagerort, die Person und den Artikel aus. ergänze in anderen Spalten noch ggf. Größe und Seriennummern sowie andere Daten welche für die Anfrage nicht relevant sind....


Frage: nun soll aus den 3 ausgewählten Feldern eine Artikelnummer generiert werden...

z.B.: 

zuerst der Lagerort - die dazugehörige Nummer 04
dann die gewählte Person - 08
dann die Artikelgruppe - 03

als letztes soll geprüft werden ob es bis dahin diese Kombination schon gibt und eine Laufende zweistellige Nummer folgen.


Quasi Ergebnis

04080301

mit ein wenig Hintergrundwissen kann ich dann, wenn ich den Schuh in der Hand habe ablesen, 
Lager IAT, Besitzer Schindler, Tauchschuh, der Erste

Tabelle Inventar WRG


Angehängte Dateien
.xlsx   Inventar WRG.xlsx (Größe: 21,25 KB / Downloads: 7)
Antworten Top
#2
Hi,

so?

Zuordnung

ABCDEF
1LagerortPersonalArtikelGrößeSeriennummerArtikelnummer
2SprinterBöhm, AndreasFWR Handschuhe58123456041105
Formeln der Tabelle
ZelleFormel
F2=TEXT(INDEX(htbl_Lagerorte!$A$1:$A$20;VERGLEICH(A2;htbl_Lagerorte!$B$1:$B$20;0));"00")&TEXT(INDEX(htbl_Personal!$A$1:$A$20;VERGLEICH(B2;htbl_Personal!$B$1:$B$20;0));"00")&TEXT(INDEX(htbl_Artikel!$A$1:$A$20;VERGLEICH(C2;htbl_Artikel!$B$1:$B$20;0));"00")

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Hallo,

in Deinem Fall würde ich in den drei Tabellen mit den Listen die Spalten vertauschen, dann könntest Du mit einem Sverweis arbeiten, dann wird die Formel deutlich kürzer:


Code:
=TEXT(SVERWEIS(A2;htbl_Lagerorte!A:B;2;0);"00")&TEXT(SVERWEIS(B2;htbl_Personal!A:B;2;0);"00")&TEXT(SVERWEIS(C2;htbl_Artikel!A:B;2;0);"00")&TEXT(ZÄHLENWENNS($A$1:A2;A2;$B$1:B2;B2;$C$1:C2;C2);"00")


.xlsx   Inventar WRG.xlsx (Größe: 11,89 KB / Downloads: 11)
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • Schellist
Antworten Top
#4
Hallo,

noch eine Alternative mit VBA:


Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim WSF As WorksheetFunction: Set WSF = Application.WorksheetFunction
Dim L_Nr As String
Dim Per As String
Dim Art As String
Dim Art_Nr As String
If Target.Column <> 6 Then Exit Sub
Target.NumberFormat = "@"
With Sheets("htbl_Lagerorte").UsedRange
   L_Nr = Format(WSF.Index(.Columns(1), WSF.Match(Target.Offset(, -5), .Columns(2), 0)), "0#")
End With
With Sheets("htbl_Personal").UsedRange
   Per = Format(WSF.Index(.Columns(1), WSF.Match(Target.Offset(, -4), .Columns(2), 0)), "0#")
End With
With Sheets("htbl_Artikel").UsedRange
   Art = Format(WSF.Index(.Columns(1), WSF.Match(Target.Offset(, -3), .Columns(2), 0)), "0#")
End With
Art_Nr = L_Nr & Per & Art
For i = 1 To Target.Row - 2
   If Left(Target.Offset(-i).Value, 6) = Art_Nr Then Anz = Anz + 1
Next i
Target.Value = Art_Nr & Format(Anz + 1, "0#")
End Sub


mfg
Antworten Top
#5
(07.11.2017, 15:46)BoskoBiati schrieb: Hallo,

in Deinem Fall würde ich in den drei Tabellen mit den Listen die Spalten vertauschen, dann könntest Du mit einem Sverweis arbeiten, dann wird die Formel deutlich kürzer:


Code:
=TEXT(SVERWEIS(A2;htbl_Lagerorte!A:B;2;0);"00")&TEXT(SVERWEIS(B2;htbl_Personal!A:B;2;0);"00")&TEXT(SVERWEIS(C2;htbl_Artikel!A:B;2;0);"00")&TEXT(ZÄHLENWENNS($A$1:A2;A2;$B$1:B2;B2;$C$1:C2;C2);"00")

1000 Dank!!! genau so wie ich es mir vorgestellt habe! (mit meinem Leichenhaften wissen)
Antworten Top
#6
Hi,

Leichen oder Laien?
Angel
Antworten Top
#7
(08.11.2017, 14:50)Rabe schrieb: Hi,

Leichen oder Laien?
Angel

?‍♂️ es lebe die Autokorrektur
Antworten Top


Gehe zu:


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