Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Koordinaten aus Tabelle auslesen

Koordinaten aus Tabelle auslesen
14.10.2014 09:55:03
Ben
Hallo,
ich habe folgendes Problem: Ich habe mir mit Exceltabellen XY-Koordinatensysteme erstellt in denen ich verschiedene Punkte mit 1, 2, 3, 4, u.s.w markiert habe. Nun möchte ich möglichst einfach für alle mit einer Zahl markierten Zellen die XY-Koordinaten auslesen und in eine neue Tabelle schreiben.
Eine Koordinaten-Tabelle sieht beispielsweise so aus ("_" = leere Zelle):
9 _ 1 _ _ _ _ _ _ _
8 _ _ _ 2 3 _ _ _ _
7 _ _ _ _ _ _ _ _ _
6 _ _ _ _ _ _ _ _ _
5 _ 4 _ _ _ _ _ _ _
4 _ _ 5 _ _ 6 _ _ _
3 _ _ _ _ _ _ _ _ _
2 _ _ _ _ 7 _ _ _ _
1 _ _ _ _ _ _ _ _ _
_ 1 2 3 4 5 6 7 8 9
nun möchte ich gerne eine Tabelle in der folgenden Form:
P X Y
1 2 9
2 4 8
3 5 8
4 2 5
5 3 4
6 7 4
7 5 2
Ich hoffe, dass es dafür eine automatisierte Lösung gibt und ich nicht für alle meine Koordinaten-Tabellen die Punkte per Hand rausschreiben muss.
Danke für jegliche Hilfe.
Gruß,
Ben

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Koordinaten aus Tabelle auslesen
14.10.2014 10:29:33
Oberschlumpf
Hi Ben
Hier, versuch mal (getestet): Sub sbCoord() Dim lloRow As Long, lloCol As Long, lloNext As Long lloNext = 2 For lloRow = 1 To Cells(Rows.Count, 1).End(xlUp).Row For lloCol = 2 To Cells(10, Columns.Count).End(xlToLeft).Column If Cells(lloRow, lloCol).Value "" Then Range("M" & lloNext).Value = Cells(lloRow, lloCol).Value Range("N" & lloNext).Value = Cells(10, lloCol).Value Range("O" & lloNext).Value = Cells(lloRow, 1).Value lloNext = lloNext + 1 End If Next Next End Sub
Voraussetzung:
die obige Koordinatentabelle, die du leider NICHT als Excel-Datei zeigst, beginnt in Zelle A1 und endet in Zelle J10...also Position 9 steht in A1 und Spaltenwert 9 steht in J10.
Deine P X Y Tabelle erscheint dann in der gleichen Tabelle, in den Spalten M,N und O, beginnend in Zeile 2. In Zeile 1 (M,N,O) musst du noch P X Y eintragen.
Hilfts?
Ciao
Thorsten

Anzeige
AW: Koordinaten aus Tabelle auslesen
14.10.2014 13:56:00
Ben
Hallo Thorsten,
vielen Dank, klappt super mit der Beispieltabelle. Wenn man jedoch die X-Koordinate auf z.B. 20 verlängert und zufällig Punkte in dem Raum verteilt (siehe Exceldatei) gibt es ein paar Fehler in der Ausgabetabelle (z.B. drei XY-Werte für Punkt 13 oder einen Wert für den eigentlich nicht vorhandenen Punkt 20).
https://www.herber.de/bbs/user/93159.xlsm
Woran liegt das? bzw. Was muss ich verändern um den Code an Koordinaten-Systeme beliebiger Größe anzupassen?

hier wäre auch eine Formellösung möglich, ...
14.10.2014 13:21:51
neopa
Hallo Ben,
... die noch dazu ziemlich flexibel ist und auch wenig Voraussetzung bedarf. Eine davon ist, dass das die Formel auf einem anderem Tabellenblatt erstellt werden sollte.
Nachfolgende Formel kann in eine beliebige Zelle eingesetzt werden und muss dann nach unten und rechts entsprechend weit kopiert werden.
Tab2

 DEFGHIJKLMN
2           
3  1        
4    23     
5           
6           
7  4        
8   5   6   
9           
10     7     
11         33 
12           

Formeln der Tabelle
ZelleFormel
E3=WENNFEHLER(VERWEIS(9;1/('Tab1'!$C$2:$C$99=MAX('Tab1'!$C:$C)+1-ZEILE('Tab1'!A1))/('Tab1'!$B$2:$B$99=SPALTE('Tab1'!A1)); 'Tab1'!$A$2:$A$99); "")


Tab1

 ABC
1Pktxy
2129
3248
4358
5425
6534
7674
8752
93391
10   


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Anzeige
AW: hier wäre auch eine Formellösung möglich, ...
14.10.2014 14:12:49
Ben
Hallo Werner,
vielen Dank für deinen Lösungsvorschlag. Ich brauche es leider jedoch genau andersherum ... also in deinem Beispiel von Tab2 zu Tab1 und nicht umgekehrt.
Gruß,
Ben

und warum ersetzt Du dann nicht einfach ...
14.10.2014 14:18:00
neopa
Hallo ben,
... in der Formel Tab1 durch Tab2 oder wie immer Dein Tabellenblatt auch heißt?
Gruß Werner
.. , - ...

AW: und warum ersetzt Du dann nicht einfach ...
14.10.2014 14:36:41
Ben
Hallo Werner,
mit andersherum meine ich von der 2D-Koordinaten-Tabelle (mit den einzelnen Punkten im 2D-Raum ... bei dir Tab2) zu der XY-Tabelle (mit den drei Spalten "Pkt", "X", "Y" ... bei dir Tab1).
Gruß,
Ben

aber das meinte ich doch auch, bzw. ......
14.10.2014 14:47:30
neopa
Hallo Ben,
... hatte ich das bei meiner letzten Antwort so vorausgesetzt. Hast Du es denn mal nachgestellt?
Gruß Werner
.. , - ...

Anzeige
AW: aber das meinte ich doch auch, bzw. ......
14.10.2014 15:10:35
Ben
Hallo Werner,
leider ist mir nicht ganz klar, wie du das meinst. Deine Formel bezieht sich doch nur auf drei Spalten (A, B, C). Wie soll man damit die 2D-Koordinatentabelle mit 9 oder mehr Spalten erfassen?
Könntest du nochmal ein genau umgekehrtes Beispiel machen? Also Tab2 als Ausgangstabelle ...
Vielen Dank und viele Grüße,
Ben

nun gut, dann ...
14.10.2014 15:49:22
neopa
Hallo Ben,
... ich hab die Tabellenblattnamen getauscht und in paar zusätzliche Koordinatenwerte dazu gebracht:
Tab1

 DEFGHIJKLMNOPQRS
2                
3           44    
4   5            
5                
6  1             
7    23          
8              55 
9                
10  4             
11       6        
12                
13     7          
14         33      
15                
16                

Formeln der Tabelle
ZelleFormel
E3=WENNFEHLER(VERWEIS(9;1/('Tab2'!$C$2:$C$99=MAX('Tab2'!$C:$C)+1-ZEILE('Tab2'!A1))/('Tab2'!$B$2:$B$99=SPALTE('Tab2'!A1)); 'Tab2'!$A$2:$A$99); "")


Tab2

 ABC
1Pktxy
2129
3248
4358
5425
65311
7674
8752
93391
10441112
1155147
12   


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Wie geschrieben, der Ersteinsatz der Formel ist (fast) beliebig. Oder was meinst Du jetzt genau?
Gruß Werner
.. , - ...

Anzeige
AW: nun gut, dann ...
14.10.2014 16:50:17
Ben
Hallo Werner,
Danke für deine Mühe. Ich glaube jedoch wir reden aneinander vorbei oder ich kapiere einfach nicht wie du es meinst.
So wie du es beschreibst bzw. wie ich es verstanden habe, hast du Tab.2 gegeben
_ A B C
1 P X Y
2 1 2 9
3 2 4 8
4 3 5 8
dann machst du eine neue Tabelle auf gibst die Formel in E3 ein und ziehst sie dann nach rechts und nach unten, so das Tab.1 ensteht
9 _ 1 _ _ _ _ _ _ _
8 _ _ _ 2 3 _ _ _ _
7 _ _ _ _ _ _ _ _ _
6 _ _ _ _ _ _ _ _ _
5
4
3
2
1
_ 1 2 3 4 5 6 7 8 9
Bei mir ist es aber umgekehrt, ich habe Tab.1 (9x9Zellen) gegeben und möchte daraus die dreispaltige Tab.2 bekommen.
Weißt du wie ich es meine?
Gruß,
Ben

Anzeige
ach so meinst Du das, dannn ...
14.10.2014 18:00:17
neopa
Hallo Ben,
... hatte ich Dich wirklich mißverstanden, sorry.
In dem Fall dann z.B. so; Formeln nach unten kopieren:
Tab2a

 ABC
1Pktxy
2129
3248
4358
5425
6534
7664
8752
93387
10   

Formeln der Tabelle
ZelleFormel
A2{=WENN(ZEILE(A1)>ANZAHL(Tab1a!D$3:L$11); "";KKLEINSTE(Tab1a!D$3:L$11;ZEILE(A1)))}
B2{=WENN(A2="";"";MIN(WENN(Tab1a!D$3:L$11=A2;SPALTE(A1:I1))))}
C2{=WENN(A2="";"";MIN(WENN(Tab1a!D$3:L$11=A2;10-ZEILE(A$1:A$9))))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!


Tab1a

 CDEFGHIJKLM
2           
3  1        
4    23     
5        33  
6           
7  4        
8   5  6    
9           
10     7     
11           
12           


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Anzeige
AW: ach so meinst Du das, dannn ...
15.10.2014 09:32:45
Ben
Hallo Werner,
vielen Dank, so funktioniert es.
Grüße,
Ben
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige