Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1568to1572
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

vertrackte Subtraktion

vertrackte Subtraktion
14.07.2017 20:57:13
Jenny
Hallo an euch alle,
wollte mal fragen, ob es so eine Formel gibt.
Meine Spalte B besteht aus 2 Bereichen. Einmal B1:B11 und dann B13:B40
Mein Problem ist, der zweite Bereich beinhaltet Leerzellen.
Ich suche eine Formel, die die erste Zahl aus B13:B40 - B1 rechnet.
Durch kopieren dann die zweite Zahl aus B13:B40 - B2
durch weiteres Kopieren dan die 3. Zahl - B3 usw.
halt unabhängig sein von den Leerzellen.
Ist sowas möglich?
Danke und schönes Wochenende
Jenny
PS: Kann später wenn ich die realistischen Zahlen zusammen hab auch noch eine Bsp Mappe hochladen

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Zellen ohne Lücken und davon subtrahieren
14.07.2017 21:31:55
subtrahieren
Hi,
folgende Arrayformel in C1:
{=WENNFEHLER(INDEX(B:B;KKLEINSTE(WENN(B$13:B$40"";ZEILE(X$13:X$40));ZEILE(X1)))-B1;"")}
runterkopieren
Salut WF
Eingabe Arrayformel:
Du kopierst Dir die Formel.
Dann gehst Du in die Bearbeitungszeile, löschst die {geschweiften Klammern} am Anfang und Ende und schließt ab mit GLEICHZEITIG: Strg Shift Enter (statt Enter allein). Dadurch werden diese Klammern erzeugt.
AW: Zellen ohne Lücken und davon subtrahieren
14.07.2017 21:38:46
subtrahieren
Hallo WF, bin grad mit der angekündigten Bsp Datei fertig geworden.
Deine Formel gibt bei mir irgendwie überall 0 aus.
Hab hier die Datei
https://www.herber.de/bbs/user/114890.xlsx
hab in Spalte C geschrieben, was ich vorhatte zu berechnen.
Gruß
Jenny
PS: Ich weiß manche Formeln ergeben Fehler, da negative Zeiten von Excel nicht dargestellt werden können. Ist in dem Fall so von mir gewollt.
Anzeige
AW: Zellen ohne Lücken und davon subtrahieren
14.07.2017 21:44:34
subtrahieren
Hallo Jenny,
Tabelle1

 BC
108:13 
208:25 
309:50 
410:12 
510:27 
611:00 
712:04 
812:30 
912:50 
1013:11 
1113:55 
12  
1308:1300:00:00
1408:2500:00:00
1508:54################################
16  
1709:30################################
1810:14################################
19  
2010:50################################
2111:12################################
2211:27################################
2312:00################################
24  
25  
26  

Formeln der Tabelle
ZelleFormel
C13=WENN(B13="";"";B13-INDEX($B$1:$B$11;ANZAHL(B13:$B$13)))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Sepp

Anzeige
AW: Zellen ohne Lücken und davon subtrahieren
14.07.2017 21:48:36
subtrahieren
Hallo Sepp,
vielen Dank. Hoffe es funktioniert auch noch mit den anderen Tabellen, wenn die mal so weit sind. Melde mich nochmal falls nicht.
Auch danke an die anderen.
Jenny
falscher Dollar
14.07.2017 21:58:14
WF
Hi,
nicht B13:B$13 sondern B$13:B13
=WENN(B13="";"";B13-INDEX($B$1:$B$11;ANZAHL(B$13:B13)))
WF
Das ist hier irrelevant! Gruß owT
15.07.2017 00:34:36
Luc:-?
:-?
Schön kurz
14.07.2017 22:03:38
lupo1
... wobei Jenny sich m.E. eine durchgehende Zahlenreihe als Ergebnis vorstellte.
AW: Schön kurz
14.07.2017 22:04:27
Jenny
Ja das stimmt, die Zahlen sind aufsteigend. Auch so gewollt
Mit "durchgehend" meinte ich was anderes
14.07.2017 22:08:45
lupo1
als "aufsteigend" (aufsteigend ist ganz egal) ...
Es sollte nicht mit den Lücken des zweiten Blocks dargestellt werden, so meine Vermutung, sondern als eigene lückenlose Ergebnisreihe.
Anzeige
AW: Mit "durchgehend" meinte ich was anderes
15.07.2017 08:05:06
Jenny
nein, die Lücken waren gewollt.
"Ach lies mich doch ... so lass mich doch"
15.07.2017 08:11:27
lupo1
Es gibt genug Lösungen auf Deine Frage - in jede Richtung.
Da muss ich jetzt nicht mehr auf sprachliches Verstehen pochen.
AW: Zellen ohne Lücken und davon subtrahieren
14.07.2017 21:40:08
subtrahieren
sorry wollte eigentlich nur die Tabelle1 posten, da steckt das Beispiel
Schöne Lösung
14.07.2017 21:54:59
lupo1
... allerdings würde es schwierig, statt durchgängigem B1:B11 einen - anders als den zweiten Block B13:B43 gebrochenen - ersten Block zu subtrahieren.
Aber das war ja auch nicht die Aufgabe.
AW: vertrackte Subtraktion
14.07.2017 21:38:57
Sepp
Hallo Jenny,
so?
Tabelle1

 ABCDEF
