Servus!
Ich tüftel schon lange an einem Problem(chen) und komm mit meinen bescheidenen Excelkenntnissen auf keine Lösung.
Ich sag mal was ich vorhab:
Gesetzt den Fall, ich bin Klosauberkeitstester und will in eine auf meinem Smartphone befindlichen, kleinen, unformatierten Exceltabelle meine Checkliste ausfüllen (siehe Datei Handy.xls).
Zu Hause will ich diese Datei vom Handy auf den PC laden und umbenennen in beispielsweise 123.xls (siehe Kunde.xls). Dann öffne ich die Kunde.xls, also die schöne, formatierte Tabelle mit Formeln und Diagrammen etc. Diese Kunde.xls soll sich jetzt aus der in 123.xls umbenannten Datei alle Einträge in die dafür vorgesehenen Zellen ziehen. Und zwar ein „x“ wenn in der 123.xls eins ist und NICHTS (und eben keine „0“) wenn da nichts ist.
Zusammenfassung:
- Warum macht der eine „0“ und wie stellt man das ab?
- Wie kann ich in der „Kunde.xls“ jeder Zelle sagen, dass sie sich Daten aus der xls holen soll, wie in Zelle C4 beschrieben?
Die zwei xls gibts hier zum Ansehen und drin rumwurschteln:
http://www.gourmet-food.de/wurschtbrot.zip
Wäre super, wenn mir da jemand weiterhelfen könnte.
VIELEN DANK!
LG wurschtbrot
Servus Wurschtbrot!
Zusammenfassung:
- Warum macht der eine „0“ und wie stellt man das ab?
- Wie kann ich in der „Kunde.xls“ jeder Zelle sagen, dass sie
sich Daten aus der xls holen soll, wie in Zelle C4
beschrieben?
=WENN(INDIREKT(ADRESSE(ZEILE(C7)-2;SPALTE(C7)-1;4;1;$C$4))=„x“;„x“;"")
Diese Formel löst dein Problem. Vor allem bist du flexibel, was die einzulesende Datei angeht. Den Namen trägst du in C4 ein. und mit den Spalten- und Zeilenbezügen holst du dir die Daten aus der Ursprungsdatei.
Die Null in der Zelle kommt daher, dass in dieser Zelle der Ursprungsdatei nix steht. Das habe ich auch abgestellt, indem ich im Falsch-Zweig der Wenn-Formel ein „“ eingetragen habe.
Gruß Alex
Servus Alex und vielen Dank für Deine Mühe!
Leider haut das nicht hin und ich habe es jetzt so gelöst:
=wenn(INDIREKT("["&C4&"]"&„Tabelle1!B5“)="";"";INDIREKT("["&C4&"]"&„Tabelle1!B5“))
Jetzt hab ich aber das nächste Problem:
Ich habe circa 150 Zeilen in drei Spalten mit der Formel zu füllen.
Bei der Passage &C4& ist klar, da klick ich rein und drück einmal auf F4, dann kann ich die Formel in alle Zellen ziehen.
Aber wie mache ich das bei der Passage „Tabelle1!B5“? Es kann doch nicht sein, dass ich das „B5“ in 450 Zellen zweimal manuell eingeben muss oder?
Gibt’s da nen Trick?
Vielen Dank!
LG wurschtbrot
Hallo Wurschtbrot!
Leider haut das nicht hin und ich habe es jetzt so gelöst:
=wenn(INDIREKT("["&C4&"]"&„Tabelle1!B5“)="";"";INDIREKT("["&C4&"]"&„Tabelle1!B5“))
Wieso haut meine Formel nicht hin? Was sagt Excel?
Den Trick, dass du die Zelladressen nicht jedesmal anpassen musst, hab ich dir gesagt, nur leider funktioniert das bei dir aus unerfindlichen Gründen nicht.
Gruß Alex
Die Zelladressen ändern sich aber schon, wenn du relative Bezüge (also beispielsweise B5) nimmst. Jetzt hab ich aber noch ein Problem gesehen: Du hast den Zellbezug als Text angegeben, da macht natürlich Excel Zicken.
Gruß Alex
Hallo zusammen,
ich „stolpere“ gerade über deinen Artikel.
Möchte euch auf ein makro aufmerksam machen das mir schon längere Zeit gute Dienste leistet. Es ermöglicht dir per Formel den Zugriff auf eine externe, geschlossene *.xls-Datei.
http://www.online-excel.de/fom/fo_read.php?f=1&bzh=1…
Vielleicht ist das ja was für dich.
Grüße Holger
Nullwerte aus Excel ausblenden
Hi !
- Warum macht der eine „0“ und wie stellt man das ab?
Man kann in Excel für jedes Tabellenblatt einstellen, ob man die Nullwerte sehen möchte oder nicht. Dazu einfach auf EXTRAS -> Optionen -> Register Ansicht -> bei Fensterinhalt das Häkchen bei „Nullwerte“ entfernen.
Dann werden auf diesem Blatt keinerlei Nullwerte mehr angezeigt. Zu beachten ist aber, dass dann auch 0,00-Werte, die man eigentlich vielleicht sehen wollte, nicht mehr angezeigt werden.
BARUL76
.
Servus Alex,
hab mal rumprobiert, jetzt haut es (fast) hin.
Das Problem war wohl das „-2“ und das „-1“. Hab das mal gelöscht und jetzt gehts. Warum auch immer, kann Deine Formel leider nicht nachvollziehen, dazu bin ich wohl zu doof…
=WENN(INDIREKT(ADRESSE(ZEILE(C7)-2;SPALTE(C7)-1;4;1;$C$4))=„x“;„x“;"")
Jetzt hab ich aber noch eine dritte Spalte mit Kommentaren, also reinem Text, keine „x“. Also die Spalten heißen „Ja“, „Nein“ (beide nur „x“ oder leer) sowie Kommentar (Text).
Den zieht er mir nicht mit rüber, vermute das liegt am Schluss Deiner Formel…??
LG
wurscht
Hallo und vielen Dank!
Leider versteh ich nur Bahnhof 
LG
Hallo und vielen Dank!
Leider versteh ich nur Bahnhof 
LG
Also dann etwas ausführlicher:
Das Problem bei Indirekt()
Diese Funktion ist oft nicht einsetzbar, da Daten per INDIREKT() nur aus GEÖFFNETEN Mappen eingelesen werden können und NICHT aus geschlossenen Mappen !
Da hilft das Macro weiter
Der komplette verlinkte CODE wird in ein Allgemeines Modul eingefügt.
[ALT]+[F11] >> Einfügen + Modul >> dort rein kopieren. Schließen.
http://www.online-excel.de/excel/singsel_vba.php?f=44
Da nach stehen dir zwei neue Funktionen zur Verfügung
extern() und =externverweis() wie unterm Code beschreiben.
Für diese beiden Funktionen muss die ext. Datei NICHT geöffnet sein.
Zur Info:
Es gibt eine weitere Möglichkeit Excel zu erweitern um auch auf geschlossene *.xls-Dateien zugreifen zu können, und zwar das Add-In Morefunc:
http://www.online-excel.de/fom/fo_read.php?f=1&bzh=3…
http://xcell05.free.fr/morefunc/french/index.htm
Schöne Grüße Holger
Hallo Holger,
jetzt kapier ich noch weniger.
Hab den Code so wie er ist reinkopiert und das Ganze als xlsm gespeichert. Dann hab ich in meine entsprechende Zelle mal zum Testen eingegeben =extern(C12;D12;H4), wobei in c12 der komplette Dateipfad steht (C:\xxx\xxx.xls), in d12 gar nix und h4 die Zelle in der externen Datei ist, die ich wiedergeben möchte.
Klar, dass es nicht geht, da in dem Makro ja steht d = ExternVerweis(„F:\temp\ext.xls“, „Tabelle2“, „A1:H25“, „test“, 3).
Ich blick gar nix…
DANKE!
LG wurschtbrot
Hallo Wurschtbrot!
=WENN(INDIREKT(ADRESSE(ZEILE(C7)-2;SPALTE(C7)-1;4;1;$C$4))=„x“;„x“;"")
Zuerst mal zu dieser Formel: Sie holt aus dem Bezug, den die Adresse-Formel konstruiert die Daten und gibt sie in der Zelle aus, in der die Formel steht. Schau doch auch mal in der Excel-Hilfe nach, da ist das ganz gut beschrieben. Hilfe könntest du aber auch hier finden: http://www.excelformeln.de.
Die Formel, wie sie jetzt ist, kannst du problemlos weiterziehen. Wenn du aber noch Text ausgeben willst, musst du sie etwas anpassen:
=WENN(INDIREKT(ADRESSE(ZEILE(C7)-2;SPALTE(C7)-1;4;1;$C$4))=„x“;„x“;Wenn(Isttext(INDIREKT(ADRESSE(ZEILE(C7)-2;SPALTE(C7)-1;4;1;$C$4)));INDIREKT(ADRESSE(ZEILE(C7)-2;SPALTE(C7)-1;4;1;$C$4));"")
Gruß Alex
DANKE!!!
Du bist echt der Hit!
Aber: was soll das „-2“ und „-1“? Es funktioniert nur, wenn ich aus dem „C7“ jeweils die entsprechende Zelle mache und das „-2“ und „-1“ lösche…
LG
wurschtbrot
Hallo Wurschtbrot!
Aber: was soll das „-2“ und „-1“? Es funktioniert nur, wenn
ich aus dem „C7“ jeweils die entsprechende Zelle mache und das
„-2“ und „-1“ lösche…
INDIREKT(ADRESSE(ZEILE(C7)-2;SPALTE(C7)-1;4;1;$C$4))
Das find ich komisch. Bei mir funktioniert das so. Gedacht wär die Formel Adresse so:
Zeile(C7)-2 ergibt 5,
Spalte(C7)-1 ergibt 2 (also Spalte B)
4 steht für den relativen Bezug also B5
1 regelt die Schreibweise (hier A1), 0 wäre Z1S1
und in C4 steht deine Tabelle, darum muss dieser Bezug absolut sein
Gruß Alex
Hallo Alex,
Zeile(C7)-2 ergibt 5,
Spalte(C7)-1 ergibt 2 (also Spalte B)
Warum muss ich von C7 zwei + eins abziehen, um dann im Endeffekt auf B4 zu kommen??? Warum nicht gleich B4? Der Sinn kommt nicht ganz bei mir an…
LG
Markus
Hallo Markus!
Warum muss ich von C7 zwei + eins abziehen, um dann im
Endeffekt auf B4 zu kommen??? Warum nicht gleich B4? Der Sinn
kommt nicht ganz bei mir an…
Ich wusste nicht, dass deine Dateien immer gleich aufgebaut sind. Wenn das immer so ist, dann kannst du selbstverständlich gleich auf B4 gehen. Also Zeile 4 und Spalte 2 im Adressbezug.
Gruß Alex
Hallo Alex,
vielen Dank für Deine Bemühungen!
LG Markus