Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Werte übertragen mit Bedingung und Zeilen überspringen
#1
Hallo,

ich versuche mich bereits seit einiger Zeit an einem Problem in Excel. Da ich dieses nicht gelöst bekomme hoffe ich, dass mir ein Experte helfen kann.

Ausgangssituation:
 
Ich habe drei Tabellen A, B und C: Die Angaben aus Tabelle A sollen unter Berücksichtigung bestimmter Regeln in Tabelle B bzw. Tabelle C automatisch übernommen werden.

Tabelle A: Tabelle A zeigt den Verlauf eines Aktiendepots mit Angaben zum Unternehmen, zur Aktion (z.B. Kauf, Verkauf, Dividendenzahlung), Datum, Betrag und Anzahl der Aktien. Die Angaben in Tabelle A gebe ich per Hand ein. Tabelle A ist also ein chronologischer Verlauf aller Tätigkeiten im Depot.

In Tabelle B sollen alle Angaben zu Unternehmen Nr. 1, in diesem Beispiel Siemens übernommen werden. In Tabelle C sollen alle Angaben zu Unternehmen Nr. 2, (hier BMW) übernommen werden. Es handelt sich bei den Tabellen B und C also um einen chronologischen Verlauf aller Tätigkeiten (z.B. Kauf, Verkauf, Dividende inkl. Beträge und Datum) für Siemens bzw. BMW.

Wenn ich in Tabelle A Angaben per Hand eingebe, sollen diese entsprechend in Tabelle B (wenn Siemens) bzw. in Tabelle C (wenn BMW) übernommen werden. Das gewünschte Endergebnis seht ihr in der Datei.

Meine Frage ist, wie ich die Formeln in Tabelle B und C formulieren muss. In G5 soll das Datum aus A5 stehen und zwar unter der Bedingung, dass C5 "Siemens" ist. In M5 soll das Datum aus A7 stehen und zwar, wenn C7 "BMW" ist. Die anderen Werte, der Rubriken "Betrag" oder "Aktion" sollen ebenfalls übertragen werden

Die Herausforderung ist, dass in Tabelle B und C Zeilen ignoriert werden sollen, wenn in Spalte C nicht "Siemens" bzw. nicht "BMW" steht.
In Tabelle B (Angaben zu "Siemens") sollen also alle Angaben zu "BMW" ignoriert werden, so dass im Ergebnis eine Liste ohne Leerzeilen mit den Angaben zu "Siemens" entsteht. In Tabelle C entsprechend alle Angaben zu "BMW", "Siemens" soll ignoriert werden.

Hat jemand von euch eine Idee, wie man dieses Problem lösen kann? Das Wunschergebnis seht ihr in der angehängten Tabelle.

Viele Grüße und besten Dank bereits im Voraus! Asmus


Angehängte Dateien
.xlsx   Mappe1.xlsx (Größe: 10,06 KB / Downloads: 5)
Antworten Top
#2
Hallo,

und ein einfacher Autofilter auf die Spalte Unternehmen reicht nicht aus?

Wenn dir das nicht ausreicht kannst du dir auch mal diesen Thread ansehen:

http://www.clever-excel-forum.de/thread-3657.html

oder auch hier einen Blick darauf werfen: http://www.clever-excel-forum.de/thread-7124.html
Gruß
Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Peter für diesen Beitrag:
  • Asmus
Antworten Top
#3
Hallo Peter,

besten Dank! Ich habe folgendes Beispiel ( http://excelformeln.de/formeln.html?welcher=224 ) nachvollziehen können und kann das Beispiel auf mein Problem anwenden.

Allerdings habe ich eine Frage:

In der Formel steht "65536-D1". Das führt offenbar dazu, dass ich diese Formel nicht direkt auf mein Beispiel anwenden kann und bei mir kein Wert eingetragen wird.
Ich vermute, dass folgendes Problem vorliegt: Im Beispiel beginnt die Tabelle in Zeile 1, meine Tabelle beginnt jedoch in Zeile 6. Wenn es sich bei der Angabe "65536" um eine fixe Angabe handelt, die in Zusammenhang mit Zeile 1 zu sehen ist (evtl. max. Zeilenanzahl in Excel) könnte das der Grund sein, warum bei mir keine Werte Angegeben werden.

Weißt du, wie ich den Wert "65536-D1" im Beispiel (in meiner Tabelle "65536-F6") ändern muss?

Herzlichen Dank!


Aus dem Beispiel:  

Schreibe in D2

=WENN(ZEILE()>ZÄHLENWENN(A:A;"x");"";D1+VERGLEICH("x";BEREICH.VERSCHIEBEN(A:A;D1;;65536-D1);0))


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#4
Hi Asmus,

dein Anliegen habe ich mir jetzt nicht genauer angesehen. Was aber deine Frage nach dem Wert 65536 angeht: seit XL2007 hat eine Tabelle 1.048.576 Zeilen; vorher waren es 65.536. Möglicherweise hilft es, die neue maximale Zeilenanzahl anzugeben. Aber wie gesagt, ich hab's mir nicht genauer angesehen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • Asmus
Antworten Top
#5
Hallo Peter ,

ich habe die Angabe "65536" gegen "1048576" ausgetauscht, es funktioniert aber leider nicht (ich nutze Office 365, ich habe also Excel 2016) . Zudem habe ich probiert, die Angabe "65536" um +7 bzw. -7 geändert (da meine Beispieltabelle ja in Zeile 7 statt Zeile 1 beginne). Funktioniert leider auch nicht.

Ich habe das Beispiel aus dem Forum ( http://excelformeln.de/formeln.html?welcher=224 ) "nachgebaut" und es funktioniert, wenn ich Zeile 1 beginne. Zudem habe ich zwei eigene Beispiele "nachgebaut", wobei in Beispiel 1 die Tabelle in Zeile 1 beginnt und bei Beispiel 2 in Zeile 7 (sieh auch Anhang).

Beispiel 2 funktioniert leider nicht. Ich vermute, dass es mit der Angabe "65536" in der Formel zusammenhängt:


Zelle J2: Funktioniert:              =WENN(ZEILE()>ZÄHLENWENN(F:F;"Shell");"";J1+VERGLEICH("Shell";BEREICH.VERSCHIEBEN(F:F;J1;;65536-J1);0))

Zelle W8: Funktioniert nicht:     =WENN(ZEILE()>ZÄHLENWENN(S:S;"Shell");"";W7+VERGLEICH("Shell";BEREICH.VERSCHIEBEN(S:S;W7;;65536-W7);0))



Vielleicht hat noch jemand einen Rat?

Ich wäre euch sehr dankbar!

Viele Grüße Asmus


Angehängte Dateien
.xlsx   Beispiel.xlsx (Größe: 15,06 KB / Downloads: 4)
Antworten Top
#6
Hallo,

Ich bin nun nicht der Formelmensch, aber ich würde mal versuchen,
diese Geschichte mit dem 65536 ... einfach wegzulassen.
Für mich steht das nämlich nur für "ganze Spalte"

bei Excelversionen bis 2003.
Sollte ich mich da täuschen, dann darf mich gerne jemand aufklären.


Und im Übrigen, ... mit VBA wäre dieses Thema schon lange Geschichte, denke ich.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • Asmus
Antworten Top
#7
Hallo,

vielen Dank für den Hinweis, es hat leider nicht geklappt einfach 65536 wegzulassen.

Hat sonst noch jemand einen Tipp für das Problem?

Im Übrigen weiß ich leider nicht was VBA bedeutet...

Viele Grüße Asmus
Antworten Top
#8
Hola,

im letzten Beispiel stehen in Spalte S alle Firmennamen - im ersten Post schreibst du, dass jede Firma in eine eigene Tabelle sollen.

Folgende Formel in W7:


Code:
=WENNFEHLER(INDEX(T$7:T$16;AGGREGAT(15;6;ZEILE($A$7:$A$16)-6/($S$7:$S$17="shell");ZEILE(A1)));"")

Die Formel nach rechts und nach unten kopieren.

Gruß,
steve1da
[-] Folgende(r) 1 Nutzer sagt Danke an steve1da für diesen Beitrag:
  • Asmus
Antworten Top
#9
Auch Hallo,

versuchs mal mit

Code:
=WENN(ZEILE(A1)>ZÄHLENWENN(S:S;"Shell");"";W7+VERGLEICH("Shell";BEREICH.VERSCHIEBEN(S:S;W7;;65536-W7);0))

der Formelauswertung sei Dank :17:
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Asmus
Antworten Top
#10
Besten Dank euch beiden! Beide Varianten funktionieren!

Ich bevorzuge nun folgende Variante, da mit dieser keine Hilfszeile mehr notwendig ist.

Viele Grüße Asmus

=WENNFEHLER(INDEX(T$7:T$16;AGGREGAT(15;6;ZEILE($A$7:$A$16)-6/($S$7:$S$17="shell");ZEILE(A1)));"")
Antworten Top


Gehe zu:


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