Datenübertragung in Tabellenblatt mit Wenn-Bezug
#1
Hallo zusammen,

nach einiger Suche habe ich auf die Idee gekommen, hier nach Unterstützung zu suchen und wünsche mir sehr, dass ihr mir vielleicht weiterhelfen könnt.

Ich habe eine kleine Problemstellung:

Eine Datei enthält mehrere Tabellenblätter.

Wenn in Tabellenblatt 1 (würde "I. Anfrage") heißen die Daten eingefüllt werden und entsprechend der Entscheidung in der Spalte R "ja" ausgewählt wird, sollen alle Zellen aus "I. Anfrage" in "III. Forderung" übertragen werden. Außerdem soll es ein Tabellenblatt "II. Anfrage" geben, wo gleiches Kriterium mit "ja" erfüllt sein soll, um die Daten nach "III. Forderung" automatisch zu übertragen.

Ist es möglich eine solche Abfrage zu haben, ohne dass in "III. Forderungen" leere Zellen / Zeilen entstehen?

Liebe Grüße und Dankeschön vorab .
Antworten Top
#2
Hi Nick,

eine Beispieldatei mit fiktiven Daten, aber identischem Aufbau hilft beim Helfen. Und schau dir vorab mal die Fkt. AGGREGAT() an. In Verbindung mit INDEX() könnte es eventuell zur Problemlösung führen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Hi,

mit xl365 (hast Du ja auch u.a. angegeben) ist das eine Aufgabe für die FILTER-Funktion - nach folgendem Prinzip:

=FILTER(A:A;B:B="x")

zeigt alle Treffer aus Spalte A an, die in Spalte B mit "x" markiert sind.
Mehrere Bedingungen kann man multiplizieren:

=FILTER(A:A;(B:B="x")*(C:C="y"))

erweitert die Abfrage auf gleichzeitig Spalte B = "x" und Spalte C = "y"
Antworten Top
#4
Hallo {Boris},

ganz lieben Dank für deine Antwort. Ich habe einmal versucht, eine Beispieldatei zu erstellen. Diese habe ich hier mit hochgeladen.

Ich hoffe, dass ich das irgendwie verständlich hinbekommen habe.

Deinen Hinweis mit der "Filter" Funktion habe ich aber auf jeden Fall schon einmal in meinem Kopf abgespeichert. 

Danke schon mal dafür!


Angehängte Dateien
.xlsx   Testdatei.xlsx (Größe: 111,73 KB / Downloads: 6)
Antworten Top
#5
Hi,

Zitat:Deinen Hinweis mit der "Filter" Funktion habe ich aber auf jeden Fall schon einmal in meinem Kopf abgespeichert. 

Besser wäre es gewesen, den Hinweis in der Datei umzusetzen:

B7 (III. Forderung):
Code:
=FILTER('I. Anfrage'!A5:O100;'I. Anfrage'!R5:R100="ja")

Vorher den Bereich B:O in III. Forderung leeren, da Spill-Formel.
Antworten Top
#6
Hey {Boris},

ganz lieben Dank! Das mit der "=Filter"-Funktion funktioniert einwandfrei! :)

Kannst du mir noch eine kleine Frage beantworten?


Ist es vielleicht möglich, dass ich in die Formel im Tabellenblatt "III. Forderungen", die den ja-Filter in "I. Anfrage" abfragt, noch eine ja-Abfrage bezogen auf das Tabellenblatt "II. Anfrage" einbaue?

Ich habe etwas rumprobiert, bin jedoch nicht weiter gekommen.

Ich habe meinen aktuellen Datei-Stand einmal mit angehangen.

Liebe Grüße,

Nick


Angehängte Dateien
.xlsx   Testdatei.xlsx (Größe: 110,08 KB / Downloads: 5)
Antworten Top
#7
Hi,

das geht so nicht, da FILTER das Ergebnis der ersten Abfrage spillt - Deine 2. Abfrage ist ein zusätzlicher - davon unabhängiger - Filter.
Zumindest habe ich es so nicht hinbekommen, sondern nur alternativ mit INDEX + AGGREGAT.

Dazu habe ich die 3 Blätter von links nach rechts umbenannt in "a", "b" und "c", damit die Formel noch einigermaßen lesbar bleibt.
Das musst Du also auch zunächst tun - anschließend kannst Du die Blattnamen dann wieder in ihre ursprünglichen Bezeichnungen ändern.

In B7 des Blattes "c" (also III. Forderung):

Code:
=WENNFEHLER(WENN(ZEILEN($1:1)>ZÄHLENWENN(a!$S$5:$S$1000;"ja");INDEX(b!B$7:B$1000;AGGREGAT(15;6;ZEILE($1:$994)/(b!$Y$7:$Y$1000="ja");ZEILEN($1:1)-ZÄHLENWENN(a!$S$5:$S$1000;"ja")));INDEX(a!A$5:A$1000;AGGREGAT(15;6;ZEILE($1:$996)/(a!$S$5:$S$1000="ja");ZEILEN($1:1))));"")


und sowohl nach rechts als auch nach unten kopieren.
[-] Folgende(r) 1 Nutzer sagt Danke an {Boris} für diesen Beitrag:
  • Nick0701
Antworten Top
#8
Hallo,

man könnte die zwei Datenbereiche + die zwei Filterbereiche jeweils zusammensetzen und dann filtern.

Code:
=LET(Daten1;'I. Anfrage'!$A$5:$O$10;Erledigt1;'I. Anfrage'!$S$5:$S$10;
     Daten2;'II. Anfrage'!$B$7:$P$8;Erledigt2;'II. Anfrage'!$Y$7:$Y$8;
     X;SEQUENZ(1;MAX(SPALTEN(Daten1);SPALTEN(Daten2)));
     Y;SEQUENZ(ZEILEN(Daten1)+ZEILEN(Daten2));
     D;WENN(Y<ZEILEN(Daten1)+1;INDEX(Daten1;Y;X);INDEX(Daten2;Y-ZEILEN(Daten1);X));
     F;WENN(Y<ZEILEN(Daten1)+1;INDEX(Erledigt1;Y;1);INDEX(Erledigt2;Y-ZEILEN(Daten1);1));
     FILTER(D;F="Ja";"-"))

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
Antworten Top
#9
Hallo {Boris},

wow! Ganz lieben Dank für deine Unterstützung. Ich habe es hinbekommen.

Ich freue mich sehr.  19

Liebe Grüße

Hallo maninweb,

lieben Dank für deine Hilfe.

Ich habe es anderweitig hinbekommen, schätze jedoch sehr, dass du dir die Mühe gemacht hast.  Angel
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste