Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Routenberechnung in Excel

Frage Microsoft Microsoft Office

Mitglied: moltova

moltova (Level 1) - Jetzt verbinden

26.01.2010 um 08:12 Uhr, 7143 Aufrufe, 8 Kommentare

Guten morgen,ich habe meiner Meinung nach ein interressantes Problem:

Ich möchte in Excel ein Programm erstellen welches Wegpunkte abfragt! Und zwar geht es um ein Spiel in dem man mehrere Orte von festen Stellen aus bereisen kann z.B.

Von Ort A kann ich nach B - C - D reisen
Von Ort B aber erst nach E und F usw.

ist es möglich ein Programm zu entwerfen (auf einfache art und weise), wo ich angeben kann: Startort: Z.B aus eine Dropdownliste ORT A und Zeilort ORT F und Excel listet mir dann auf, das ich von A aus nach B reisen muss und von B aus an mein Ziel F komme?? So was muss möglich sein nur mir ist bisher nichts gescheitet eingfallen. Hoffe einer von euch hat eine Idee oder Lösung dafür.

Achso, optinal wäre es vll noch gut wenn man den einzelnen Wepunkten kosten zuweisen könnte bzw. das man eine alternative route errechen lassen kann.

vielen dank schoneinmal fürs Kopfzerbrechen


Mit freundlichen Grüßen molto
Mitglied: H41mSh1C0R
26.01.2010 um 10:20 Uhr
öhm wenn ich nach deiner Frage gehe ob es möglich ist ein Programm zu entwerfen kann ich nur antworten: ja xD xD xD

Tabelle mit 3 Spalten: Ort xyz ; Kosten ; Konnektivität zu

z.B.:

Ort A;1;B,C,E
Ort B;2;D
Ort C;1;D
Ort D;3;E
Ort E;4;

Wenn man nun von A nach E will gibt es also folgende Varianten: (vorausgesetzt man bewegt sich nur in eine Richtung und nicht im Kreis ^^)

A-E --> kosten 4
A-B-D-E --> kosten 6
A-C-D-E --> kosten 5

Dann in VBA ein Userform basteln, wo du Start und Ziel eingibst und dann musste dir nen Algo einfallen lassen wie du von Zelle zu Zelle spingst und dir die Daten dann irgendwie ausgibst.

Die Tabelle kannst du um so viele Parameter, Nebenbedingungen erweitern wie du lustig bist. =)
Bitte warten ..
Mitglied: moltova
26.01.2010 um 11:57 Uhr
OOjeeeeeee danke für deine Hilfe und Deinen ausführlichen Beitrag aber ich glaube ich stehe mir gerade selber im weg werde das heute abend mal testen mal sehen ob ichs dann hinbekomme.


Mit freundlichen Grüßen
Bitte warten ..
Mitglied: azzurro
27.01.2010 um 07:53 Uhr
Also auch wenn H41mSh1C0R's Tabellenschema nicht ganz sauber ist. Könnte man das dann eventuell mit einem synchronisierten Subquery lösen.
Sprich du lagerst die Tabelle mit den Konnektivitäten (und Kosten etc) aus und fragst dann im Prinzip ab, wie man von Ort A nach C kommt. Wobei er in dem Subquery immer nur die Folgeorte betrachtet /bearbeitet.
Also z.B. zuerst von A nach B, danach von B nach C usw.


Wenn du fertig bist, könntest du ja mal kurz zeigen, wie dus gelöst hast!

ciao
Bitte warten ..
Mitglied: H41mSh1C0R
27.01.2010 um 08:52 Uhr
Zitat von azzurro:
Also auch wenn H41mSh1C0R's Tabellenschema nicht ganz sauber ist.

Was stimmt an der Tabellenstruktur nicht?

1. 1 Tabelle
2. Daten sauber abgelegt in der Tabelle
3. (fast)jede Strecke kann abgebildet werden (in der Art wie die Tabelle oben steht kommt man nach der Logik nicht von E retour)

Man könnte vielleicht noch eine Spalte einziehen um jedem Punkt dem vorgänger und nachfolgerpunkt zuzuordnen.

Danach ist das dann reine Programmlogik wie man von Punkt zu Punkt springt und sich die Parallel möglichen Strecken anzeigt/abspeichert usw.

Erläutere mal bitte: "synchronisierten Subquery"

grüße
Bitte warten ..
Mitglied: moltova
27.01.2010 um 09:36 Uhr
moin moin,

ihr redet da von sachen die ich im leben noch net gehört habe. Könntet ihr vll. mal eine Bsp. Datei anlegen damit ich mir das mal angucken kann?! das wäre super.


vielen dank
Bitte warten ..
Mitglied: H41mSh1C0R
27.01.2010 um 10:11 Uhr
also von meiner Seite:

Ich bin immer bestrebt wenn ich Excel benutze, auch die Daten in Tabellenform zu halten, also so wenig es geht die Daten rein im Algo zu halten. Das hat zwar Performante Nachteile, aber wenns wo kracht sieht man anhand der Tabellentruktur sofort wo es hängt.

Tabelle 1 die Strecken/Wegedaten
Tabelle 2 die Ergebnisse der Wegesuche

In Tabelle 1 müssen folgende Sachen rein:
- Wegepunktname
- mit welchen Wegepunkten ist dieser verbunden (das kannst du über einen String machen der mit einem Delimiter getrennt ist oder du schreibst für jede Konnektivität eine extra Zeile)

Diese beiden Kerninformationen sind im Grunde alles was du brauchst.

- Kosten für Fahrtstrecken wie andere Parameter für die Wegepunkte kannst du beliebig als Spalte anfügen, da ist deiner Fantasie keine Grenze gesetzt

Beispiel mal einfacher:

Streckennetz

A -- B -- C -- D
A -------- C

Wegpunkte: A, B, C, D

Darstellung in der Tabelle

Wegpunkt Kosten davor danach
A 1 0 B
A 2 0 C
B 1 A C
C 1 B D
C 1 A D
D 1 C 0

Wegesuche von A nach C:

Die Suche müsste dir also die Strecken A - B -C und A - C ausspucken.

Wie machen wir das nun?

Jetzt musst du nachdem du im Userform 2 Wegpunkte ausgesucht hast, von denen du die Streckeninformation und Kosteninformation haben willst folgendes machen:

1. Prüfe wie oft dein Startpunkt als Wegpunkt auftaucht -> lege soviele Arrays an, in dem Beispielfall legst du 2 Arrays an

Jedes Array stellt somit einen Pfad dar, welcher nicht zwangsweise auch zum Ziel führen muss, dazu aber später. Alternativ kannst du statt in Arrays zu speicher auch einfach die betreffende Zeile von Tabelle 1 in Tabelle 2 speichern

2. nimm das erste Array und schaue ob der Zielwegpunkt vor oder hinter dem Startzielpunkt liegt.
- egal ob davor oder dahinter, jenachdem welche Richtung arbeitest du mit der Information in der Spalte "davor" oder "danach"

wir nehmen jetzt mal die Richtung von "dahinter".

A 1 0 B
B 1 A C
C 1 A D

3. In der Spalte "dahinter" steht B also suchen wir den Wegpunkt B und verfahren mit diesem Punkt analog und schauen was "dahinter" kommt.

4. nebenbei wird von Schritt zu Schritt immer die Spalte Kosten ausgelesen und in einer entsprechenden Variable zu dem Array gespeichert oder statt Array und Variablen kannst du auch die Werte live in Tabelle 2 mit Struktur deiner Wahl ablegen.

5. Wenn du nun Schritt 3 - 4 solange wiederholen bis wir C erreicht haben oder einen Endpunkt der mit "0" gekennzeichnet ist geht der Weg weiter.
- wenn "0" auf dem Weg vorkommt ohne das dein Zielpunkt dabei war, hast du dich verfahren ^^ und diese Strecke kann ignoriert/gelöscht werden

6. ist auf dem Weg der Zielpunkt vorgekommen, kannst du anhalten und bei 2. wieder anfangen mit dem nächsten Array, also der 2. oder 3. oder x-ten Streckenvariante

7. hast du alle Arrays durch kannst du die Werte ausgeben, nach Struktur deiner Wahl. =)

hoffe dich nun nicht gänzlich verwirrt zu haben =).
Bitte warten ..
Mitglied: azzurro
27.01.2010 um 14:30 Uhr
Hallo H41mSh1C0R,

Ich hab das jetzt eher auf Datenbankebene gesehen, und da hättest du mit deinem Tabellenvorschlag

"Tabelle mit 3 Spalten: Ort xyz ; Kosten ; Konnektivität zu

z.B.:

Ort A;1;B,C,E
Ort B;2;D
Ort C;1;D
Ort D;3;E
Ort E;4;"

die erste NF (sprich: alle Daten müssen atomar sein) nicht beachtet.

Daher hätte ich es eher so aufgebaut, wie o.g Struktur. Die sync. Subqueries kommen auch wieder aus der DB Welt und ich weiß leider nicht, in wie weit diese jetzt auf Excel anwendbar sind, von daher "zieh" ich mal mein Vorschlag zurück. Ansonsten ist das nichts anderes, als ein Subquery für jedes Tupel "einzeln/speziell" ausgeführt wird.

Ciao
Bitte warten ..
Mitglied: Biber
27.01.2010 um 14:57 Uhr
Moin moltova,

falls dich meine Ansicht zu deiner Frage auch interessiert:

1. Das Themenfeld "Problem des Handlungsreisenden", "Kritischer Pfad", Kombinatorik, Permutationen und Graphentheorie ist definitiv nicht dafür geeignet, eben mal im Vorbeigehen mit einer Excel-Formel in Feld A23 abgefrühstückt zu werden. Wenn du da etwas Handwerkliches machen willst, mit welchem Werkzeug auch immer, dann dann musst du dich schon ernsthaft mit der Materie auseinandersetzen (--> "ernsthaft auseinandersetzen" ist ungleich "mal sehen, wie weit ich durch Ausprobieren komme").

2. Ich will nicht ausschließen, dass jemand, der die Theorie und die Modelle kennt, eine Berechnung auch zur Not mit einer Tabellenkalkulation umsetzen kann. Schließlich haben auch Menschen in selbstgebauten Doppeldecker-Flugdrachen den Rhein überquert. (Aber insgesamt gesehen war das eine Minderheit)

3. Die Excel-EntwicklerInnen selbst haben auch (okay, etwas verschämt ganz am äußersten Rand) zwei oder drei Makro-Schnupper-Funktiönchen bereitgestellt, die in der Richtung hilfreich sein könnten ( FAKULTÄT(), KOMBINATIONEN() und das wars eigentlich). Schau zum Spaß mal in die Excel-Hilfe bei KOMBINATIONEN(), dann ahnst du eventuell, was ich mit Punkt 1 meine.

4. Konsequenz aus alledem wäre von meiner Seite aus ein klares "Finger wech!" mit dem Hintertürchen: "Du könnstest ja mal suchmaschinen, ob eventuell einer, der etwas von dem Thema versteht, etwas programmiertechnisch zusammengeharkt und als Freeware bereitgestellt hat".

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Microsoft Office
Darstellung einer Produktionsmenge in einer Excel Übersicht! (4)

Frage von Magnus32x1 zum Thema Microsoft Office ...

Batch & Shell
gelöst Loginzeiten aus dem Ereignisprotokoll in Excel schreiben (1)

Frage von l-Ne0n zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel SUMIF sozusagen (2)

Frage von PharIT zum Thema Microsoft Office ...

Microsoft Office
Aus Outlook 2013 Daten aus Tabellenfeldern in Excel übertragen (7)

Frage von ich2110 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (22)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...