1 17  28 
2    12 
3 24  11 
4 12  37 
5 10  14 
6    14 
7    16 
8 15    
9      
10 22    
11 19    
12      
13 45    
14 36    
15      
16 23    
17 47    
18      
19 29    
20      
21 36    
22 35    
23 41    
24      
25      
26 56    
27 55    
28      
29 63    

Formeln der Tabelle
ZelleFormel
E1=WENNFEHLER(INDEX($B$13:$B$40;AGGREGAT(15;6;ZEILE($A$1:$A$28)/($B$13:$B$40<>""); ZEILE(A1)))-INDEX($B$1:$B$11;AGGREGAT(15;6;ZEILE($A$1:$A$11)/($B$1:$B$11<>""); ZEILE(A1))); "")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Sepp

Anzeige
Ein echter Hit
14.07.2017 22:20:40
lupo1
... da AGGREGAT mangels {} die ZEILE()-Funktionen der Bereiche entkoppelt lässt, wo {} dies nicht zulässt. ZEILE kann also mehrfach und unabhängig voneinander in derselben Formel verwendet werden. Möglicherweise kann man so auch die 2-Dimensionalität durchbrechen, an welcher {}-Formeln meist enden.
Ein Argument für neopa's Faible für AGGREGAT.
Schwachsinn
14.07.2017 23:43:29
WF
Hi,
ich zitiere:
"da AGGREGAT mangels {} die ZEILE()-Funktionen der Bereiche entkoppelt lässt, wo {} dies nicht zulässt"
?
Wenn der erste Bereich auch Leerzellen enthält, funktioniert das analog:
{=WENNFEHLER(INDEX(B:B;KKLEINSTE(WENN(B$13:B$40"";ZEILE(X$13:X$40));ZEILE(X1)))-INDEX(B:B; KKLEINSTE(WENN(B$1:B$11"";ZEILE(X$1:X$11));ZEILE(X1)));"") }
Ich lasse also auch die ZEILE()-Funktion "entkoppelt" - wenn ich nur wüsste, was das bedeuten soll.
WF
Anzeige
Hätte ich ausprobieren sollen ...
15.07.2017 05:16:17
lupo1
... (habe ich bis jetzt immer noch nicht)
Mir hätte dazu gleich eine Addition von verschiedenen SUMMENPRODUKTs einfallen müssen, wo das ja auch geht.
Muss WF bedingt beipflichten! Solltest mal ...
15.07.2017 02:46:17
Luc:-?
…erklären, Lupo,
was Du damit meinst. ZEILE kann immer mehrfach und unabhängig von seinen einzelnen Auftritten in ein­und­derselben Fml ver­wen­det wdn. Mit der Mitteilung an Xl, dass es sich um eine MatrixFml handelt, wird nur erreicht, dass Xl alle Werte eines Argu­ments u/o des ermittelten Ergebnisses verwendet/ausgibt. Nicht nur dabei, sondern generell wdn skalar verlangte Argumente von Xl-Standard-Fktt vom Xl-Fml-Interpreter über einen ggf angegebenen Bereich variiert. Das wäre bspw bei =INDEX(B$1:B$11;A$1:A$11) so, wenn in A die Werte 1…11 stünden. Mit ZEILE fktioniert das allerdings so nicht, sondern nur in einer pluralen MatrixFml über alle 11 Zellen: {=INDEX(B$1:B$11;ZEILE(B$1:B$11))}
Wollte man hierbei Gleiches erreichen, müsste ein weiteres INDEX benutzt wdn: =INDEX(B$1:B$11;INDEX(ZEILE(B$1:B$11);ZEILE()))
Oder man müsste eine duale MatrixFml verwenden: {=INDEX(INDEX(B$1:B$11;ZEILE(B$1:B$11))*1^ZEILE(B$1:B$11);ZEILE())}
Aber das wäre erst recht ziemlicher Blödsinn, weil man hierbei nicht mal den per Xl-Standard angezeigten 2. und gleichen Wert mit WAHL ausblenden kann.
Eine Besonderheit von Container-Fktt wie AGGREGAT und TEILERGEBNIS ist, dass die DatenBezüge (in AGGREGAT in wenigen, den sog Matrix-Fällen auch in Datenfeldern) zuvor untersucht/geprüft wdn. Deshalb ist das, was sonst der Fml-Interpreter macht, in diese Fktt integriert worden. Das ist in bestimmtem Umfang auch bei SUMMENPRODUKT so, obwohl hier im klassischen Anwen­dungsfall nichts variiert wdn muss. Das dürfte dann daran liegen, dass diese Fkt ebenfalls autochthon agiert. Bei UDFs ist das übrigens auch so — was nicht einpgmmiert wurde, wird auch nicht ausgeführt. In diesem Zusammenhang sollte klar sein, dass es so etwas wie „MatrixFmlFktionalität“ als Eigenschaft einer Zell-Fml nur im Zusammenhang mit der entsprd Eingabe geben kann. Eigentlich ist das auch keine Fml-Eigenschaft, jede Fml berechnet stets alles, sondern eine Option des Fml-Interpreters, die bei ZellFmln idR angefordert wdn muss. Das, was neopa mit diesem Terminus meint, ist quasi eine Eigenschaft bestimmter, in einer Fml angewendeter Fktt, die in diesem Pkt interpreter-unabhängig pgmmiert wurden. Und das wären streng genommen nur einige wenige wie bspw die oben genannten.
Wie so etwas gemacht wdn kann und sicher ähnlich gemacht wurde, zeigt zB meine AGGREGAT-Ersatz-UDF AggregateXk, bei der alle integrierten Fktt auch mit Datenfeldern (bereichslosen Matrizen) genutzt wdn können (was sie solo ohnehin könnten).
Es ist ebenfalls unklar, was Du mit 2-D-Schranke in diesem Zusammenhang meinst. Es gibt viele Xl-Fktt, die 3-D-Bezüge verarbeiten können, aber keine, die n-dimensionale Tensor-Datenfelder (n>2), die per VBA ja erzeugbar sind, verarbeiten° geschweige denn, sie auf eine 2dimensionale Oberfläche abbilden* könnte, auch bzw gerade INDEX nicht (auch keine 3-D-Bezüge!). Es ist deshalb äußerst unwahrscheinlich, dass so etwas mit AGGREGAT (in sog MatrixVariante) möglich wäre. Könntest Du ja mal untersuchen! ;-]
* Das ist mit einer Fml unter Einbeziehung von INDIREKT zwar möglich, aber nur durch Variation über die 3.Dimension, wobei das erzeugte Datenfeld erst noch per N bzw T regulär 2dimensional normiert wdn muss.
° Ob das in VBA per WorksheetFunction gelingen könnte, müsste mal untersucht wdn.

