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.

Spaltenbuchstaben ermitteln bei letztem Wert in Zeile
#11
Wir sind beim zehnten Beitrag und schon hat sich die Datenstruktur (leicht) geändert und aus einem Blatt sind mehrere Blätter geworden.

Wird vermutlich bis Beitrag 65 gehen bevor Fragesteller und Helfer aufgeben.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#12
Hallo Andi,

mit
=AGGREGAT(14;6;SPALTE($A$1:$Z$1)/($A$1:$Z$1<>"");SPALTE(A1:C1))
erhältst du die Spaltennummern der drei letzten befüllten Spalten.
Das sollte eigentlich reichen.
Mithilfe der Spaltennummer(n) kannst du dann deine weiteren Auswertungen machen mit INDEX(Bereich; Spaltennummer) ....

Wenn du es kompliziert machen möchtest (siehe Beitrag #2 von LCohen):
Den Spaltenbuchstaben erhältst du mit
=WECHSELN(ADRESSE(1;AGGREGAT(14;6;SPALTE($A$1:$Z$1)/($A$1:$Z$1<>"");SPALTE(A1:C1));4);1;"")

Für weitergehende Hilfe bitte eine Beispieldatei mit manuell eingetragenem Wunschergebnis beistellen.

Gruß
Fred
< es lebe die Hilfsspalte >
Antworten Top
#13
Hi,

manchmal hilft googeln!

https://www.herber.de/excelformeln/pages...oriam.html
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#14
Hi,

bei aktuellem Excel geht auch:
=ÜBERNEHMEN(FILTER(1:7;1:1<>"");;-3)
Damit hast du die letzten 3 Spalten der Zeilen 1:7 und brauchst dich nicht mit weiteren Formeln rumschlagen.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#15
Wink 
Danke Fred  19 19  19 !!!

Es wird allerdings bei beiden nur der letzte Spalten-Wert ausgegeben.
Ich habe jetzt leider noch nicht geschnallt, wie ich den vorletzten bzw. vorvorletzten etc. auslesen kann.

Wenn ich das noch hätte, wäre es genau das, was mir hilft, um meine vorhandene "Auslese"-Excel anzupassen  19 

Gruß Andi

(31.08.2023, 00:01)Fred11 schrieb: Hallo Andi,

mit
=AGGREGAT(14;6;SPALTE($A$1:$Z$1)/($A$1:$Z$1<>"");SPALTE(A1:C1))
erhältst du die Spaltennummern der drei letzten befüllten Spalten.
Das sollte eigentlich reichen.
Mithilfe der Spaltennummer(n) kannst du dann deine weiteren Auswertungen machen mit INDEX(Bereich; Spaltennummer) ....

Wenn du es kompliziert machen möchtest (siehe Beitrag #2 von LCohen):
Den Spaltenbuchstaben erhältst du mit
=WECHSELN(ADRESSE(1;AGGREGAT(14;6;SPALTE($A$1:$Z$1)/($A$1:$Z$1<>"");SPALTE(A1:C1));4);1;"")

Für weitergehende Hilfe bitte eine Beispieldatei mit manuell eingetragenem Wunschergebnis beistellen.

Gruß
Fred
Antworten Top
#16
Hallo Andi,

ich weiss jetzt nicht, was du genau gemacht hast und wo/wie du die obige Formel angewendet hast, aber in einem aktuellen Excel (Excel 365, Excel 2021) liefert diese Formel normalerweise alle 3 Werte.

Nur die letzte Spaltennummer erhälst du mit
=AGGREGAT(14;6;SPALTE($A$1:$Z$1)/($A$1:$Z$1<>"");1)
(Oder eine der anderen Formeln aus dem Link von Edgar….)

die vorletzte mit
=AGGREGAT(14;6;SPALTE($A$1:$Z$1)/($A$1:$Z$1<>"");2) usw.
(oder einfacher: letzte Spaltennummer  -1

Aber noch einfacher geht es in deinem Fall (und so würde ich das machen), wenn du in deiner obersten Zeile mit den KWs nicht "KW 26" usw. schreibst, sondern nur 26, 27, 28 … - als reine Zahl
Wenn du aus optischen Gründen das "KW" dabei haben möchtest, kannst du das ja über das benutzerdefinierte Zahlenformat "dazumogeln".
 
Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDEFGHIJKLMNO
1KW 26KW 27KW 28KW 29KW 30KW 31KW 32KW 33KW 34KW 35
2Brot45567757474767897846667850000
3Nudeln26767799004567646420000
4Obst14244451212125584420000
5Gemüse12125685414565524547850000
6Fleisch66865656866687775554555120000
7Getränke1256456998865778880000
8
9
10letzte Spalten-Nr10
11vorletzte9
12vorvorletzte8
13
14letzter Wert aus Zeile 285
15vorletzter67
16vorvorletzter466
17
18oder in einem Rutsch:
19letzter Wert aus Zeile 285
20vorletzter67
21vorvorletzter466

ZelleFormatWert
B1"KW" Standard26
C1"KW" Standard27
D1"KW" Standard28
E1"KW" Standard29
F1"KW" Standard30

ZelleFormel
B10=VERGLEICH(MAX($B$1:$O$1);$B$1:$O$1;0)
B11=B10-1
B12=B11-1
B14=INDEX($B$2:$O$2;B10)
B15=INDEX($B$2:$O$2;B11)
B16=INDEX($B$2:$O$2;B12)
B19=INDEX($B$2:$O$2;VERGLEICH(MAX($B$1:$O$1);$B$1:$O$1;0)-0)
B20=INDEX($B$2:$O$2;VERGLEICH(MAX($B$1:$O$1);$B$1:$O$1;0)-1)
B21=INDEX($B$2:$O$2;VERGLEICH(MAX($B$1:$O$1);$B$1:$O$1;0)-2)
Verwendete Systemkomponenten: [Windows (64-bit) NT 10.00] / MS Excel 2021
Diese Tabelle wurde mit Tab2Html (v2.7.1) erstellt. ©Gerd alias Bamberg

Eigenzitat:
Zitat:Für weitergehende Hilfe bitte eine Beispieldatei mit manuell eingetragenem Wunschergebnis beistellen.

Gruß
Fred

...vielleicht hat Detlef doch recht ....
< es lebe die Hilfsspalte >
Antworten Top
#17
Hi,

wieso sollte man sich bei aktuellem Excel mit Aggregat rumschlagen um zu filtern? Ich möchte nochmals auf meinen Beitrag #14 hinweisen.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#18
Danke Fred!  Smile
Danke an alle anderen!

Aber nein...Fred hatte in diesem Fall nicht Recht  17

Wenn ich die Zahl einsetze, habe ich genau, was ich brauche.  28


Die Datei mit den Pivot-Tabellen kann ich leider nicht anpassen, da mir diese zur Verfügung gestellt wird und ich das beste raus machen muss. (so auch KW 26).


Also besten Dank und bis zum nächsten Mal  43

Andi
Antworten Top
#19
(31.08.2023, 07:56)HKindler schrieb: =ÜBERNEHMEN(FILTER(1:7;1:1<>"");;-3)
OT: "Flattern" die rechten Ränder (anders, als hier im Thread), z.B. bei

1 2 3 4 5
6 7 8 9
2 3 4 5 6 7 8

und will man daher als Ergebnis haben

3 4 5
7 8 9
6 7 8

klappt =NACHZEILE(1:3;LAMBDA(a;ÜBERNEHMEN(FILTER(a;a<>"");;-3))) leider nicht, sondern man muss mit

=NACHZEILE(1:3;LAMBDA(a;TEXTNACH(TEXTVERKETTEN("#";;a);"#";-3)))

vorbereiten, und dann dieses in ein TEXTTEILEN.2D einsetzen:

=LAMBDA(x;t;LET(y;t&x&t;m;LÄNGE(t);
n;MAX(NACHZEILE(y;LAMBDA(a;(LÄNGE(a)-LÄNGE(WECHSELN(a;t;))-m)/m)));
WENNFEHLER(TEXTNACH(TEXTVOR(y;t;SEQUENZ(;n;2));t;SEQUENZ(;n;1));""))
)(NACHZEILE(1:3;LAMBDA(a;TEXTNACH(TEXTVERKETTEN("#";;a);"#";-3)));"#")


Das geht natürlich auch kürzer, aber ich habe "Standardbausteine" verwendet.
Antworten Top
#20
Hallo

eine einfache Spaltenangebe per MsgBox kann man auch mit VBA ermitteln.  Hier dazu ein kurzer Code.
Im Code selbst bitte den Namen deiner Tabelle mit den KW Spalten angegeben werden. Bei mir ist es Worksheets("Tabelle1")
Bei Const muss der Name deiner Datei angegeben werden.  Dann sollte das Makro funktionieren.

mfg Gast 123

Code:
'** Hier den Namen deiner Datei angeben!
Const WBEx = "Beispiel Spaltenbuchstaber.xls"


Sub test()
   Dim Sht As Worksheet, LAdr As String
   'Name des Worksheet mit den KW Spalten setzen
   Set Sht = Workbooks(WBEx).Worksheets("Tabelle1")
   'Last Adrress (rechts) mit xlEnd ermitteln
   LAdr = Range("B1").End(xlToRight).Address(0, 0)
   'Spalte mit letzter KW wird angezeiugt
   MsgBox Replace(LAdr, "1", "")
End Sub
Antworten Top


Gehe zu:


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