PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Excel/Calc Wert suchen in Arbeitsmappen


PatkIllA
2013-10-24, 22:54:53
Ich habe ein ODS-Dokument mit einer Übersichtsarbeitsmappe und vielen einzelnen Arbeitsblättern (pro Monat eine)
Ich würde jetzt gerne aus dem jeweils neusten Werte auf die Übersichtsmappe übernehmen, ohne die ganzen Referenzen anzupassen oder Bereiche zu definieren.
Die Arbeitsblätter sind geordnet, also eigentlich würde es reichen, wenn ich einfach die Werte aus dem zweiten Blatt bekommen würde.

Rajin the troll
2013-10-25, 11:19:14
Schau dir mal die Indirekt() Formel dazu an.

z.B. =INDIREKT("'"&C1&"'!A1")
In der Zelle C1 Steht dann der Blattnahme.

d.H. wenn in C1 Januar steht holt die Formel den Wert der Zelle A1 aus dem Tabellenblatt Januar
Wenn in C1 Februar steht holt sich die Formel entsprechend den Wert aus dem Blatt mit dem Namen Februar

Ist es das was du gesucht hast?

PatkIllA
2013-10-25, 11:23:00
Könnte ein Teil sein.
Ich habe sogar eine Zeile in der Blattname steht, aber das die letzte und Zeile und die erste Spalte. Die ganzen Lookup Funktionen scheinen aber nur mit sortierten Daten und mit Zellen rechts bzw. unter dem Fundort zu funktionieren.
Die ganze Tabelle umstrukturieren will ich aber auch nicht, weil andere Funktionen in der Tabellen und andere Software die Daten einliest.

Rajin the troll
2013-10-25, 11:27:01
Ok, jetzt bin ich verwirrt :-)
Kanst du vielleicht mal eine Skizze machen mit der Struktur?

PatkIllA
2013-10-25, 11:36:00
Hier ein Screenshot
Ich möchte die letzte Zeile wo in Spalte B Telekommunikation steht haben. Links daneben steht der Blattname.

Rajin the troll
2013-10-25, 11:55:13
=VERWEIS(2;1/(B3:B1000="x");A3:A1000)

B ist die Spalte in der Gesucht wird, A die Spalte aus der das Ergebnis genommen wird.
Die Formel fängt beim suchen von unten in einer Liste an und sucht nach dem Wert X.

Den kannst du entweder direkt in der Formel reinschreiben, oder halt über eine Variable regeln.

Edit:
Kombiniert miteinander dann
=INDIREKT("'(VERWEIS(2;1/(B3:B1000="x");A3:A1000)
)&"'!A1")

PatkIllA
2013-10-25, 12:02:01
Ich nehme mal an, dass Verweis für LOOKUP steht. (englisches LibreOffice)
Wofür steht denn das 1/(B3:B1000="x")? Ist das 1/ für rückwärts? Das habe ich bei der GoogleSuche auch gefunden.

Als "Ergebnis" kriege ich aber #DIV/0 angezeigt.

Rajin the troll
2013-10-25, 13:34:55
Ja müsste Lookup sein.

Ja, das 1/(B3:B1000="x") sorgt dafür das von unten her gesucht wird.
Ich kanns mangels libre Office dort leider nicht testen. in Excel 2010 und 2013 sollte es auf jeden fall funktionieren.

Unterstützt Libre Office eigentlich VBA? sonnst kann ich darüber noch was zusammenbauen.

Rajin the troll
2013-10-25, 13:56:36
Nochmal kurz zum Verständniss:

1/(B3:B1000="x") Wirft wenn die Bedingung nicht übereinstimmt den Fehler #DIV/0 aus. Der Rückgabestring sieht dann etwa so aus: (#DIV/0!;1;#DIV/0!;1;#DIV/0!).

Die Verweis Funktion vergleicht das dann mit dem Suchfeld. und vergleicht es dann mit der 2. Da es keine Übereinstimmung gibt wird als Rückgabewert der nächst kleineren Zahl.

Das ist dann die Letzte Position an der 1/(B3:B1000="x") eine 1 zurückgegeben hat.

Hast du das "x" entsprechend mit dem Suchbegriff ersetzt gehabt? das würde nämlich erklären das am ende die Fehlermeldung übrigblieb.

PatkIllA
2013-11-03, 19:11:17
Ich habe es jetzt mit der folgenden Formel hinbekommen:=INDEX($Uebersicht.$A$3:$A$100;SUMPRODUCT(MAX(($Uebersicht.$B$3:$B$1 00=$GuV.$A$3)*ROW($Uebersicht.$B$3:$B$100)))-ROW($Uebersicht.$A$3:$A$100)+1)
Wenn ich das richtig verstanden habe wird wenn der Wert dem gesuchten entspricht als 1 angenommen (ansonsten 0) und mit der Zeilennummer multipliziert und davon das Maximum gesucht.
Den Treffer kann ich dann mit INDIRECT weiter nutzen.