Diskussion:Inhaltskette
Formel funktioniert nicht (mehr)
BearbeitenZumindest in den neueren Excel-Versionen funktioniert die angegebene Formel nicht und liefert nur den Fehler "#BEZUG!". Auch in OpenCalc erhält man nur "Err:502". Mir scheint, das ist eine jener Formel-Kunstwerke, die aus dem sportlichen Ehrgeiz entstanden ein Problem mit minimaler Zeichenzahl zu lösen. Sowas sollte hier aber nichts verloren haben, da dies auf Kosten der Kompatibilität und auch der Verständlichkeit geht (obwohl ich mich mit Excel gut auskenne, verstehe ich sie nicht). Lieber eine Formel, die einen Tick länger ist, die aber nicht mit Tricks arbeitet oder irgendwelche Spezifika einer proprietären Software nutzen muss um funktionieren zu können. -> Also bitte die Formel anpassen... -- 46.114.152.112 00:02, 7. Mär. 2011 (CET)
- Welche Version hast du denn? Ich habe sie in Excel 2003 getestet und sie funktioniert wunderbar. Wieso dich die Kürze der Formel stört, verstehe ich nicht, es ist bloß eine einfache Implementation ohne Schnickschnack.
- Möglicherweise hast du vergessen, die Zeilen anzuklicken und auf F9 zu drücken. -- IvanP 16:09, 26. Mär. 2011 (CET)
Generierung in Excel
BearbeitenDas verschiebe ich inklusive zugehöriger Literaturangabe hierher, da es nicht in den Artikel gehört (siehe WP:WWNI Punkt 9). --84.130.166.89 14:15, 7. Dez. 2012 (CET)
Inhaltsketten können in Microsoft Excel generiert werden. Hierzu muss der Startwert in B3 eingetragen werden. Die Formel zur Generierung muss in B4 eingetragen werden:
- =WENN(MIN(B$3:B3)=0;"";SUMME((REST(B3;ZEILE(INDIREKT("1:"&B3)))=0)*ZEILE(INDIREKT("1:"&B3)))-B3)
Diese Formel kann nach Belieben runterkopiert werden.
Um die genaue Funktion der Formel zu veranschaulichen geben wir in B3 die 12 ein.
Der erste Teil, WENN(MIN(B$3:B3)=0;"";, dient zur Vermeidung einer Fehlermeldung, die erscheint, falls in der Kette eine 0 auftaucht. Ohne dies reduziert sich die Formel auf:
- =SUMME((REST(B3;ZEILE(INDIREKT("1:"&B3)))=0)*ZEILE(INDIREKT("1:"&B3)))-B3)
ZEILE(INDIREKT("1:"&B3)) dient dazu, ein Array mit den Zahlen von 1 bis zur Größe der Zahl in B3 zu erzeugen. Da hier der konkrete Fall von B3 = 12 angesprochen wird, reduziert sich die Formel weiter auf:
- =SUMME((REST(12;ZEILE(1:12))=0)*ZEILE(1:12))-B3
ZEILE(1:12) ist ein Platzhalter für die Zahlen 1 bis 12. Markiert man den Teil (REST(12;ZEILE(1:12))=0) und bestätigt die Taste F9 sieht man:
- {WAHR;WAHR;WAHR;WAHR;FALSCH;WAHR;FALSCH;FALSCH;FALSCH;FALSCH;FALSCH;WAHR}
Das heißt: 12 dividiert durch alle Zahlen von 1 bis 12 ergibt den Rest 0, also WAHR bei 1, 2, 3, 4, 6 und 12.
Nun werden diese WAHR (1) und FALSCH (0) mit ZEILE(1:12) multipliziert und man sieht nach dem Drücken von F9:
- {1;2;3;4;0;6;0;0;0;0;0;12}
Das summiert ergibt 28 und davon die ursprüngliche Zahl 12 subtrahiert ergibt 16, den Zahleninhalt von 12.
- Literatur
- Fleckenstein, Fricke, Georgi: Excel - Das Rätselbuch für Excel-Fans, Seite 100, ISBN 978-3-8272-4244-0
(Ende des verschobenen Abschnitts) --84.130.166.89 14:15, 7. Dez. 2012 (CET)