Im Übrigen schlage ich für die Lösung des hiesigen Problems natürlich wieder eine Fml mit UDF vor, als plurale MatrixFml: {=Dataset(B13:B40;"";-1)-B1:B11}
Oder als einzellige NormalFml: =INDEX(Dataset(B$13:B$40;"";-1);ZEILE())-B1
UDF-Links:
AggregateXk https://www.herber.de/forum/archiv/1468to1472/1469329_Zum_WE_Kleiner_Exkurs_ueber_ContainerFktt.html#1470618
DataSet https://www.herber.de/forum/archiv/1500to1504/1503360_Anzahl_einmaliger_Werte_aus_versch_SpaltenZeilen.html#1504128 (nur Version 1.0)
Morrn + schöWE, Luc :-?
Besser informiert mit …
Anzeige
2 Varianten
14.07.2017 21:43:36
lupo1
Deine Daten in B:B, wie beschrieben: B1:B11 ohne Lücken und B13:B43 lückenhaft
Variante 1 mit Hilfsspalte E und Ergebnissen ab F2:
E1: 12 (also die Zeile vor B13)
E2: =VERGLEICH(WAHR;INDEX(INDEX(B:B;E1+1):B$43"";);)+E1
F2: =INDEX(B:B;E2)-B1
Variante 2 ohne Hilfsspalte und Ergebnissen ab H2 (weniger zu empfehlen):
H1: =12%%%
H2: =INDEX(B:B;
VERGLEICH(WAHR;INDEX(INDEX(B:B;REST(H1;1)/1%%%+1):B$43"";);)+REST(H1;1)/1%%%)+(
VERGLEICH(WAHR;INDEX(INDEX(B:B;REST(H1;1)/1%%%+1):B$43"";);)+REST(H1;1)/1%%%)%%%-B1

Formel in Zeile 2 jeweils runterkopieren.
Variante 2 funktioniert nur bis 4 Nachkommastellen, da die Lageinformation der nichtleeren B13:B43 in der Zahl selbst mitgeschleppt wird. Die Ergebnisse müssen zur weiteren Verwendung an anderer Stelle zunächst mit =AUFRUNDEN(H2;4) oder weniger genau gerundet werden! Das Format von H darf entsprechend max. 4 Nachkommastellen haben.
Anzeige
AW: vertrackte Subtraktion
15.07.2017 08:20:12
Jenny
Hallo nochmal an alle.
Vielen Dank nochmal für eure Hilfe.
Habe mal versucht alles zusammenzufassen.
https://www.herber.de/bbs/user/114893.xlsx
Spalte D und E sind das was ich gesucht habe.
An Lupo sorry für das Misverständnis.
Gruß
Jenny

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige