Formel für automatische Nummerierung gesucht
#11
Die Testumgebungen sind genannt. 2016 gehört nicht dazu. Zusätzlich klappt es auch in 365.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • franky29
Top
#12
Hi Frank,

Zitat:Index gibt doch als Ergebnis den Wert einer Zelle zurück.
Index kann aber auch einen Bezug zur weiteren Verwendung für eine andere Funktion liefern.
Anders als in der Datei kann ich es aber nicht Erklären.
 
Zitat:verändert sich C:C zu $C:$C
Ist hier nicht wirklich wichtig oder relevant. Zu der Bedeutung der $ Zeichen.

https://www.online-excel.de/excel/singsel.php?f=56

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • franky29
Top
#13
Hi Frank,

ergänzend zu den bisherigen Erkärungen hier noch ein interessanter Artikel zum Thema INDEX als Bezug: https://www.online-excel.de/excel/singsel.php?f=180
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:
  • franky29
Top
#14
(30.06.2019, 22:56)Elex schrieb: Index kann aber auch einen Bezug zur weiteren Verwendung für eine andere Funktion liefern.
Anders als in der Datei kann ich es aber nicht Erklären.
Hallo Elex,
ich habe es auch dort versucht zu verstehen. Vielleicht habe ich da einen Konten im Kopf. Ich schaue mir auf Blatt "Index" den Bereich ab Zeile 63 "Index zusammengesetzt" an. Bei der Formel in H68 setzt du ja auch zusammen. 
=ANZAHL(INDEX(B68:INDEX(B:B;10+40+21);))
Auswertung:
=ANZAHL(INDEX(B68:INDEX($B:$B;71);))
auch hier wird bei der Auswertung wieder aus relativen Bezügen absolute gemacht. Damit man damit arbeiten arbeiten kann, müsste man ja verstehen wann die "Verabsolutierung von Bezügen" passiert und warum. Aber mein größeres Verständnisproblem folgt noch:
=ANZAHL(INDEX($B$68:$B$71);))
und das verstehe ich einfach nicht. 
Wenn ich die Formel INDEX($B:$B;71) in eine Zelle kopiere ergibt sich das erwartete Ergebnis 1. Woher weiß Excel, dass es hier statt diesem Zahlenwert 1 den Bezug "$B$71" liefern soll? Wie kommt INDEX($B:$B;71) auf "$B$71"?
Auch der nächste Schritt ist mir ein Rätsel: INDEX($B$68:$B$71;) wird zu ($B$68:$B$71) ausgewertet. Auch hier: Probiere ich INDEX($B$68:$B$71;) in einer separaten Zelle aus, kommt natürlich #WERT. Was passiert in der Formel?
Viele Grüße
Frank

Hallo Elex,
sorry, ich habe keine Möglichkeit gefunden, meinen letzen Post zu löschen. Ich habe leider die Quelle von Günter erst anschließend gelesen. Was Peter Haserodt da schreibt "Schon immer wusste ich aus der Hilfe, dass Index in 2 Varianten vorliegt, nämlich als Matrix und als Bezug. Nur hat sich mir dies mit dem Bezug nie so richtig erschlossen. Die Beispiele habe ich mir nie richtig angeschaut und wenn, dann auch gleich für nutzlos verworfen." hätte von mir sein können. Das ist die Erklärung für deine Formel - nun versuche ich mich noch einmal durchzubeißen. 
Viele Grüße
Frank
Top
#15
Hi Frank

Relativ oder Absolut.
Das spielt bei der Auswertung der Formel eben keine Rolle. Und von daher mach dir auch keine Gedanken darüber ob Excel in der Formelauswertung Bezüge Absolut oder Relativ verändert.
Über Relativ oder Absolut musst du nur beim erstellen von Formel nachdenken, wenn du diese über ziehen nach rechts oder unten kopieren willst.

Zitat:Wenn ich die Formel INDEX($B:$B;71) in eine Zelle kopiere ergibt sich das erwartete Ergebnis 1. Woher weiß Excel, dass es hier statt diesem Zahlenwert 1 den Bezug "$B$71" liefern soll? Wie kommt INDEX($B:$B;71) auf "$B$71"?

Weil die Formel =ANZAHL(INDEX(B68:INDEX(B:B;10+40+21);)) eben noch mehr beinhaltet und sich somit von nur INDEX($B:$B;71) unterscheidet. Die Zweite Indexfunktion(Rot).


Die Link von Günter scheint recht ausführlich zu sein.

Mach dir keinen Stress. Für Index braucht es am Anfang bissel.

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • franky29
Top
#16
Hallo Elex,

dank deiner Lösung experimentiere ich nun mit der Index-Funktion herum und versuche damit u.a. die indirekt-Formel los zu werden... . Also nochmals vielen Dank!
Nun habe ich noch eine Abwandlung meines ursprünglichen Nummerierungsproblems, wo ich keine Idee habe. Im ersten Problem waren die Zellen leer, wenn kein neuer Eintrag in der Ebene war und du hast es mit Anzahl2 gelöst. Was aber, wenn überall Einträge sind? Geht das auch mit Formel? Ich meine das so:

Sp. 1 | Spalte 2     | Sp. 3 | Spalte 4
1.1.1 | VW            | PKW | Golf
1.1.2 | VW            | PKW | Up
1.1.3 | VW            | PKW | Sharan
1.2.1 | VW            | Bus   | T5
1.2.2 | VW            | Bus   | T6
2.1.1 | Mercedes    | PKW | B200
2.1.2 | Mercedes    | PKW | A160
2.2.1 | Mercedes    | LKW | Sprinter

Viele Grüße
Frank
Top
#17
Hi

____|___A__|____B____|___C__|_____D____|
   1|Sp. 1 |Sp. 2    |Sp. 3 |Sp. 4     |
   2| 1.1.1|VW       |PKW   | Golf     |
   3| 1.1.2|VW       |PKW   | Up       |
   4| 1.1.3|VW       |PKW   | Sharan   |
   5| 1.2.1|VW       |Bus   | T5       |
   6| 1.2.2|VW       |Bus   | T6       |
   7| 2.1.1|Mercedes |PKW   | B200     |
   8| 2.1.2|Mercedes |PKW   | A160     |
   9| 2.2.1|Mercedes |LKW   | Sprinter |

A2      Mit strg+Shift+Enter
Code:
=SUMMENPRODUKT(($B$2:B2<>$B$1:B1)*1)&"."&SUMME(1/ZÄHLENWENN(INDEX(C2:INDEX(C:C;1/MAX(($B$2:B2=B2)/ZEILE($A$2:$A2))););INDEX(C2:INDEX(C:C;1/MAX(($B$2:B2=B2)/ZEILE($A$2:$A2)));)))&"."&SUMME((C2=INDEX(C2:INDEX(C:C;1/MAX(($B$2:B2=B2)/ZEILE($A$2:$A2)));))*1)

Für die Beispieldaten OK. Solltest du aber noch mal ausgiebig testen.
Top
#18
Hi Elex,
tja, was soll man dazu sagen. Es funktioniert perfekt, und ist wirkliche eine Hammer-Formel. Du wirst es nicht glauben, aber in meiner Firma werde ich als der XL-Profi gesehen, weil ich bei einigen Fragen weiterhelfen kann. Ich betone natürlich immer, dass es da noch sehr viel Luft noch oben gibt und wirkliche Profis in Foren antworten... . Nun mache ich mich mal daran, wieviel ich von der Lösung verstehe.
Noch ein anderes Thema: Früher habe ich Beispiele immer mit Tab2HTML gemacht. Leider habe ich nun Excel 2016 als 64 bit und das Addin funktioniert deshalb nicht mehr. Deshalb habe ich es mit "|" versucht. Deinem Beispiel folgend werde ich künftig dafür eine Festbreitenschrift nutzen. Oder gibt es noch eine Alternative wenn man kostenpflichtiges wie Jeanie nicht nutzen kann?
Viele Grüße
Frank
Top
#19
Hi Frank,


Zitat:Oder gibt es noch eine Alternative wenn man kostenpflichtiges wie Jeanie nicht nutzen kann?

ja, indem du die kostenfreie runterlädtst. Wink

Lies mal den Beitrag vom Autor der Jeanie: https://www.clever-excel-forum.de/Thread...#pid121218
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:
  • franky29
Top
#20
Hallo Günter,
danke für den Tipp, aber mir scheint es so, dass ich dort genau das selbe Problem habe, wie bei Tab2HTML, weil es nicht mit XL 2016 64 bit funktioniert. Zumindest steht dort: Excel 2007, Excel 2010, Excel 2013 alle (32 bit) als kompatibel. Glaubst du, dass es trotzdem funktioniert?
Viele Grüße
Frank
Top


Gehe zu:


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