Excel - gibt es für diese Problemstellung eine Funktion?

  • Manchmal komme ich mir vor, wie ein Schulanfänger. Nunja - Microsoft gibt sich ja auch viel Mühe, dass man sich so fühlt. :rofl:

    Allein die Namensgebung für die Funktionen in Excel sind zum Teil völlig von deren Wirkungsweise entkoppelt - ich vermute, dass einfach im Duden geblättert wurde und irgendwer bei Stop auf ein Wort zeigt. Bestes Bsp. - ich suchte eine Funktion, die einen Text in eine Zelladresse konvertiert. In meiner Einfalt habe ich vermutet "TextAlsAdresse" oder ähnlich. Da ich nichts fand, habe ich dann alle Funktionen quergelesen und bin fündig geworden bei "INDIREKT" !! :Face:

    Also mit INDIREKT konnte ich, wenn auch recht umständlich, mein Problem lösen.
    Ich habe ein Quelltabellenblatt, indem Daten erfasst werden, die relevanten Werte jeweils im Abstand von 53 Zeilen. Auf dem Zieltabellenblatt werden die Daten angezeigt im Abstand von 35 Zeilen. Ich möchte natürlich nur einmal den Zielbereich vorbereiten und dann im Block kopieren, wobei jeweils auf die korrekte nächste Zelle aus der Quelle zugegriffen wird. Ich hatte gehofft auf etwas in der Art: ReferenceShiftedRows(Quelle_Zelle, Shift, Ziel_Zelle, Shift).

    Zum besseren Verständnis habe ich mal eine Abbildung der Situation erstellt. Ich kann mir nicht vorstellen, dass diese Situation ungewöhnlich ist, also vielleicht gibt es ja doch schon eine Funktion dafür und ich hab sie nur nicht entdeckt. - Wenns jemand weiß, bitte melden. ;)

  • Ich glaube das du da mit Inidrekt schon den Weg gefunden hast und meine mich erinnern zu können das in ähnl. Situationen auch immer mit Indirekt gemacht zu haben, weil es dafür keine direkte Funktion für gab.

    Ein Tipp: Du kannst z.B. anstatt Zeile(74) auch Zeile() schreiben, wenn du damit die Zeile meinst, in der die Formel steht ;)

    Aber Achtung: Wenn du solche Querverweise zu exzessiv benutzt (betrifft noch mehr Sverweis und Wverweis) braucht Excel irgendwann eine halbe Ewigkeit für die Berechnungen und damit auch Datei öffnen/schließen/Änderungen.

  • Wenn es denn unbedingt ohne "Indirekt" gehen soll, dann kannst du vielleicht einen Blick auf "BEREICH.VERSCHIEBEN" werfen.
    Folgende Formel in Blatt2!H4 eintragen und dann die ganze Spalte runterziehen:

    Code
    =BEREICH.VERSCHIEBEN(Blatt1!$C$4; 22 + ((ZEILE()-4)/35*53); 0)

    Einmal editiert, zuletzt von AspirinJunkie (18. Januar 2024 um 11:08)