| |
| Materialien für den 3D-Druck im Hochtemperaturbereich, eine Pressemitteilung
|
Autor
|
Thema: sprache tauschen, sverweis (3661 mal gelesen)
|
matthias s Mitglied Ingenieur
Beiträge: 32 Registriert: 31.01.2005
|
erstellt am: 31. Jan. 2005 11:59 <-- editieren / zitieren --> Unities abgeben:
Hallo, diesen Beitrag hatte ich schon einmal veröffentlicht (an falscher Stelle) und eine zufriedenstellende Antwort bekommen! Danke! Jetzt möchte ich die Funktion erweitern und brauche noch einmal Eure Hilfe. Original-Problemschilderung: ich suche nach einer Möglichkeit in Excel mehrsprachige (sich automatisch regenerierende) Ersatzteilelisten zu erstellen. Dazu meine Idee: Es muss es eine Datei geben, in der alle Artikelnummern die Bezeichnung und die Übersetzung gelistet sind. So z.B. Wörterbuch.xls: Artikelnummer Bezeichnung Übersetzung 12354 Schraube screw 21456 Ventil valve 32478 Schlauch tube 12244 Scheibe washer 21566 feder spring 32467 Halter retainer usw. Auf diese Datei muss die maschinenspezifische Ersatzteileliste zurückgreifen und anhand der Artikelnummer die jeweilige Übersetzung eintragen (nur die Artikelnummer wird vorgegeben). So z.B. Ersatzteileliste.xls: 12244 --> Scheibe washer 21456 --> Ventil valve Dabei muss die Reihenfolge der Artikelnummern egal sein. Kann man das mit Excel realisieren? ______________________________________________________________________ Lösung die Funktion "sverweis". Mit dieser Funktion konnte ich das Problem lösen und bin schwer beeindruckt. Da ich mehrere Sprachen verwalten will (ca. 10) müsste ich immer in die Formel gehen und den Spaltenindex (je nach Sprache) eingeben. Ist es möglich eine Eingabeoberfläche zu erstellen, in der ich die Sprache eingebe und dann hinter der Artikelnummer die entsprechende Sprache erhalte? Z.B. 1 Deutsch 2 Englisch 3 Polnisch usw. Wäre es auch möglich 2 Sprachen hinter einer Artikelnummer zu listen? Danke Euch! Matthias
------------------ Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pablo Mitglied Techniker
Beiträge: 453 Registriert: 23.01.2002 Win10 Office 365 SE 2020
|
erstellt am: 31. Jan. 2005 13:12 <-- editieren / zitieren --> Unities abgeben: Nur für matthias s
|
pablo Mitglied Techniker
Beiträge: 453 Registriert: 23.01.2002
|
erstellt am: 31. Jan. 2005 13:20 <-- editieren / zitieren --> Unities abgeben: Nur für matthias s
ich war schlampig, du musst =WVERWEIS(C1;Liste!$B$1:$F$21;$B2+1) in Ausgabe C2 in =WVERWEIS(C$1;Liste!$B$1:$F$21;$B2+1) umbenennen und nach unten kopieren, ebenfalls in Zelle D2 ...D1.... in D$1. pablo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 31. Jan. 2005 13:43 <-- editieren / zitieren --> Unities abgeben: Nur für matthias s
|
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 31. Jan. 2005 17:40 <-- editieren / zitieren --> Unities abgeben: Nur für matthias s
|
matthias s Mitglied Ingenieur
Beiträge: 32 Registriert: 31.01.2005
|
erstellt am: 01. Feb. 2005 07:34 <-- editieren / zitieren --> Unities abgeben:
Hallo und Danke an Euch, ich habe nicht sehr viel Excel-Erfahrung. Könntet Ihr mir bitte sagen, wofür die einzelnen Register stehen und wozu? mit_code ohne_code blatt für verweis Index ist die "Benutzeroberfläche" und "data" die Liste, welche abgefragt wird? Wie kann ich weitere Sprachen hinzufügen und wofür steht der Befehl "Index". Danke für Eure Geduld. Matthias ------------------ Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rainberg Mitglied
Beiträge: 147 Registriert: 14.01.2005
|
erstellt am: 01. Feb. 2005 07:58 <-- editieren / zitieren --> Unities abgeben: Nur für matthias s
Hallo Matthias, nur mal so ein Tipp. Excel lässt in den meisten Fällen für ein Problem mehrere Lösungsmöglichkeiten zu, deshalb hast du auch mehrere erhalten, die dich nun etwas verwirren. Es wäre vielleicht besser du lädtst mal deine Datei hoch, dann kann man dort die Formeln eintragen und du hast dann das Ergebnis was du brauchst und wie du es auch verstehst. ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pablo Mitglied Techniker
Beiträge: 453 Registriert: 23.01.2002 Win10 Office 365 SE 2020
|
erstellt am: 01. Feb. 2005 08:34 <-- editieren / zitieren --> Unities abgeben: Nur für matthias s
|
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 01. Feb. 2005 08:48 <-- editieren / zitieren --> Unities abgeben: Nur für matthias s
hmm, da haben wir es alle wohl zu gut gemeint ich ging davon aus, wer mit Sverweis() umgehen kann, für den dürfte es dann kein Problem darstellen - so sorry - -ich versuche immer Zellen auf die meine Formeln zugreifen zum besseren Verständnis einzufärben, damit man weiss wie die Bereiche deklariert sind- prinzipiell, deine Liste mit den Artikelnummer und Bezeichnungen in der jeweiligen Sprache sollte sich auf einem seperaten Excelblatt befinden, auf die du dann mittels einer Abfrage (Sverweis(), Wverweis(), Index() etc zugreifen kannst umd dann das Ergebnis aus der Matrix herauszuholen. Startrek hat so eine Liste zb. in dem Excelblatt 'data' und hat diesen Bereich mit einem Namen definiert (kann man über das Menue machen oder gleich in dem Eingabefeld in dem die Zellkoordinate angezeigt wird (A7, B5, etc.), dies erleichtert einen manchmal die Formelzusammenstellung, da dann nicht $A$1:$G$6, sonder eine Zelle oder Bereich als eine erklärende Variable definiert ist. Bsp. Zelle A1 ist dein Guthaben, B1 deine Ausgaben, C1 = das was übrigbleibt normalerweise steht in C1 dann =A1-B1 benennt man Zelle A1 in Guthaben und B1 in Ausgaben dann kann man in C3 auch so rechnen =Guthaben-Ausgaben macht dann das Ganze etwas plastischer. rainbergs Vorschlag die Mappe mal hochzuladen ist sicherlich nicht verkehrt gruss Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthias s Mitglied Ingenieur
Beiträge: 32 Registriert: 31.01.2005
|
erstellt am: 01. Feb. 2005 09:34 <-- editieren / zitieren --> Unities abgeben:
Danke für die Erklärungen. Ich werde die Befehle nachvollziehen und diese auf meine Anwendung umsetzen. Danach werde ich meinen Entwurf mit dem konkreten Beispiel hochladen. Bis dann. Gruß aus Mecklenburg! ------------------ Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthias s Mitglied Ingenieur
Beiträge: 32 Registriert: 31.01.2005
|
erstellt am: 01. Feb. 2005 13:53 <-- editieren / zitieren --> Unities abgeben:
Hallo, vielen Dank für den Hinweis mit dem uploaden. So hättet Ihr gleich meine Excel-Kenntnisse abchecken können. Anbei also nun mein Erstentwurf mit ausführlichen Kommentaren. Ich denke, dass die Befehle "Bereich" und "Index" für mich interessant sind. Ich weiß im Moment eben nur nicht wie man sie anwendet. Nur "blind" Werte eingeben, reicht mir nicht aus. Danke und Gruß Matthias ------------------ Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthias s Mitglied Ingenieur
Beiträge: 32 Registriert: 31.01.2005
|
erstellt am: 01. Feb. 2005 13:54 <-- editieren / zitieren --> Unities abgeben:
Hallo, vielen Dank für den Hinweis mit dem uploaden. So hättet Ihr gleich meine Excel-Kenntnisse abchecken können. Anbei also nun mein Erstentwurf mit ausführlichen Kommentaren. Ich denke, dass die Befehle "Bereich" und "Index" für mich interessant sind. Ich weiß im Moment eben nur nicht wie man sie anwendet. Nur "blind" Werte eingeben, reicht mir nicht aus. Danke und Gruß Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rainberg Mitglied
Beiträge: 147 Registriert: 14.01.2005
|
erstellt am: 01. Feb. 2005 15:55 <-- editieren / zitieren --> Unities abgeben: Nur für matthias s
Hallo Matthias, anbei mein Lösungsvorschlag. Ich weiß allerdings nicht, ob diese Lösung sinngemäß schon in den anderen Vorschlägen enthalten war, da ich nicht hinein geschaut habe.
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthias s Mitglied Ingenieur
Beiträge: 32 Registriert: 31.01.2005
|
erstellt am: 01. Feb. 2005 16:29 <-- editieren / zitieren --> Unities abgeben:
Ja Rainer, so habe ich mir das schon vorgestellt. Jetzt muss ich nur noch mal nachvollziehen, was das im einzelnen bedeutet: =WENN(ISTNV(SVERWEIS($B8;Daten;VERGLEICH(D$2;Sprache;0)+1;0));"";SVERWEIS($B8;Daten;VERGLEICH(D$2;Sprache;0)+1;0)) Bzw. wie die ganze Geschichte im einzelnen funktioniert. Vor allem die Bereiche etc. muss ich mir mal zu vorknöpfen. Ich weiß im Moment nicht wo diese definiert werden. Also, danke. Matthias ------------------ Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rainberg Mitglied
Beiträge: 147 Registriert: 14.01.2005
|
erstellt am: 01. Feb. 2005 17:20 <-- editieren / zitieren --> Unities abgeben: Nur für matthias s
Hallo Matthias, normalerweise reicht schon das =SVERWEIS($B8;Daten;VERGLEICH(D$2;Sprache;0)+1;0) Der vordere Formelteil mit der Funktion ISTNV() sichert ab, dass keine Fehlermeldung kommt, wenn das Suchkriterium in einer der beiden Tabellen nicht vorhanden ist. Man kann also die Formel nach unten kopieren auch wenn noch keine Artikel Nr. in Spalte B steht. Die definierten Bereichsnamen kannst du einsehen unter Menü > Einfügen > Namen > Definieren. Wenn du einen Namen anklickst kannst du unten unter "Bezieht sich auf:" die benutzte Formel sehen. Ich verwende hier oft die Funktion BEREICH.VERSCHIEBEN() weil man damit einen Bereich dynamisch halten kann. D. h. er passt sich immer automatisch an die Listenlänge oder - breite an. Außerdem müssen immer nur die Bereiche durchsucht werden in denen auch wirklich Daten stehen und das spart Rechenzeit. Es lohnt sich die Funktion mal in der Onlinehilfe zu studieren und vor allen damit zu basteln, dass man sie auch begreift. Weitergehende Erklärungen werde ich dazu, hier, nicht machen.
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas2DEasy Mitglied Softwareentwickler
Beiträge: 73 Registriert: 29.12.2004
|
erstellt am: 01. Feb. 2005 19:45 <-- editieren / zitieren --> Unities abgeben: Nur für matthias s
also ich mache das immer so , egal ob in c/C++ Java oder vieleicht dann auch in Java lege deine Sprachtabelle(oder datei) an schreibe eine kleine function translate (Artikelnummer return Bezeichnung) dann im eingabefeld oder Combofeld aufs onchange-Ereignis reagieren und schleife laufen lassen mit translate-funktion so brauchst du das niewieder anfassen Gruß Andreas ------------------ Nobody is perfect Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthias s Mitglied Ingenieur
Beiträge: 32 Registriert: 31.01.2005
|
erstellt am: 08. Feb. 2005 13:32 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe Rainer's Vorschlag nachvollzogen. Ich bin dabei den Vorschlag auf meine Bedürfnisse umzustricken. Um nicht jedem Kunden das "Lexikon" mitzuschicken, würde ich dies gerne in einer extra Datei ablegen. Das Verknüpfen der "aktuellen Liste" mit dem "Lexikon" bereitet mir Schwierigkeiten. Kann ich mich im Verweis überhaubt auf eine andere Datei beziehen? Wenn ja, sind die Texte in den Zellen ja nur Verknüpfungen bzw. Formeln. Das heisst, dass ich das Lexikon doch mitschicken muss. Gibt es eine Möglichkeit die Formeln durch die Werte zu ersetzen, ohne das Lexikon mitzugeben? Danke Euch! ------------------ Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tobi79 Mitglied Projektleiter / CAD-Administrator
Beiträge: 422 Registriert: 22.02.2002 in Zeilen und Spalten, kann man Daten gut verwalten :)<P>XP & Excel 2000
|
erstellt am: 08. Feb. 2005 14:16 <-- editieren / zitieren --> Unities abgeben: Nur für matthias s
Hallo 1. ja Du kannst Verweise auf andere Dokumente machen. 2. brauchen Deine Kunden nur die "eine" Sprache? Ich denke die Funktion, die Sprache auszuwählen braucht Dein Kunde nicht?! Falls das so ist, erstellst Du eine Liste mit der benötigten Sprache, selektierst und kopierst alles. Danach mit rechter Maustaste Menu aufrufen (auf dem selektierten Bereich) und "Inhalte einfügen - Werte" wählen. Dann werden nur die effektiv angezeigten Werte in die Zellen eingefügt und die Verknüpfung aufgehoben. Wars das was Du meintest? Gruss ------------------ Tobi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthias s Mitglied Ingenieur
Beiträge: 32 Registriert: 31.01.2005
|
erstellt am: 08. Feb. 2005 14:52 <-- editieren / zitieren --> Unities abgeben:
1. ja Du kannst Verweise auf andere Dokumente machen. MATTHIAS: klingt gut! wie verweise ich in der formel (SVERWEIS($D94;Daten;2;0))) auf ein anderes Dokument, wenn die Daten in einem anderen Dokument liegt? (Wie Rainers Beispiel nur das Lexikon liegt in anderer Datei.) 2. brauchen Deine Kunden nur die "eine" Sprache? MATTHIAS: nein, aber nicht jeder hat alle Artikel die im Lexikon gelistet sind. Ich denke die Funktion, die Sprache auszuwählen braucht Dein Kunde nicht?! Falls das so ist, erstellst Du eine Liste mit der benötigten Sprache, selektierst und kopierst alles. Danach mit rechter Maustaste Menu aufrufen (auf dem selektierten Bereich) und "Inhalte einfügen - Werte" wählen. Dann werden nur die effektiv angezeigten Werte in die Zellen eingefügt und die Verknüpfung aufgehoben. MATTHIAS O.K. das kenne ich schon, ich dachte es gibt vielleicht eine automatische Funktion. Wars das was Du meintest? MATTHIAS Teil 2 ja. Gruss MATTHIAS: Grüßt und Dankt ------------------ Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tobi79 Mitglied Projektleiter / CAD-Administrator
Beiträge: 422 Registriert: 22.02.2002 in Zeilen und Spalten, kann man Daten gut verwalten :)<P>XP & Excel 2000
|
erstellt am: 08. Feb. 2005 15:24 <-- editieren / zitieren --> Unities abgeben: Nur für matthias s
Hallo Also nochmals zu 1: Siehe Anhang. In dieser Zeile einfach den Bereich in der anderen Datei markieren. (in dieses Fenster kommst Du, wenn du in der Formel den Cursor irgendwo auf die Teilformel "Sverweis" setzt und anschliessend das "=" links daneben drückst. [falls Du dies nicht wusstest ] ) alles klar ------------------ Tobi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthias s Mitglied Ingenieur
Beiträge: 32 Registriert: 31.01.2005
|
erstellt am: 08. Feb. 2005 17:19 <-- editieren / zitieren --> Unities abgeben:
Also nochmals zu 1: Siehe Anhang. In dieser Zeile einfach den Bereich in der anderen Datei markieren. Ja, O.K. das funktioniert. In der Formel steht nun aber immer der komplette Dateifad, unter dem das Lexikon zu finden ist. Was passiert, wenn ich den Ordner bzw. die Datei verschiebe/oder auf CD brenne? Verliere ich alle Verknüpfungen? ------------------ Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 08. Feb. 2005 17:45 <-- editieren / zitieren --> Unities abgeben: Nur für matthias s
ausprobieren aber ich empfehle die Dateien in einem Ordner zu halten, dann geht das auch mit dem Verschieben auf verschiedene Pc, Laufwerke, etc. oder du musst es ermöglichen, das jeder Kunde den gleichlautenden Zugriff auf das Verzeichnis hat. grob die 3 Fälle bezug(datenbank) und Exceldatei im selben ordner -> verschieben ohne Probleme exceldatei wird verschoben, Bezug(Datenbank) liegt fest auf einem Server -> verschieben ohne Probleme Bezug(Datenbank) wird verschoben = Error [Diese Nachricht wurde von Thomas Harmening am 08. Feb. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthias s Mitglied Ingenieur
Beiträge: 32 Registriert: 31.01.2005
|
erstellt am: 08. Feb. 2005 17:50 <-- editieren / zitieren --> Unities abgeben:
Hallo, es funktioniert soweit alles zufriedenstellend mit dem Befehl "sverweis". Jedoch habe ich einen Schwachpunkt. Trage ich im Lexikon in der linken Spalte den Wert 240778, wird die Zuordnung nicht gefunden. Schreibe und definiere ich 24 07 78 und suche nach der Übersetzung, wird der Wert gefunden. Was ist das nun wieder? ------------------ Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 08. Feb. 2005 17:59 <-- editieren / zitieren --> Unities abgeben: Nur für matthias s
|
matthias s Mitglied Ingenieur
Beiträge: 32 Registriert: 31.01.2005
|
erstellt am: 08. Feb. 2005 18:10 <-- editieren / zitieren --> Unities abgeben:
Das ist auch nicht das Problem. Wenn ich im Lexikon 240778 definiere und in meiner "aktuellen Liste" danach suche, wird der Wert gar nicht erkannt, -als sei diese Zelle leer-. Danach habe ich im Lexikon in dieser Zelle Leerzeichen eingefügt: 24 07 78 und in meiner "aktuellen Liste" nach 24 07 78 gesucht. So wurde der Wert gefunden! ------------------ Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |