Tag Archives: verknüpfen

Ich habe jetzt genau das richtige Alter. Muss nur noch herausfinden für was.

Nicht aufgepasst. Nicht genau hingeschaut.

Gestern habe ich für den Excelstammtisch einige Dateien vorbereitet, um zu zeigen, was PowerQuery verlangsamt. Ich habe eine Liste mit Dummy-Namen mit 20.000 Datensätzen:

Diese verknüpfe ich mit einer Liste, die zwei Zeilen lang ist:

Das Ergebnis: 28.877 Datensätze

Ein zweiter Blick auf die Liste zeigt, dass einige Zeilen (nicht alle!) nun zwei Mal in der Liste auftauchen:

Nein – an der Verwendung eines Primärschlüssels liegt es nicht – die Zeile

= Table.AddKey(#"Geänderter Typ",{"Geschlecht"}, true)

ist nicht der Grund!

Schließlich finde ich des Rätsels Lösung: ich habe beim Verknüpfen der beiden Listen aus Versehen die Fuzzy-Logik aktiviert.

Haken raus – und ich erhalte wieder die ursprünglichen 20.000 Zeilen.

Ich bin Neptun, Herr des Wassers! Spürt meine Macht, ihr Untertanen! – Alter, hör auf, meine Goldfische mit einer Gabel zu jagen!

Einfach nicht aufgepasst. Dabei weiß ich das eigentlich!

In einem großen, langen VBA-Programm werden Daten aus verschiedenen Dateien des gleichen Ordners, in dem sich die Datei mit dem Code befindet, zusammengefasst. Diese Dateien soll geöffnet werden, Inhalt herauskopiert und danach wieder geschlossen werden.

Ich überprüfe im ersten Schritt, ob es sich um eine XLSM oder XLSB-Datei handelt, denn nur dort liegen die gesuchten Daten:

If Right(strDatei, 4) = "xlsm" Or Right(strDatei, 4) = "xlsb" Then

Klappt wunderbar.

Fast.

Denn auch die Datei, in der sich der Code befindet, wird bearbeitet, also geschlossen. Das ist nicht Sinn der Sache. Also schließe ich aus:

If Right(strDatei, 4) = "xlsm" Or Right(strDatei, 4) = "xlsb" And strDatei <> ThisWorkbook.Name Then

und wundere mich, warum es nicht funktioniert. Die aktuelle Datei wird immer noch geschlossen. Seltsam.

Ich prüfe:

der Inhalt von strDatei entspricht ThisWorkbook.Name. Warum fließt diese Abfrage in die Bedingung, warum wird sie ausgewertet, oder genauer: warum liefert die IF-Verzweigung den Wert Wahr? Es dauert ein paar Sekunden, dann dämmert es mir:

AND ist stärker als OR. Die IF-Verzeigung überprüft, ob die Datei strDatei die Endung XLSB hat UND die gleiche Datei ist. Nein – ich laufende Datei habe die Endung XLSM. Oder: hast du die Endung XLSM? ja – DAS ist korrekt. Also wird die Bedingung ausgewertet. *ggrrrrr* Also noch einmal – diesmal mit Klammer:

If (Right(strDatei, 4) = "xlsm" Or Right(strDatei, 4) = "xlsb") And strDatei <> ThisWorkbook.Name Then

Und das funktioniert! Ich bin glücklich!

Sweet dreams are made of cheese, who am I to dis a Brie?

In der letzten Excelschulung waren wir erstaunt. Wir verknüpfen mehrere Tabellen miteinander:

Warum dauert das Verknüpfen der Daten in PowerQuery so lange?

Die Ursache war schnell gefunden: die Teilnehmerin hatte den Cursor nicht in die Liste gesetzt und so aus der Liste eine (intelligente) Tabelle erzeugt, sondern die ganzen Spalten markiert und dann diese (mit den leeren Zeilen) in eine Tabelle umgewandelt.

Der Anfang der Tabelle:

Und das Ende:

Als wir den Fehler entdeckt hatten, wollte die Teilnehmerin den Bereich „per Hand“ nach oben ziehen:

Ich werde nervös, wenn Aktion SOOO lange dauern. Ein kurzer Blick … das muss doch schneller gehen … und wirklich: es geht schneller. Das Werkzeug „Tabellengröße ändern“ in der Registerkarte „Tabellenentwurf“ bietet eine schnelle Möglichkeit Tabellen zu vergrößern und verkleinern. Man muss nur $A$1:$E$2156 tippen – und schon ist die Tabelle kleiner. Und PowerQuery schneller!

Womöglich sind wir gar nicht die Krone der Schöpfung, sondern wurden von Mücken gezüchtet – als Nahrungsmittel.

Man hat mich mal wieder gezwungen LibreOffice Calc zu unterrichten!

Es ist erstaunlich: in Calc sieht die Verknüpfung auf ein anderes Tabellenblatt folgendermaßen aus:

=Tabellenblatt.Zelle

Verwendet man diesen Aufbau jedoch in Funktion INDEIREKT erhält man einen Fehler. DORT wird die Excelsyntax

=Tabellenblatt!Zelle

verlangt!

Ich vermute, dass LibreOffice beim Nachbauen oder Nachkopieren von Excel übersehen hat, dies umzusehtzen …

Ich bin nicht oberflächlich, ich hab auch hässliche Freunde!

Gestern Abend auf dem Excelstammtisch. Wir diskutieren über Listen und über verschiedene Möglichkeiten sie zu vergleichen. Beispielsweise mit Power Query (Daten abrufen und transformieren). Man muss nicht nur eine Spalte verwenden (die ID), sondern kann auch mehrere Spalten als Primärschlüssel verwenden. Man muss sie markieren. Ich versuche es – padautz – es geht nicht!

Die Lösung ist schnell gefunden: Ich habe in der ersten Liste Spalte 1 und dann Spalte 2 markiert, in der unteren dagegen Spalte 2 und anschießend Spalte 1.

Die Fehlermeldung ist merkwürdig: „Wählen Sie Spalten desselben Typs aus, um den Vorgang fortzusetzen.“ Habe ich doch!

Wenn man genau hinschaut, kann man die Nummer der Reihenfolge als Beschriftung in der Spalte sehen:

Also: richtig markieren – dann darf ich auch verknüpfen:

Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten.

Heute in der Excel-Schulung. Aus gegebenem Anlass – bald ist Bundestagswahl – erstellen wir ein Diagramm der aktuellen Sitzverteilung des deutschen Bundestages. Das Ergebnis soll folgendermaßen aussehen:

Zuerst werden die Daten eingetragen. Auf ihnen wird ein Ringdiagramm aufgesetzt:

Damit der untere Teil „frei“ bleiben kann, wird unter die Daten erneut die Summe eingegeben. Dieser teil soll „wegformatiert“ werden.

Der Ring wird gedreht; die Innenringgröße verkleinert:

Unglücklicherweise hat Excel die erste Spalte nicht als Beschriftung erkannt. Dies kann schnell über Entwurf / Daten / Daten auswählen geändert werden. Der horizontalen Achsenbeschriftung (sic!) wird die erste Spalte zugewiesen. Sie erscheint nun in der Legende:

Und nun das Verblüffende: Durch das erneute Zuweisen besteht zwar weiterhin eine Verknüpfung zu den Zellen, wenn der Text geändert wird. Jedoch: wenn die Formatierung der Ringsegmente geändert wird, wird dies in der Legende nicht mehr mitgenommen. Erstaunlich!

schade aber auch!

Übrigens: geht wählen!

Wenn ich während der Arbeit mit Excel sterbe und in die Hölle komme, wie lange wird es wohl dauern, bis ich merke, dass ich nicht mehr vor Excel sitze?

Mit PowerPivot können Felder aus verschiedenen Tabellen des Datenmodells verknüpft werden. Excel verlangt dabei, dass mindestens eine Tabelle nur eindeutige Werte besitzt (die 1-Seite der 1:n-Beziehung). Falls dies nicht der Fall ist, wird es mit einer Fehlermeldung quittiert.

Bedauerlicherweise werden nicht die Datentypen überprüft. So ist es möglich, dass man Text mit Zahl oder Datum verknüpfen kann. Diese Funktion hätte man auch integrieren können …

Geht nicht!

Geht nicht!

Text mit Zahl - das geht schon !?!

Text mit Zahl – das geht schon !?!