Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1356to1360
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

Verketten multipler Werte

Verketten multipler Werte
06.05.2014 09:25:16
Adrian
Liebe Alle,
vielleicht könnt ihr mir bezüglich der folgenden Frage einen kleinen Tipp geben? Bin leider am Ende meines Lateins...
Ich habe ein Worksheet1, das folgendermassen aufgebaut ist:
KOLONNEA KOLONNEB
Person1 "Wert1"
Person1 "Wert2"
Person1 "Wert3"
Person2 "Wert1"
Person3 "Wert1"
Person4 ""
Person5 "Wert1"
Person5 "Wert2"
Nun möchte ich in einem separaten Worksheet2 jeweils alle Personen jeweils nur noch 1x in KOLONNEA ausweisen (sofern sie in KOLONNEB einen Wert aufweisen) und in KOLONNEB alle Werte, die mit der jeweiligen Person verbunden sind, wie folgt darstellen:
KOLONNEA KOLONNEB
Person1 "Wert1, Wert2, Wert3"
Person2 "Wert1"
Person3 "Wert1"
Person5 "Wert1, Wert2"
Gibt es einen einfachen Weg, dies mit einer Formel (nicht VBA) zu handhaben? Kann sichergestellt werden, dass Worksheet2 dynamisch ist und jeweils automatisch updated, wenn sich in Worksheet1 etwas ändert?
Im Voraus schon einmal ganz herzlichen Dank für Eure Hilfe!!!!
Viele Grüsse,
Adrian

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
wie Du es schreibst,, mit Matrixformeln und ...
06.05.2014 10:10:21
der
Hallo Adrian,
... es werden trotzdem Hilfsspalten notwendig.
Die Formel in B2 musst Du dazu auch noch entsprechend anpassen, wenn je Person mehr als 5 Werte gelistet werden sollen.
Formeln A2 und B2 nach unten und die Formel in D2 nach rechts und unten kopieren.
Mit einer UDF würde es einfacher. Luc (ein Poweruser hier im Forum) könnte Dir dazu einen Lösungsweg aufzeigen.
Tabelle2

 ABCDEFG
1KOLONNEAKOLONNEB Hilfsspalten   
2Person1Wert1, Wert2, Wert3 Wert1Wert2Wert3 
3Person2Wert1 Wert1   
4Person3Wert1 Wert1   
5Person5Wert1, Wert2 Wert1Wert2  
6       

Formeln der Tabelle
ZelleFormel
A2{=WENN(SUMME(ISTNV(VERGLEICH(Tabelle1!A$1:A$99;A$1:A1;))*(Tabelle1!B$1:B$99<>""))=0;"";INDEX(Tabelle1!A:A;MIN(WENN(ISTNV(VERGLEICH(Tabelle1!A$1:A$99;A$1:A1;))*(Tabelle1!B$1:B$99<>"")*(Tabelle1!A$1:A$99<>""); ZEILE($1:$99)))))}
B2=WENN(A2="";"";WECHSELN(GLÄTTEN(D2&" "&E2&" "&F2&" "&G2&" "&H2); " ";", "))
D2{=WENNFEHLER(INDEX(Tabelle1!$B:$B;KKLEINSTE(WENN((Tabelle1!$A$1:$A$99=$A2)*(Tabelle1!$B$1:$B$99<>""); ZEILE($1:$99)); SPALTE(A1))); "")}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!


Tabelle1

 AB
1KOLONNEAKOLONNEB
2Person1Wert1
3Person1Wert2
4Person1Wert3
5Person2Wert1
6Person3Wert1
7Person4 
8Person5Wert1
9Person5Wert2
10Person6 
11  


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Anzeige
Deine Formeln sind bei uns einfacher
06.05.2014 10:36:51
WF
Moin Werner,
A2:
{=WENN(SUMME(ZÄHLENWENN(Tabelle1!A$1:A$99;A$1:A1))>=ANZAHL2(Tabelle1!A$1:A$99);""; INDEX(Tabelle1!A:A;VERGLEICH(1;(ZÄHLENWENN(A$1:A1;Tabelle1!A$1:A$99)=0)*(Tabelle1!A$1:A$99<>"") ;0))) }
D2:
{=WENN($A2="";"";WENNFEHLER(INDEX(Tabelle1!$B:$B;KKLEINSTE(WENN(Tabelle1!$A$1:$A$99=$A2;ZEILE($1:$99) );SPALTE(A2)));"")) }
Salut WF

das ist allerdings nur teilweise zutreffend ...
06.05.2014 11:05:34
der
Hallo WF,
... und zwar für die Formel D2 (hatte ich aufgestellt, bevor ich mich der Konstruktion der Formel A2 stellte), die ich jetzt im Nachgang betrachtet sogar einfach nur:
{=WENNFEHLER(INDEX(Tabelle1!$B:$B;KKLEINSTE(WENN(Tabelle1!$A$1:$A$99=$A2;ZEILE($1:$99));SPALTE(A1))); "") }
schreiben würde, also ohne WENN()
Die Formel in A2 kann man möglicherweise noch vereinfachen, aber nicht so wie Du es schreibst, denn dann würde auch "Person 4" und "Person 6" gelistet, was ja nicht sein soll.
Gruß Werner
.. , - ...

Anzeige
AW: Deine Formeln sind bei uns einfacher
06.05.2014 16:50:44
Adrian
Herzlichen Dank Euch allen für die Hilfe, war genau was ich gesucht habe!
LG, Adrian

VorabInfo-4-2-FUs: Schönes PraxisBsp, ...
07.05.2014 03:25:30
Luc:-?
…Werner (& robert),
für den Test meiner neuesten UDFs, die euch voraussichtlich gg Ende Mai/Anfang Juni zV stehen:
 STUVW
69Person1Wert1Person1Wert1, Wert2, Wert3
70Person1Wert2Person2Wert1 
71Person1Wert3Person3Wert1 
72Person2Wert1Person4  
73Person3Wert1Person5Wert1, Wert2
74Person4 ZellFormeln:  
75Person5Wert1U69:U73: {=MTRANS(ChooseIf(""&S69:S76;--(S69:S76=S68:S75);0;"="))}
76Person5Wert2V69[:V73]:=ReptOp("&";ZÄHLENWENN($S$69:$S$76;U69);1;2;;ChooseIf($T$69:$T$76;$S$69:$S$76;U69;"="))

Hier nochmals die Fmln:
U69:U73: {=MTRANS(ChooseIf(""&S69:S76;--(S69:S76=S68:S75);0;"="))}
V69[:V73]:=ReptOp("&";ZÄHLENWENN($S$69:$S$76;U69);1;2;;ChooseIf($T$69:$T$76;$S$69:$S$76;U69;"="))
Da ChooseIf, falls möglich, ZellBezüge zurückgibt, was hier aber zu teilweise unzusammenhängenden Bereichen führen würde, und dieser Bezug hier auch nicht benötigt wird, muss Arg1 in der 1.Fml in ein Datenfeld (ohne ZellBezug) umgewandelt wdn.
ReptOp dient eigentlich, in Analogie zu wf.Rept (WIEDERHOLEN) der mehrfachen Wiederholung einer Fkt bzw Operation. Da für Fktt CallByName genutzt wird, sind als Arg1 nur wf-Container-Fktt möglich. VERKETTEN (Concatenate) ist keine, weshalb als Arg1 auch 10 1stellige Operatoren möglich sind, hier also &.
Übrigens wäre für (hier) Spalte U auch folgd „klassische“ MxFml möglich:
{=INDEX(S69:S76;KKLEINSTE(WENNFEHLER(VERGLEICH(S69:S76;S69:S76;0)/
    VORZEICHEN(HÄUFIGKEIT(VERGLEICH(S69:S76;S69:S76;0);ZEILE(1:8)));"");ZEILE(1:5)))}
Bis dann! Morrn, Luc :-?

Anzeige
das triffts aber noch nicht ...
07.05.2014 10:58:22
der
Hallo Luc,
... die "Person4" soll ja laut Problemstellung nicht gelistet werden und die Auswertungsbereiche der Formeln sollten ja auch künftige mögliche Erweiterungen berücksichtigen.
Und unabhängig von vorgenannten, eine von Dir als "klassisch" bezeichneten Matrixformelauswertung, würde ich nur in Ausnahmefällen anwenden. Mir ist diese Art der Auswertung zu wenig transparent und auch mE viel zu "starr".
Gruß Werner
.. , - ...

Achso, das hatte ich dann übersehen, wohl, ...
07.05.2014 15:39:38
Luc:-?
…weil die in den Ursprungsdaten enthalten ist, Werner,
und meine 2.Fml eine Vorgabe benötigt. Falls ich dazu Zeit finde, versuche ich, dieses Kriterium noch in das Bsp für das neue Blatt 3 der überarbeiteten L4 einzubauen.
Danke für den Hinweis!
Gruß Luc :-?
Besser informiert mit …

Anzeige
War eigentl kein Problem wie du hier sehen ...
07.05.2014 16:22:05
Luc:-?
…kannst, Werner: ;-)
 STUVW
69Person1Wert1ErgebnisTab  
70Person1Wert2Person1Wert1, Wert2, Wert3
71Person1Wert3Person2Wert1 
72Person2Wert1Person3Wert1 
73Person3Wert1Person5Wert1, Wert2
74Person4 ZellFormeln:  
75Person5Wert1U70:U73: {=MTRANS(ChooseIf(""&S69:S76;(S69:S76≠S68:S75)*(T69:T76≠"");1;"="))}
76Person5Wert2V70[:V73]:=ReptOp("&";ZÄHLENWENN($S$69:$S$76;U70);1;2;;ChooseIf($T$69:$T$76;$S$69:$S$76;U70;"="))

Neue 1.Fml:
U70:U73: {=MTRANS(ChooseIf(""&S69:S76;(S69:S76S68:S75)*(T69:T76"");1;"="))}
Gruß Luc :-?

Anzeige
nachgefragt...
07.05.2014 17:10:06
der
Hallo Luc,
... das Ergebnis bleibt natürlich auch so,
- wenn der auszuwertende Bereich größer gewählt wird und auch
- wenn die Formeln über den Ergebnisbereich hinaus kopiert werden und
- mit Bereichsnamen gearbeitet wird oder
- der auszuwertende Bereich erst mit anderen Formeln ermittelt wird?
Gruß Werner
.. , - ...

Geantwortet; ...
07.05.2014 19:10:39
Luc:-?
…ja, Werner;
→ die max Größe des ausgewählten Bereichs hängt (für die 1.Fml) von den allgemeinen xlBedingungen für MxFmln ab;
→ über den Ergebnisbereich hinaus kann eigentl nur die 2.Fml kopiert wdn, dann kommt hier 0 raus; wenn für die 1.(Mx)Fml der Ergebnisbereich zu groß gewählt wird, erscheint in den überzähligen Zellen das xlübliche #NV, wdn hingg die Argg1/2-Bereiche von ChooseIf zu groß gewählt, hängt das Ergebnis vom Inhalt der überzähligen Zellen ab, sind sie leer, ist es ebenfalls #NV;
→ Bereichsnamen sollten kein Problem sein, denn nicht die wdn ja von Xl als Arg angesehen, sondern ihr ZellBezug bzw hier der Inhalt desselben — ganz wie bei xlFktt auch; Probleme kann's nur geben, wenn der Bereichsname als Text angegeben wird, weil das nicht geprüft wird, aber derartige „Probleme“ hätten die meisten xlFktt auch; ;-)
→ ja, die letzte ist die interessanteste Frage, denn das berücksichtigen wohl die meisten UDF-Schreiber eher nicht (ebenso wie das MS bei vielen späteren Fktt auch nicht getan hat, zB ZÄHLENWENN, SUMMEWENN, TEILERGEBNIS, nicht so aber AGGREGAT!), obwohl das nicht schwer ist — man muss die Argg nur beim DatenTyp Variant belassen, denn, legt man sie bspw auf Range fest, sind nur Zellbereiche als Arg möglich (nicht mal Konstanten!), nimmt man String, Long etc → nur Einzelwerte (auch in 1er Zelle), keine Datenfelder (Arrays), die idR als Ergebnis einer anderen Fml, die du hier sicher als Arg der jeweiligen UDF verstehst, entstehen — Argg1/2 von ChooseIf zeigen das ja auch:
Arg1: ""&S69:S76 ist kein direkter Bereichsbezug, sondern eine Fml, die ein Datenfeld liefert!
Arg2: (S69:S76S68:S75)*(T69:T76"") liefert ebenfalls ein Datenfeld, das für die Auswahl in Arg1 benutzt wird (Vgl mit Arg3).
Hier noch die allgemeine Form beider UDFs (erzeugt mit ^A): (blaue Argg optional)
ChooseIf(Bezug;VBezug;VWert;VTyp;VFakt;TextWieZahl) [V steht für Vgls]
ReptOp(FktName;DlfAnz;HptFArgNr;WxArgg;FArgg;…) [DurchlaufAnz, lfdNr des HptArguments in FArgg, lfdNrn der Argg in FArgg, die bei jedem Durchlauf idRhfolge ihres Vektors gewechselt wdn sollen,
ParamArray der für die jeweilige Fkt in Arg1 benötigten Argg]
In ZellFmln können übrigens auch nichtoptionale Argg weggelassen wdn, wenn das FktsPgm damit umgehen kann. Allerdings verlangt Xl dann zumindest die Eingabe des zugehörigen ;, was dir sicher irgendwie bekannt vorkommt… ;-)
Luc :-?

Anzeige
Apropos, 'nicht schwer' ist natürlich etwas ...
07.05.2014 19:27:29
Luc:-?
…„tiefgestapelt“, Werner,
man muss das dann natürlich auch im Pgm berücksichtigen. Normalerweise mache ich aus allen derartigen Angaben ein Variant-Datenfeld, hier aber nicht, weil ja wie bei INDEX auch ggf ZellBezüge geliefert wdn sollen. Nur ist ein solches Ergebnis dann oft nicht darstellbar (kann aber trotzdem in Fmln weiterverwendet wdn), weshalb ich in diesem Fall für die reine Darstellung die dir bereits bekannte UDF RegAr erweitert habe. Das ist hier aber nicht nötig, weil Arg1 ein Datenfeld ist.
Luc :-?

die Möglichkeiten sind schon toll ...
08.05.2014 16:45:31
der
Hallo Luc,
... ich müsste sie jetzt nur noch korrekt (und weitest möglichst intuitiv) anwenden können.
Du hast Dir erkennbar viel Zeit genommen, mir meine Fragen zu beantworten und zu erklären. Vielen, vielen Dank.
Ich bräuchte damit allerdings Praxis, um Dir wirklich richtig folgen zu können.
Ich setze dann noch auch voraus, das alle Formeln noch mit WENNFEHLER() geklammert werden können.
Und weiter nachgefragt:
a) Du hast also alle meine Fragen von gestern bejaht?
b) Ist die erste Formel als "Bereichs-Matrixformel" oder als nach unten kopierte "Zellen-Matrixformel" (die beiden vorgenannten Begriffe gibt es sicherlich so nicht, aber ich denke, Du weißt sicher was ich meine) eingeben?
c) Was meinst Du mit: "...UDFs (erzeugt mit ^A") ?
Gruß Werner
.. , - ...

Anzeige
Ja, die Praxis, aber das ist natürlich eine ...
08.05.2014 20:36:35
Luc:-?
…eigene Sache, Werner,
wenn's dir hier, was anzunehmen ist, um die Pgmierung geht. Aber auch „nur“ bei der Anwendung solcher UDFs in Fmln braucht man sie, obwohl du ja in bezug auf xlFktt zur Genüge über praktische Erfahrungen verfügst. Betrachte (meine) UDFs einfach als dem XlFkts­Inventar neu hinzugefügt. Zumindest die neueren fktionieren (fast genauso) wie die guten alten XlFktt, denen man als Argument auch komplexe Ausdrücke (Teil­Fmln) übergeben kann. Dass das fktioniert, regelt grdsätzl schon Xl, das Fkts­Pgm muss nur noch rechnen (und ggf Matrizen berück­sichtigen). Das nahezu Einzige, was außer­dem nicht so selbst­verständlich fktioniert, sind Argument­Angaben, die von der xl­eigenen Automatik variiert wdn (als Bsp seien mal die Argg2…4 von INDEX genannt, die eigentl Einzelwerte sein müssen) → so etwas wie ZEILE(1:5) fktt als Einzelwert­Argument idR nur (INDEX!) in mehr­zelligen MxFmln. In VBA hat man darauf keinen direkten Zugriff (auch nicht über das WorksheetFunction- resp Application-Objekt, FmlText­Auswertung mit Evaluate hat ihn aber!) und muss so etwas deshalb b.Bedarf selber pgmieren (was ich oft, nicht immer, mache).
Ja, eine solche Fml eignet sich auch als Arg von WENNFEHLER, ANZAHL2 u.a. xlFktt, die Datenfelder als Argument erlauben und nicht explizit Zell­Bereiche verlangen, aber das liegt dann an den xlFktt, nicht an der UDF-Pgmierg! ;-)
Übrigens ist in diesem Zusammenhang interessant, dass Xl bei den zuvor von mir genannten XlFktt wie SUMMEWENN & Co, den Fml­Eingabe­Abschluss nicht verweigert, wenn ein ChooseIf-Ausdruck, der ZellBereiche zurückgibt, als Arg1 verwendet wird. Allerdings wdn diese xlFktt in einen Fehler laufen, falls diese(r) ZellBereich(e) unzusammen­hängend (sog Mehrfach­Auswahl) ist(/sind), denn so etwas ist hier ebenfalls verboten (nur, weil die Pgmierer das nicht vorgesehen haben!). INDEX hingg kann mit solchen Bereichen umgehen, dafür ist dann Arg4 zuständig. Leider ist das nicht flexibel genug, weil ebenfalls extern variiert! Hier schafft dann die erweiterte RegAr Abhilfe…
An dieser Stelle mal noch ein Bsp:
#WERT! ⇐ {=ChooseIf(S69:S76;(S69:S76S68:S75)*(T69:T76"");1;"=")}
Die UDF liefert mit dieser Arg1-Angabe (vollständiger ZellAuswahlBereich) tatsächlich einen unzusammen­hängenden Bereich als Ergebnis, nämlich (bezogen auf mein Bsp) …
S69;S72:S73;S75 ⇐ {=RAddress(ChooseIf(S69:S76;(S69:S76S68:S75)*(T69:T76"");1;"=");;;;1)}
(mit RAddress habe ich für so etwas auch 'ne UDF!)
So etwas als Fml­Ergebnis kann natürlich nicht in Xl abgebildet wdn, aber als Arg einer xlFkt bzw UDF, die damit umgehen kann, ist es trotz des scheinbaren Fehlers normal auswertbar, bspw auch so:
4 ⇐ {=ANZAHL2(ChooseIf(S69:S76;(S69:S76S68:S75)*(T69:T76"");1;"="))}
Mit INDEX können die TeilBereiche so dargestellt wdn:
Person1 ⇐ {=INDEX(ChooseIf(S69:S76;(S69:S76S68:S75)*(T69:T76"");1;"=");;;1)} 1zell MxFml
Person2 ⇐ {=INDEX(ChooseIf(S69:S76;(S69:S76S68:S75)*(T69:T76"");1;"=");;;2)} 2zell MxFml
Person3
Person5 ⇐ {=INDEX(ChooseIf(S69:S76;(S69:S76S68:S75)*(T69:T76"");1;"=");;;3)} 1zell MxFml
Unter Verwendung der erweiterten UDF RegAr geht's durch Ergebnis­Bereichs­Normierung einfacher:
 RS
85Person1 
86Person2Person3
87Person5 
Die Fml lautet hier: {=RegAr("";"";ChooseIf(S69:S76;(S69:S76S68:S75)*(T69:T76"");1;"="))}
Aber wie gesagt ist das nicht nötig, wenn man den ZellBezug nicht braucht (zB für Formatierungs­auswertung). Man muss dann nur ein „beziehungs­loses“ Nur-Datenfeld aus Arg1 von ChooseIf machen.
Weitere AWen:
a) Ja!
b) Die 1.Fml ist eine mehrzellige MxFml über den ganzen Bereich, keine nach unten kopierte einzellige!
c) Mit ^A (uralte Abkürz für [Strg][Umsch][a]) kann man zu jeder Fkt nach Eingabe von ( die Namen der Argumente anzeigen lassen. Das gilt auch für der jeweiligen Mappe „bekannte“ UDFs!
Gruß Luc :-?
Besser informiert mit …

Anzeige
Theorie und Praxis ...
09.05.2014 08:45:44
der
Guten Morgen Luc,
... Du hast mir wieder viel Theorie aufgezeigt :-) Die konnte ich auch, so denke ich zumindest momentan noch, theoretisch nachvollziehen.
Zur Praxis: als nächsten Schritt bei meiner Sammlung von Erfahrung wäre mir ausreichend, wenn ich Deine UDFs am konkreten Beispiel hier im Thread selbst nachbauen und -vollziehen könnte. Kann ich dies bereits mit dem mir vorliegenden (zu deren Handhabung hatte ich ja bereits früher Dir geschrieben) oder ließe sich das so nur mit Deiner angekündigten Aktualisierung realisieren?
Zurück zur Theorie. So wie ich es momentan sehe: Wenn die Lösung des Beispiels hier im Thread bzgl. der Namenslistung nur mit Deiner UDF (1) innerhalb des Einsatz einer "Bereichs-Matrixformel" realisierbar ist, halte ich das für einen gravierenden Nachteil. In dem Fall müsste man ja wissen, wie groß der Ergebnisbereich ist und kann somit auch nicht dynamisch Datenänderung abfangen. Oder hab ich Dich da doch falsch verstanden?
Gruß Werner
.. , - ...

Anzeige
Zur Praxis: Ja, aber erst, wenn du meine ...
09.05.2014 15:48:24
Luc:-?
…Aktualisierung hast, Werner,
denn die beiden hier relevanten UDFs stehen auf Blatt3 der L4 und das fehlt bei deiner Version noch. Außerdem ist die UDF RegAr noch nicht auf die Verarbeitung von unzusammenhängenden Bereichen erweitert.
Ansonsten ist dein Anliegen eine gute Idee, die genau meinen Intentionen entspricht, denn dafür schreibe ich die UDFs ja!
Zur Theorie:
„Nur“ ist nicht ganz richtig, Hier ist passender! Aber du hast schon recht, die UDF ist INDEX vglbar, nur, dass man AuswahlKriterien angeben kann (und INDEX fktioniert ja auch mit ganzen Bereichen!). Beschränkt man das Ergebnis auf die 1.Zelle und fügt einen ausschließenden Vgl mit dem Vorergebnis nebst dynamischem Bereichsanfang hinzu, kann man auch 1zellig arbeiten. Ansonsten wäre das aber wie bei anderen MxFmln auch kein Problem, sind die Ergebniswerte erschöpft, schreibt Xl automatisch #NV → ein Fehlerwert, der nicht in der Fkt (bzw Fml) unterdrückt wdn kann, wenn er nicht fktsintern, sondern von Xl generiert wird.
#NV und #WERT! sind so etwas wie StandardFehler, die auch von der Xl-Steuerung erzeugt wdn können (deshalb ja auch #WERT! beim 1.Bsp als Signal für die NichtDarstellbarkeit des Ergebnisses!). Ähnliches gilt für #BEZUG!, falls eine nichtexistente Adresse erzeugt wird.
Du siehst also, dass die Pgmierung von UDFs auch noch den Nebeneffekt haben kann, dass man die Wirkungsweise der xlStandardFktt im Zusammenspiel mit Xl besser versteht und gewisse Hintergründe erkennen kann. Man fragt dann nicht mehr, warum etwas so ist wie es ist, sondern denkt sich seinen Teil… ;-)
Übrigens, was wohl auch keiner probiert hat, man kann FmlTexte mit UDFs idR auch genauso evaluieren wie solche nur mit StandardFktt (benannte XLM-Fkt AUSWERTEN bzw - besonders interessant - Evaluate in VBA!), sie dürfen nur selbst nicht auch schon Evaluate enthalten, denn evaluieren aus einer Evaluation heraus geht nicht!
Gruß Luc :-?

Hier noch ein Bsp zu solchen StandardFehlern, ...
09.05.2014 19:20:55
Luc:-?
…Werner:
Bereich A1:B4 1 1 2 2 3 3 #NV A1:A4:{=WENNFEHLER({1;2;3};"")}
B1[:B4]:=WENNFEHLER(A1;"")

Wie man sehen kann, lässt sich der Fehler #NV in Spalte A nicht verhindern, weil er eben nicht in der Fml entsteht. Spalte B nimmt auf A bezug und findet dann ggf einen Fehlerwert vor, dessen Anzeige man dann auch verhindern kann.
Vor Jahren hatte ich auch mal eine ereignisunterstützte UDF geschrieben, die einen Ergebnisbereich auf genau die erforderliche Anzahl von Zellen ausdehnen kann. Man muss nur 1 Zelle (ggf 2 in gewünschter Richtung) auswählen:
Userbild
Die Idee dazu ging letztlich auch auf ein Ansinnen aus der Praxis zurück. Der Anfrage-Thread müsste sich auch noch im Archiv finden lassen (ca 2008/9).
Interessanterweise lässt sich mit dieser UDF sogar das Folgende erreichen:
 UVWXYZ
1 Simulation des Kronecker-Tensor-Produkts mit FlexArr 
2 6a: X={1.2;3.4} • E={1.0;0.1} 
3 1020 
4 0102 
5 3040 
6 0304 
7 {=FlexArr(FlexArr(FlexArr("#";"2.");"4.";;1)*FlexArr(FlexArr("#1";"2.");"4.");"4.")} 
8 6b: E={1.0;0.1} • X={1.2;3.4} 
9 1200 
10 3400 
11 0012 
12 0034 
13 {=FlexArr(FlexArr(FlexArr("#";"2.");"4.")*FlexArr(FlexArr("#1";"2.");"4.";;1);"4.")} 

(Diese Beiden Bspp stammen aus der erweiterten Hilfe meines AddIns FXsubset. Es gibt dort auch noch ein 3.)
Gruß Luc :-?

kurze Zwischenmeldung ...
10.05.2014 08:32:33
der
Hallo Luc,
... wieder eine großes Dankeschön.
Meine Zeit Heute reicht leider nicht vorn noch hinten. Muss jetzt wieder offline gehen. Natürlich melde ich mich nochmal. Vielleicht schon Morgen.
Gruß Werner
.. , - ...

Hat Zeit, denn ab morgen bin ich dann mal ...
10.05.2014 17:29:09
Luc:-?
…für 'ne Woche weg, Werner!
Bis in 8 Tagen!
Gruß + schöSo, Luc :-?

na dann eine schöne Woche Dir ...
11.05.2014 17:32:40
der
Hallo Luc,
... bis in Bälde dann.
Gruß Werner
.. , - ...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige