Matrixauswertung Excel mit fortlaufender Nummer

Hallo WWWler,

ich mache zwar öfter Matrixauswertungen, aber das Problem ist für mich neu.

Ich habe eine Matrix folgenden Aufbaus:
10 Spalten, hunderte Zeilen.
In jeder Zelle steht entweder ein Text oder eine 0. Wenn ein Text drin steht hat dieser immer folgenden Aufbau: „Text+;+Zahl“ (Bsp: xxxxxxxxx;512).

Auf einem anderen Sheet steht in der Zelle A1 eine Zahl (Bsp: 512) und ich will, dass in der Zelle daneben dann der gesamte Inhalt des zu der Zahl gehörenden Feldes aus der Matrix steht (Bsp: xxxxxxxxx;512)

Wie bringe ich Excel dazu aus einer Matrix aus tausenden Zellen immer den Wert aus der Zelle mit der richtigen fortlaufenden Nummer zu finden???

HILFE!!! :smile:

Ich habe eine Matrix folgenden Aufbaus:
10 Spalten, hunderte Zeilen.
In jeder Zelle steht entweder ein Text oder eine 0. Wenn ein
Text drin steht hat dieser immer folgenden Aufbau:
„Text+;+Zahl“ (Bsp: xxxxxxxxx;512).

Auf einem anderen Sheet steht in der Zelle A1 eine Zahl (Bsp:
512) und ich will, dass in der Zelle daneben dann der gesamte
Inhalt des zu der Zahl gehörenden Feldes aus der Matrix steht
(Bsp: xxxxxxxxx;512)

Hi unreife Tomate *gg*,

warum brüllst du hier mit Hilfe rum, m.E. dürfte das derzeit nur Löw, an seiner Stelle würde ich ganz laut um Hilfe rufen wenn ich mit „dieser“ Truppe deren Spielweise wir das Vergnügen hatten zu sehen, am Donnerstag gegen Portugal antreten mußte.
Ich würde da nicht auf die Tribüne gehen sondern in eine Bar, ne Flasche Whisky bestellen und den Wirt bitten den Fernseher auszuschalten :smile:)

So, mußte sein :smile:, jetzt zu deiner Anfrage.
Zur Lösung, bzw. zur Klärung ob man das lösen kann bräuchte ich noch eine wichtige Information.
Diese Zahl, also in deinem Beispiel die 512, ist die eindeutig, also gibts die nur einmal in deiner Matrix?

Weiterhin ist es wichtig ob du eine reine Excelformellösung willst oder ob du auch eine selbstgebastelete Funktion benutzen willst und darfst.
Hinter dieser Funktion würde sich dann Vba Code verbergen, den du gar nicht verstehen mußt, du könntest ihn dann einfach wie eine normale Excelfunktion benutzen.

Also in B1:
=zeigmir(A1)
und in A1 steht 512,oder so

Gruß
Reinhard

Hi Reinhard,

Du hast natürlich Recht. Gegen die Leiden vom Jogi sind meine Probleme natürlich nicht mal ein Mückenstich… und beim posten hab ich mich auch gefragt, ob es überhaupt einen Sinn hat, sich noch mit Excel zu beschäftigen wenn das Leben ab morgen sowieso sinnlos ist… :wink: Aber man muss ja versuchen das Licht am Ende des Tunnels sehen. Auch wenn es sich dabei nur um einen ICE handelt, wie vor Kurzem ein paar Schaafe feststellen mussten!

Jetzt aber zurück zum Thema. Meine gesuchten Zahlen gibt es tatsächlich immer nur einmal. Also die 512 oder die 742 ist jeweils einzigartig.

Mit VBA hab ich noch keine Erfahrungen, daher würde ich eine Excel-Lösung bevorzugen, wenn Du mir schon die Wahl lässt. Auch im Hinblick darauf, dass ich gerne kapieren möchte, was ich da mache… muss nämlich schon morgen eine Lösung finden. Sonst hilft nur manuell schaffen… :frowning:

Dir jedenfalls schon mal vielen Dank für die schnelle Antwort!!!
Ich drück dann mal uns die Daumen, auf dass wir morgen nix
Hochprozentiges brauchen! (und mir drück ich die Daumen, dass Du weißt, wie ich das noch hinkrieg!) :smile:

Viele Grüße,
André

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

Hallo Tomate,

Du hast natürlich Recht. Gegen die Leiden vom Jogi sind meine
Probleme natürlich nicht mal ein Mückenstich… und beim
posten hab ich mich auch gefragt, ob es überhaupt einen Sinn
hat, sich noch mit Excel zu beschäftigen wenn das Leben ab
morgen sowieso sinnlos ist… :wink:

Mach keinen Quatsch, gehe zu http://www.selbstmord.de und ruf da eine der Nummern an. Naja, für Jogi wird das eng, er darf ja gar nicht während des Spiels irgendwo anrufen :smile:)

Aber man muss ja versuchen
das Licht am Ende des Tunnels sehen. Auch wenn es sich dabei
nur um einen ICE handelt, wie vor Kurzem ein paar Schaafe
feststellen mussten!

Das habe ich sowieso nicht verstanden. Für mein Verständnis hat ein Zug von zig Tonnen Eigengewicht und noch dazu die power die er durch 200 km/h kriegt eine solche Dynamik, der müßte die paar Schafe,Kühe,Elefanten von mir aus auch einen querstehenden Lkw und sogar einen Panzer so mühelos zur Seite schieben oder plattmachen daß die Fahrgäste maximal ein Ruckeln verspüren.

Aber anscheinend ist da die Physik eindeutig, wenn da was zwischen die räder der Lokomotive und den Gleisen gerät wird die Lok angehoben, wenn sie danach nicht wieder sauber aufsetzt sondern paar Zentimeter neben den Gleisen so reißt sie halt den „Rest“-Zug mit ins Verderben.

Aufgrund dieses Vorfalls habe ich mir auch so meine Gedanken gemacht. Es spielt absolut keine Rolle ob da der Schäfer einen fehler gemacht hat oder nicht. Der fakt ist die bahn hat ein Riesenschienennetz und das kann sie nicht komplett einzäunen, schon klar.

Aber Zugentglesungen zu verhindern ist ihre Pflicht. Also vorne an alle Loks sogenannte „kuhfänger“ drangebaut und fertig.
Daß das bei 2000 oder 20000 Loks viel geld kostet wenn so ein Kuhfänger aus Stahl 1000 € pro Stück kostet ist auch klar.

Leider ist die Welt böse bzw. wie sie halt ist. Der Vorstand der bahn läßt sich von kalkulatoren vorrechnen was es kostet alle Loks umzubauen und vergleicht dies dann mit den Zahlen die beziffern was denn solche Unfälle die Bahn kosten aufgrund von Schadensersatzforderugen der betroffenen Fahrgäste, dies in Bezug auf die Wahrscheinlichkeit wie oft sich ein solcher Vorfall in den nächsten 5 Jahren wiederholen könnte.

Dann kommt noch die Rechtsabteilung der bahn die sagt 30% der Ansprüche kann man abschmettern weil sich die Fahrgäste im Moment des Aufpralls nicht festklammernd in einem Sitz befanden sondern freistehend waren usw. :frowning:

Ups, hab mich verplaudert, um was gings?

Damit daß ich dir anbot ob du nun eine reine Excellöung haben willst oder eine Vba-Lösung habe ich mir einen Bärendienst erwiesen:frowning:
Denn eine vba-Lösung kann ich viel einfacher entwickeln.
Für eine reine Excelformellösung brauche ich beträchtlich mehr Aufwand, sofern ich das überhaupt hinkriege *nixweiß*

Aber das sind meine Problematiken, für dich ist etwas anderes viel wichtiger.
Eine Excelformellösung, egal wie lang die Formel wird, kannst du durch Vertehenlernen der Formel anpassen/umändern.
Ohne Vba-Kenntnisse kannste das an meiner Vba-Lösung nicht.

Dies allein sollte deine Entscheidung sein wenn ich nochmals frage, Excel- oder Vbalösung!

Gruß
Reinhard

Jetzt aber zurück zum Thema. Meine gesuchten Zahlen gibt es
tatsächlich immer nur einmal. Also die 512 oder die 742 ist
jeweils einzigartig.

Mit VBA hab ich noch keine Erfahrungen, daher würde ich eine
Excel-Lösung bevorzugen, wenn Du mir schon die Wahl lässt.
Auch im Hinblick darauf, dass ich gerne kapieren möchte, was
ich da mache… muss nämlich schon morgen eine Lösung finden.
Sonst hilft nur manuell schaffen… :frowning:

Dir jedenfalls schon mal vielen Dank für die schnelle
Antwort!!!
Ich drück dann mal uns die Daumen, auf dass wir morgen nix
Hochprozentiges brauchen! (und mir drück ich die Daumen, dass
Du weißt, wie ich das noch hinkrieg!) :smile:

Viele Grüße,
André

Ich habe eine Matrix folgenden Aufbaus:
10 Spalten, hunderte Zeilen.
In jeder Zelle steht entweder ein Text oder eine 0. Wenn ein
Text drin steht hat dieser immer folgenden Aufbau:
„Text+;+Zahl“ (Bsp: xxxxxxxxx;512).

Auf einem anderen Sheet steht in der Zelle A1 eine Zahl (Bsp:
512) und ich will, dass in der Zelle daneben dann der gesamte
Inhalt des zu der Zahl gehörenden Feldes aus der Matrix steht
(Bsp: xxxxxxxxx;512)

Hi unreife Tomate *gg*,

warum brüllst du hier mit Hilfe rum, m.E. dürfte das derzeit
nur Löw, an seiner Stelle würde ich ganz laut um Hilfe rufen
wenn ich mit „dieser“ Truppe deren Spielweise wir das
Vergnügen hatten zu sehen, am Donnerstag gegen Portugal
antreten mußte.
Ich würde da nicht auf die Tribüne gehen sondern in eine Bar,
ne Flasche Whisky bestellen und den Wirt bitten den Fernseher
auszuschalten :smile:)

So, mußte sein :smile:, jetzt zu deiner Anfrage.
Zur Lösung, bzw. zur Klärung ob man das lösen kann bräuchte
ich noch eine wichtige Information.
Diese Zahl, also in deinem Beispiel die 512, ist die
eindeutig, also gibts die nur einmal in deiner Matrix?

Weiterhin ist es wichtig ob du eine reine Excelformellösung
willst oder ob du auch eine selbstgebastelete Funktion
benutzen willst und darfst.
Hinter dieser Funktion würde sich dann Vba Code verbergen, den
du gar nicht verstehen mußt, du könntest ihn dann einfach wie
eine normale Excelfunktion benutzen.

Also in B1:
=zeigmir(A1)
und in A1 steht 512,oder so

Gruß
Reinhard

Hey, schnell am Antworten. Das find ich gut.

Nee nee, keine Angst. Die Dienste von selbstmord.de werde ich nicht benötigen. Wobei der Name der Seite schon eher nach guten Ratschlägen für den Übertritt ins Jenseits klingt,oder?

Wie dem auch sei - die Schaafe brauchen’s jedenfalls auch nicht mehr. Vielen Dank für Deine Gedanken zu dem Thema. Physik ist nicht meine Stärke. Hab mal versucht mich von der logischen Seite zu nähern… warum haben eigentlich alle Schaafe das zeitliche gesegnet? Haben die sich aufgereiht wie die Perlen auf der Schnur um alle vom ICE gekillt zu werden? Warum hat nicht wenigstens eines überlebt. Hätte auch 'ne super Schlagzeile für die Bild gegeben. Oder war allein der Luftdruck des herannahenden Zuges tödlich? Vielleicht versucht auch die Bahn zu vertuschen, das der ICE davor eine Achse verloren hat und in der Not hat man schnell ein paar Schaafe von der nahegelegenen Weide herbeigeschafft, kaltblütig ermordet und auf die Gleise drapiert… ist auch praktisch, weil dann kann man dem Schäfer die Schuld geben. Trust noone!

ääh, was war das Thema… ach ja. Da Du wieder gefragt hast, bleibe ich bei der Formellösung. Wer weiß, ob’s dafür überhaupt eine VBA-freie Lösung gibt. Wäre voll schaaf, wenn Du das hinkriegst! :smile:

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

Grüezi grüne Tomate :smile:

Ich habe eine Matrix folgenden Aufbaus:
10 Spalten, hunderte Zeilen.
In jeder Zelle steht entweder ein Text oder eine 0. Wenn ein
Text drin steht hat dieser immer folgenden Aufbau:
„Text+;+Zahl“ (Bsp: xxxxxxxxx;512).

Auf einem anderen Sheet steht in der Zelle A1 eine Zahl (Bsp:
512) und ich will, dass in der Zelle daneben dann der gesamte
Inhalt des zu der Zahl gehörenden Feldes aus der Matrix steht
(Bsp: xxxxxxxxx;512)

Wie bringe ich Excel dazu aus einer Matrix aus tausenden
Zellen immer den Wert aus der Zelle mit der richtigen
fortlaufenden Nummer zu finden???

Mit je einer Hilfsspalte und -Zeile könntest Du das wie folgt angehen; hier erstmal mit einer zehnspaltigen Matrix und den Formeln für die jewsils erste Zeile/Spalte die der Hilfe dienen. Die Formeln aus A2 und B1 also einfach nach unten/rechts ziehen und gegebenenfalls noch die Bereiche die darin geprüft werden anpassen.

Tabellenblatt: [MAPPE1]!Tabelle1
 │ A │ B │ C │ D │ E │ F │ G │ H │ I │ J │ K │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 1 │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1 │ 0 │ 0 │ 0 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 2 │ 0 │ xxxx;1 │ xxxx;21 │ xxxx;41 │ xxxx;61 │ xxxx;81 │ xxxx;101 │ xxxx;121 │ xxxx;141 │ xxxx;161 │ xxxx;181 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 3 │ 0 │ xxxx;2 │ xxxx;22 │ xxxx;42 │ xxxx;62 │ xxxx;82 │ xxxx;102 │ xxxx;122 │ xxxx;142 │ xxxx;162 │ xxxx;182 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 4 │ 0 │ xxxx;3 │ xxxx;23 │ xxxx;43 │ xxxx;63 │ xxxx;83 │ xxxx;103 │ xxxx;123 │ xxxx;143 │ xxxx;163 │ xxxx;183 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 5 │ 0 │ xxxx;4 │ xxxx;24 │ xxxx;44 │ xxxx;64 │ xxxx;84 │ xxxx;104 │ xxxx;124 │ xxxx;144 │ xxxx;164 │ xxxx;184 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 6 │ 1 │ xxxx;5 │ xxxx;25 │ xxxx;45 │ xxxx;65 │ xxxx;85 │ xxxx;105 │ xxxx;125 │ xxxx;145 │ xxxx;165 │ xxxx;185 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 7 │ 0 │ xxxx;6 │ xxxx;26 │ xxxx;46 │ xxxx;66 │ xxxx;86 │ xxxx;106 │ xxxx;126 │ xxxx;146 │ xxxx;166 │ xxxx;186 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 8 │ 0 │ xxxx;7 │ xxxx;27 │ xxxx;47 │ xxxx;67 │ xxxx;87 │ xxxx;107 │ xxxx;127 │ xxxx;147 │ xxxx;167 │ xxxx;187 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 9 │ 0 │ xxxx;8 │ xxxx;28 │ xxxx;48 │ xxxx;68 │ xxxx;88 │ xxxx;108 │ xxxx;128 │ xxxx;148 │ xxxx;168 │ xxxx;188 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
10 │ 0 │ xxxx;9 │ xxxx;29 │ xxxx;49 │ xxxx;69 │ xxxx;89 │ xxxx;109 │ xxxx;129 │ xxxx;149 │ xxxx;169 │ xxxx;189 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
11 │ 0 │ xxxx;10 │ xxxx;30 │ xxxx;50 │ xxxx;70 │ xxxx;90 │ xxxx;110 │ xxxx;130 │ xxxx;150 │ xxxx;170 │ xxxx;190 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
12 │ 0 │ xxxx;11 │ xxxx;31 │ xxxx;51 │ xxxx;71 │ xxxx;91 │ xxxx;111 │ xxxx;131 │ xxxx;151 │ xxxx;171 │ xxxx;191 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
13 │ 0 │ xxxx;12 │ xxxx;32 │ xxxx;52 │ xxxx;72 │ xxxx;92 │ xxxx;112 │ xxxx;132 │ xxxx;152 │ xxxx;172 │ xxxx;192 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
14 │ 0 │ xxxx;13 │ xxxx;33 │ xxxx;53 │ xxxx;73 │ xxxx;93 │ xxxx;113 │ xxxx;133 │ xxxx;153 │ xxxx;173 │ xxxx;193 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
15 │ 0 │ xxxx;14 │ xxxx;34 │ xxxx;54 │ xxxx;74 │ xxxx;94 │ xxxx;114 │ xxxx;134 │ xxxx;154 │ xxxx;174 │ xxxx;194 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
16 │ 0 │ xxxx;15 │ xxxx;35 │ xxxx;55 │ xxxx;75 │ xxxx;95 │ xxxx;115 │ xxxx;135 │ xxxx;155 │ xxxx;175 │ xxxx;195 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
17 │ 0 │ xxxx;16 │ xxxx;36 │ xxxx;56 │ xxxx;76 │ xxxx;96 │ xxxx;116 │ xxxx;136 │ xxxx;156 │ xxxx;176 │ xxxx;196 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
18 │ 0 │ xxxx;17 │ xxxx;37 │ xxxx;57 │ xxxx;77 │ xxxx;97 │ xxxx;117 │ xxxx;137 │ xxxx;157 │ xxxx;177 │ xxxx;197 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
19 │ 0 │ xxxx;18 │ xxxx;38 │ xxxx;58 │ xxxx;78 │ xxxx;98 │ xxxx;118 │ xxxx;138 │ xxxx;158 │ xxxx;178 │ xxxx;198 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
20 │ 0 │ xxxx;19 │ xxxx;39 │ xxxx;59 │ xxxx;79 │ xxxx;99 │ xxxx;119 │ xxxx;139 │ xxxx;159 │ xxxx;179 │ xxxx;199 │
───┼───┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
21 │ 0 │ xxxx;20 │ xxxx;40 │ xxxx;60 │ xxxx;80 │ xxxx;100 │ xxxx;120 │ xxxx;140 │ xxxx;160 │ xxxx;180 │ xxxx;200 │
───┴───┴─────────┴─────────┴─────────┴─────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┘
Benutzte Formeln:
A2 : =SUMMENPRODUKT(--ISTZAHL(SUCHEN(Tabelle2!$A$1;$B2:blush:K2)))
B1 : =SUMMENPRODUKT(--ISTZAHL(SUCHEN(Tabelle2!$A$1;B$2:B$21)))

A1:K21
haben das Zahlenformat: Standard

Tabellendarstellung erreicht mit dem Code in FAQ:2363

In diesen Hilfs-Zeilen/-Spalten wird eine ‚1‘ gesetzt wenn die gesuchte Zahl enthalten ist.

Und darauf beziehst Du dich dann mit einer INDEX-Formel auf dem zweiten Tabellenblatt, die sich dann den entsprechenden Wert holt.
Auch die Bereiche dieser Index-Formel musst Du anpassen an den Umfang der Hilfs-Zeilen/Spalten:

Tabellenblatt: [MAPPE1]!Tabelle2
 │ A │ B │ C │
──┼─────┼───┼──────────┤
1 │ 125 │ │ xxxx;125 │
──┴─────┴───┴──────────┘
Benutzte Formeln:
C1: =INDEX(Tabelle1!$B$2:blush:K$21;VERGLEICH(1;Tabelle1!$A$2:blush:A$21;0);VERGLEICH(1;Tabelle1!$B$1:blush:K$1;0))

A1:C1
haben das Zahlenformat: Standard

Tabellendarstellung erreicht mit dem Code in FAQ:2363

Ist die gesuchte Zahl in dem Bereich nicht vorhanden, liefert die Formel ein ‚#NV‘.


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -