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

WENN-UND-ISTTEXT-Formel

WENN-UND-ISTTEXT-Formel
25.04.2016 13:48:50
Marco
Hallo zusammen
Habe versucht, es mit Hilfe von Foren zu lösen, wurde aber nirgends fündig. Ich habe folgendes Problem:
Spalte Q Zelle R Zelle S
2 Leer Leer Leer
3 AA Aa A
4 Leer B Leer
etc.
Erste Priorität hat Spalte Q, dann Spalte R und dann Spalte S. (Habe es mit der Tabelle nicht hinbekommen, damit das Format Sinn macht).
Jetzt möchte ich, dass wenn in Zeile 2 alle 3 Zellen leer sind, soll unter T2 "MANUELL" stehen, wenn wie in Zeile 2 alle Zellen Text enthalten, dann soll der Text aus Q3 in Zelle T3 erscheinen. Wenn die Zelle Q4 leer ist, Zelle R4 Text enthält und Zelle S4 leer ist, dann soll unter T4 der Text aus R2 stehen etc.
Ich habe das mit folgender Formel versucht, aber bekomme obgenannte Resultate nicht hin: In Zelle T2 steht folgendes: =WENN(ISTTEXT(Q2);Q2;WENN(UND(ISTTEXT(Q2);ISTTEXT(R2));Q2;WENN(UND(ISTTEXT(Q2);ISTTEXT(R2);ISTTEXT(S2));Q2;WENN(UND(Q2="";ISTTEXT(R2);ISTTEXT(S2));R2;WENN(UND(Q2="";R2="";ISTTEXT(S2));S2;"MANUELL")))))
Kann mir da jemand von Euch helfen?
Vielen Dank im Voraus!
Freundliche Grüsse
Marco

29
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: WENN() und INDEX() von AGGREGAT() ...
25.04.2016 14:39:45
AGGREGAT()
Hallo Marco,
... in T2: =WENN(ANZAHL2(Q2:S2)=0;"manuell";INDEX(2:2;AGGREGAT(15;6;SPALTE(Q1:S2)/(Q2:S2"");1))) und Formel nach unten kopieren.
Gruß Werner
.. , - ...

AW: WENN() und INDEX() von AGGREGAT() ...
25.04.2016 15:00:33
AGGREGAT()
Hallo Werner
Danke für die schnelle Antwort! Genau wie ich es brauche.
Vielen herzlichen Dank!
Gruess
Marco

AW: WENN() und INDEX() von AGGREGAT() ...
25.04.2016 17:34:38
AGGREGAT()
Hallo Werner,
macht es Sinn, bei Index(2:2;...) etwas zu verfeinern, so daß die Gesamtformel dann so aussieht:
=WENN(ANZAHL2(Q2:S2)=0;"manuell";INDEX(Q2:S2;AGGREGAT(15;6;SPALTE(Q1:S2)/(Q2:S2"")-SPALTE(Q2)+1;1)) )
oder ist das zu viel des Guten hinsichtlich der Bereichseinschänkung?
fragt sich Luschi
aus klein-Paris

Anzeige
AW: die Bereichseinschränkung ist schon da ...
25.04.2016 17:56:52
...
Hallo Luschi,
... einfach dadurch, dass im 3. Argument der AGGREGAT()-Funktion nur die die Zellwerte von Q:S ausgewertet werden und als Ergebnis meines AGGREGAT()-Formelteils bei einem vorhanden Text der entsprechende kleinste Spaltenwert von diesen drei Spalten ausgegeben wird. Somit kann, nein muss das 1. Argument von INDEX() über den gesamten Zeilenbereich definiert werden.
Deine Formel ergibt zwar auch das richtige Ergebnis aber mit unnötigen "Mehraufwand" (sowohl für die Formelerstellung als auch für Excel).
Gruß Werner
.. , - ...

AW: die Bereichseinschränkung ist schon da ...
25.04.2016 18:20:32
Luschi
Hallo Werner,
danke für die Antwort; wenn man davon ausgeht, das Excel die Formelabarbeitung von innen nach außen realisiert, ist das natürlich einleuchtent.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: ergänzend hierzu noch der Hinweis ...
25.04.2016 18:27:24
...
Hallo Luschi,
... mein Formelvorschlag könnte natürlich auch alternativ so:
{=WENN(ANZAHL2(Q2:S2)=0;"manuell";INDEX(2:2;MIN(WENN(Q2:S2"";SPALTE(Q1:S2))))) } geschrieben werden.
Wenn diese Matrixformel zwar auch kürzer ist, ich bevorzuge die AGGREGAT()-Matrixfunktion(alitäts)formel.
Gruß Werner
.. , - ...

AW: ergänzend hierzu noch der Hinweis ...
25.04.2016 19:34:59
Luschi
Hallo Werner,
ich habe mit Schmunzeln den interessanten Disput zu Matrix-Formeln v. Aggregat-Fkt.
verfolgt.
Gruß von Luschi
aus klein-Paris

Meine Alternative sieht so aus, ...
25.04.2016 20:32:23
Luc:-?
…Werner & Luschi: ;-]
T2[:T4]:{=WAHL(MIN(3*(Q2:S2="")+{1.2.3});Q2;R2;S2;"manuell")}
Gruß, Luc :-?
Besser informiert mit …

Anzeige
...oder so, falls es mal zu viele Spalten wdn ...
25.04.2016 20:53:06
Luc:-?
…sollten:
T2[:T4]:=Splint(GLÄTTEN(VJoin(Q2:S2;;-1)&" manuell")&" ";;1;1)
Und beide Lösungen ganz ohne AGGREGAT und INDEX; diese hier sogar ohne MxFmlForm! ;-)
Luc :-?

Oder mit Vergleich
25.04.2016 21:32:47
Josef
Hallo
Hier noch eine Alternative:
=WENNFEHLER(INDEX(Q2:S2;VERGLEICH("*";Q2:S2;0));"manuell")
Gruss Sepp

AW: wer da denkt, da geht nichts mehr, kommt ...
26.04.2016 08:53:08
...
... wie so oft, der Sepp Burch daher ;-)
Während z.B. ich immer gleich die erstbeste Lösung nutze, die mir gerade einfällt, hast Du entweder eine bessere (effektivere) parat. Dies entweder aus in Deinem reichhaltigen Fundus oder durch Nachdenken. Ich bin Dir jedenfalls sehr dankbar, dass Du mich daran teilhaben lässt.
Doch diesmal muss ich Dir einen kleinen "Wermutstropfen" verabreichen. Sowohl Deine Lösungsformel als auch meine berücksichtigen nicht, dass die Leerzellen evtl. durch Formellösungen nur leere Textzellenwerte sein könnten (wenn auch wahrscheinlich bei Marco nicht wirklich vorhanden).
Nur die WAHL()-Matrixformel von Luc berücksichtigt dies auch (Seine UDF-Lösung hab ich jetzt nicht geprüft)
Ich würde daraufhin (wieder ohne große Überlegung meinerseits) meine AGGREGAT()-Formel einfach nur entsprechend anpassen:
=WENNFEHLER(INDEX(2:2;AGGREGAT(15;6;SPALTE(Q1:S2)/(Q2:S2"");1));"manuell")
@Luc,
... Deine WAHL()-Matrixformel ist sicherlich im konkreten Fall die effektivste und gleichzeitig hier auch die kürzeste Formel. Aber ich kann nur wiederholen: es kommt nur in Ausnahmefällen nur auf die Formellänge bei einer Formellösung an. Das sollte doch mittlerweile Konsens haben, oder?
Gruß Werner
.. , - ...

Anzeige
leere Textzellenwerte
26.04.2016 10:54:23
Josef
Hallo Werner
Auch das ist mit Vergleich realisierbar.
=WENNFEHLER(INDEX(Q3:S3;VERGLEICH("?*";Q3:S3;0));"manuell")
Gruss Sepp

AW: dieses war zu erwarten ...
26.04.2016 12:44:41
...
Hallo Sepp,
... mir war das heute Morgen nur nicht gleich in Erinnerung.
Gruß Werner
.. , - ...

In diesem Fall bedeutet Kürze aber auch ...
26.04.2016 13:34:41
Luc:-?
…weniger Rechenaufwand, Werner,
das sollte doch klar sein. Wo du erstmal Datenfelder sortierst, wähle ich schon aus… ;-)
Mach das mal mit deutlich mehr Daten!
Der UDF-Fml ist das egal, denn hierbei wdn die Werte zuerst miteinander verbunden, da wirken sich Leer- und LeerTextZellen gleich aus, nämlich gar nicht! Beim nachfolgenden Splitten steht automatisch der 1. Wert vorn. Das dürfte übrigens auch bei der neuen XlFkt TEXTVERKETTEN so sein, nur das MS dafür nicht auch noch eine Splitt-Fkt spendiert hat.
Gruß, Luc :-?

Anzeige
AW: offensichtlich hast Du u.a. überlesen ...
27.04.2016 09:06:20
...
Hallo Luc,
... ich schrieb:
"@Luc, ... Deine WAHL()-Matrixformel ist sicherlich im konkreten Fall die effektivste und gleichzeitig hier auch die kürzeste Formel." und ansonsten meinte ich, den Vergleich Deiner "kürzeren" Formeln nicht mit meinen Formel sondern mit den Formelvorschlag von Sepp und die dürfte mE auf jeden Fall bei vielen auszuwertenden Spaltenwerten hier effektiver sein.
Mein Formelvorschlag hat dagegen für mich den Vorteil, dass wenn dieser mir zuerst als als Lösung einfällt, dieser für mich die effektivste ist, weil der Bruchteil einer Sekunde die eine schnellere Auswertungslösungsart auch in vielen Anwendungsjahren nicht die notwendige Mehrzeit wieder herausholen kann, die ich erst nach der schnellsten Lösungsvariante suchen müsste.
Für Dich sind es Deine Lösungsvarianten für einen andere Excelanwender deren Lösungsvarianten und seien es Hilfszellenvarianten und für einen Nutzer, der erst noch nach eine Lösung wie hier suchen muss, im konkreten Fall die Lösung von Sepp.
Gruß Werner
.. , - ...

Anzeige
Meine Lösung ist mir nicht als erste ...
27.04.2016 16:22:49
Luc:-?
…eingefallen, Werner,
zuerst hatte ich mit INDEX experimentieren wollen… ;-)
Aber dann wurde mir bewusst, dass es ja nur um eine simple Aufrück-Hierarchie mit manuell als niedrigster Stufe ging!
Das kann man dann einfach mit WAHL, VERGLEICH oder auch VERWEIS lösen, bspw auch so …
 QRSTU
13QuellDatenbed Fmtbdef Fmt
14   manuellmanuell
15  zzz
16 y yy
17 yzyy
18x  xx
19x zxx
20xy xx
21xyzxx
22Regel (T14:T21): Zelle="" → ZFmt: 0;;;"manuell"
23Format (U14:U21): 0;;"manuell";@
24T14[:U21]:=T(VERWEIS(SUMMENPRODUKT(2^(3-SPALTE(A:C))*(Q14:S14=""));{0.4.6};Q14:S14))
25U14[:V21]:=VERWEIS(SUMMENPRODUKT(2^(3-SPALTE(A:C))*(Q14:S14=""));{0.4.6};Q14:S14)
…mit auch noch recht passablem (Schreib- & Rechen-)Aufwand.
Gruß, Luc :-?

Anzeige
AW: Meine Lösung ist mir nicht als erste ...
27.04.2016 18:44:14
Luschi
Hallo Luc,
nette Lösung: U14[:U21]:=VERWEIS(SUMMENPRODUKT(2^(3-SPALTE(A:C))*(Q14:S14=""));{0.4.6};Q14:S14)
doch leider für die Praxis schwer nachvollziehbar, wenn es darum geht, den betrachteten Spaltenbereich (Q:S) um weitere Spalten zu erweitern.
Habe heute mit Studenten, die eigentlich ganz passable Excel-Kenner sind, das Beispiel behandelt und dann verlangt, 1e neue Spalten an der Stelle von 'S' einzufügen und die Formel entsprechend anzupassen.
Ergebnis: Katastrophe pur!
Nix für ungut Luc, ich freue mich immer über solche nette Lösungen & speichere sie in meiner Formelsammlung ab. Wenn sie aber so schlecht anpaßbar sind, dann kriegen die von mir auch einen deutlichen Sichtvermerk 'not useful'.
Gruß von Luschi
aus klein-Paris

Anzeige
Das liegt doch wohl nicht an mir, wenn ihr ...
27.04.2016 19:44:52
Luc:-?
…den zugrunde liegenden Binärcode nicht erkennt, Luschi,
ich wollte bloß nicht soviel schreiben… ;-)
Dein Praxistauglichkeitskriterium dürften auch sehr viele Fmln von xlfmln.de nicht bestehen; auch ein Grund, warum ich UDFs entwickle.
Die Lösung, diesmal mit ausführlicher Fml, sieht so aus:
 QRSTU
27abcda
28abc a
29ab da
30ab  a
31a cda
32a c a
33a  da
34a   a
35 bcdb
36 bc b
37 b db
38 b  b
39  cdc
40  c c
41   dd
42     
43U27[:U42]:=VERWEIS(SUMMENPRODUKT(2^(4-SPALTE(A:D))*(Q27:T27=""));15-GANZZAHL(15/2^(SPALTE(A:D)-1));Q27:T27)
Vielleicht solltest du ja doch (noch?) mal BinärCodes auf den Unterrichtsplan setzen! ;->
Gruß, Luc :-?
Besser informiert mit …

Anzeige
...und falls dir das immer noch zu unflexibel ...
27.04.2016 20:01:11
Luc:-?
…sein sollte, Luschi,
kannst du ja 4 durch SPALTEN(Q27:T27) und 15 durch 2^SPALTEN(Q27:T27)-1 ersetzen → zusammen dann:
U27[:U42]:=VERWEIS(SUMMENPRODUKT(2^(SPALTEN(Q27:T27)-SPALTE(A:D))*(Q27:T27=""));2^SPALTEN(Q27:T27)-GANZZAHL(15/2^(SPALTE(A:D)-1))-1;Q27:T27)
Luc :-?

AW: ...und falls dir das immer noch zu unflexibel ...
28.04.2016 18:07:49
Luschi
Hallo Luc,
danke für Dein weiteres Interesse an dieser Lösung. Für mich war dieser letzte Lösungsvorschlag von Dir schon einleuchtend, aber damit darf ich keinen Praktikern (Sekretärinnen, Sachbearbeiter, Wirtschaftsstudenten im vorletzten/letzten Studienjahr kommen, die Excel zur Hilfe der Ergebniserzielung betrachten.
Habe es gerade mal an einem Beispiel von 10.000 Zeilen und 13 Zeilen ausprobiert. Hinsichtlich der Geschwindigkeit ist es schon phänomenal, aber für die Praxis wahrscheinlich eine ganzes Stück zu mathematisch.
Gruß von Luschi
aus klein-Paris

Das hatte ich auch nur wg der Vollständigkeit ...
28.04.2016 18:40:59
Luc:-?
…gebracht, Luschi;
kannst ja mal auch die anderen kompatiblen Lösungen unter gleichen Bedingungen testen. Da würden mich vor allem der WVERWEIS, Sepps erweiterte Fml und meine UDF-Lösung interessieren. VJoin (Vs1.4) und VSplit hatte ich bis ca 1000 Zeilen und ca 10 Spalten in anderen Fällen getestet. Aber eigentlich sind die, wie alle meine UDFs, nicht für Massen-DV gedacht.
Was Xl am besten und schnellsten kann, ist nunmal arithmetisches Rechnen, sturer aufsteigender Geradeaus-Vgl und Auswahl nach Indizes. Daran wird wohl das Tempo liegen. Und ansonsten ist's wie mit allen „Freak-Fmln“ → (leider) kaum etwas für die normale tägliche BüroPraxis…
Gruß nach Leibsch, Luc :-?

Der WVERWEIS hat mich an eine ältere ...
29.04.2016 19:11:48
Luc:-?
…Matrix-Bildungs-UDF erinnert, die du in diesem Zusammenhang ja auch gleich testen könntest, Luschi;
die Fml dazu würde dann =WVERWEIS("?*";VMx(2;;Q2:S2;"manuell");1;0) lauten und die UDF VMx folgt hier in ErstPublikation (in diesem BT hatte ich sie schon mal eingesetzt):
Public Enum cxTriState: cxAsUsed = -2: cxTrue: cxFalse: cxCTrue: End Enum

Rem Bildet Vektor bzw Matrix aus Arg3Vektt lt Arg1RichtAngabe
'   Arg1: ±2|0/±1=horz/vert, =0 (entfällt sonst); in Arg3 müss alle KomponentVek-
'   toren/-Zeil-/-SpaltenBereiche/-Skalare einzeln aufgeführt
'   wdn, SchnittmengBereiche`(adr1:adr2 adr3:adr4)´ sind aber
'   zulässig, sofern sie 1 zusammhängd VektorBereich ergeben,
'   unzusamhängd Bereiche könn nur als 1zelVektt angegeb wdn;
'   falls Arg1 leer bleibt, folgt d.Erg-Wdgabe d.ZellAuswahl.
'   Achtung! Bei Anwend in vbProcs müss stets Arg1+2 (ggf als
'   Null/0) angegeben wdn, in ZellFmln nur b.Bedarf (aber im-
'   mer mindest zugehöriges ;)! Benötigt Enumerat cxTriState!
'   Vs1.5 -LSr:CyWorXxl -cd:20121027 -1pub:20160429herber -lupd:20160429t
Function VMx(ByVal VertR, ByVal ErgzZ, ParamArray Bezug())
Dim isNoReg As Boolean, isVV As cxTriState, isRept As VbTriState, _
bezz(1) As Long, kix As Long, kox As Long, lb As Long, pax As Long, _
stix As Long, av, ax, bez, vdf As Variant, ac As Range
Err.Number = 0: On Error Resume Next
If IsMissing(VertR) Or IsNull(VertR) Then
With Application
If IsError(.Caller) Then
Else: Set ac = .Caller
If ac.HasArray Then isVV = Abs(CBool(ac.Rows.Count - 1))
End If
End With
ElseIf IsNumeric(VertR) Then
isVV = VertR Mod 3: isVV = isVV * (-1) ^ CInt(isVV > cxCTrue)
End If
If IsMissing(ErgzZ) Then ErgzZ = Null: isNoReg = isVV 'Anm: Wird stets 2x durchlaufen!
        If IsArray(Bezug(pax)) Then
With WorksheetFunction
bez = .Transpose(Bezug(pax))
On Error Resume Next
If IsError(LBound(bez, 2)) Then
Else: bez = .Transpose(bez)
If IsError(LBound(bez, 2)) Then _
Else On Error GoTo fx: Err.Raise xlErrRef
End If
End With
On Error GoTo fx
bezz(1) = UBound(bez) + 1 - LBound(bez)
If isNoReg Then
ElseIf bezz(0) > bezz(1) Then
ReDim Preserve bez(LBound(bez) To bezz(0) - 1 + LBound(bez))
If Not IsNull(ErgzZ) Then
For kix = bezz(1) + 2 - LBound(bez) To UBound(bez)
bez(kix) = ErgzZ
Next kix
End If
ElseIf CBool(bezz(0)) And bezz(0)  bezz(1) And Not isNoReg Then
ReDim bez(LBound(bez) To bezz(0) - 1 + LBound(bez))
bez(LBound(bez)) = Bezug(pax)
If Not IsNull(ErgzZ) Then
For kix = bezz(1) + 2 - LBound(bez) To UBound(bez)
bez(kix) = ErgzZ
Next kix
End If
vdf(pax - lb) = bez
Else: vdf(pax - lb) = Bezug(pax)
End If
End If
Next pax
isRept = isRept + 1: On Abs(isRept) GoTo zK
If isVV  xlErrNA Then
VMx = CVErr(xlErrNull)
Else: VMx = CVErr(Err.Number)
End If
End If
bez = Empty: vdf = Empty: Set ac = Nothing
End Function
Ich habe sie jetzt nur um ein Feature ergänzt, das stets alle Arg3ff-Angaben zu einem Vektor vereint. Anderenfalls käme eine zu einer regulären normierte Matrix heraus.
So kann man hier den AlternativText gleich mit einbinden.
Viel Spaß, Luc :-?

Na, dann wird's Zeit für eine Zusammenfassung:
25.04.2016 23:32:30
Luc:-?
 QRSTUVWXY
1QuellDatenLuschineopa 1neopa 2Josef BLuc 2Luc 1
2   manuellmanuellmanuellmanuellmanuellmanuell
3AAAaAAAAAAAAAAAAA
4 B BBBBBB
5  XxXxXxXxXxXxXx
6Formeln Fml-Länge:1028779585451
7T2[:T5]:=WENN(ANZAHL2(Q2:S2)=0;"manuell";INDEX(Q2:S2;AGGREGAT(15;6;SPALTE(Q1:S2)/(Q2:S2≠"")-SPALTE(Q2)+1;1)))
8U2[:U5]:=WENN(ANZAHL2(Q2:S2)=0;"manuell";INDEX(2:2;AGGREGAT(15;6;SPALTE(Q1:S2)/(Q2:S2≠"");1)))
9V2[:V5]: {=WENN(ANZAHL2(Q2:S2)=0;"manuell";INDEX(2:2;MIN(WENN(Q2:S2≠"";SPALTE(Q1:S2)))))}
10W2[:W5]:=WENNFEHLER(INDEX(Q2:S2;VERGLEICH("*";Q2:S2;0));"manuell")
11X2[:X5]:=Splint(GLÄTTEN(VJoin(Q2:S2;;-1)&" manuell")&" ";;1;1)
12Y2[:Y5]: {=WAHL(MIN(3*(Q2:S2="")+{1.2.3});Q2;R2;S2;"manuell")}
Und der Rekordhalter ist Luschi, dicht gefolgt von Werner! ;-)
Luc :-?

das geht auch mit zwei Standardformeln
27.04.2016 22:11:40
Daniel

=WennFehler(WVerweis("?*";Q2:S2;1;0);"manuell")
zumindest für Texte.
durch Formeln erzeugte Leerzellen (Leerstring "") werden als leer betrachtet.
Gruß Daniel

Last but not least!
28.04.2016 01:22:37
Luc:-?
Damit hast nun du, Daniel,
den HierarchieGedanken zuende gedacht und damit die einfachste und logischste Lösung geliefert. Gratuliere!
Keine Kröte muss geschluckt wdn, keine Umsortierungen und HilfsCodierungen sind erforderlich und einfach erweiterbar ist sie auch → sehr gut!
Das zeigt auch wieder mal, dass man als Fragesteller niemals frühzeitig seinen Thread als erledigt betrachten sollte, mitunter kommt noch was nach, und das Beste oft zum Schluss.
Abschließend noch mal 'ne Zusammenfassung aller (spezifischen) Lösungen:
 QRSTUVWXYZAA
1QuellDatenLuschineopa 1neopa 2Luc 3Josef BLuc 2Luc 1Daniel
2   manuellmanuellmanuellmanuellmanuellmanuellmanuellmanuell
3AAAaAAAAAAAAAAAAAAAAA
4 B BBBBBBBB
5  XxXxXxXxXxXxXxXxXx
6Formeln Fml-Länge:10287796758545147
7T2[:T5]:=WENN(ANZAHL2(Q2:S2)=0;"manuell";INDEX(Q2:S2;AGGREGAT(15;6;SPALTE(Q1:S2)/(Q2:S2≠"")-SPALTE(Q2)+1;1)))
8U2[:U5]:=WENN(ANZAHL2(Q2:S2)=0;"manuell";INDEX(2:2;AGGREGAT(15;6;SPALTE(Q1:S2)/(Q2:S2≠"");1)))
9V2[:V5]: {=WENN(ANZAHL2(Q2:S2)=0;"manuell";INDEX(2:2;MIN(WENN(Q2:S2≠"";SPALTE(Q1:S2)))))}
10W2[:W5]:=VERWEIS(SUMMENPRODUKT(2^(3-SPALTE(A:C))*(Q2:S2=""));{0.4.6};Q2:S2)Format (W2:W5): 0;;"manuell";@
11X2[:X5]:=WENNFEHLER(INDEX(Q2:S2;VERGLEICH("*";Q2:S2;0));"manuell")Y2[:Y5]:=Splint(GLÄTTEN(VJoin(Q2:S2;;-1)&" manuell")&" ";;1;1)
12AA2[:AA5]:=WENNFEHLER(WVERWEIS("?*";Q2:S2;1;0);"manuell")Z2[:Z5]: {=WAHL(MIN(3*(Q2:S2="")+{1.2.3});Q2;R2;S2;"manuell")}

Luc :-?

AW: dazu nur noch ...
28.04.2016 14:27:34
...
Hallo Luc,
... sicher ist die Formel jetzt im Vergleich betrachtet jetzt die effektivste. Aber das dem zu Grunde liegende Lösungsprinzip basiert auf der Lösungsvorgabe von Sepp. Nicht das Daniel das hierzu alles entscheidende Suchkriterium "?*" nicht auch ohne dies gewusst hätte, aber eben das allein ist zumindest Voraussetzung für die nunmehr beste Lösung, wenn man die Aufstellungszeit außen vor lässt.
Gruß Werner
.. , - ...

AW: dazu nur noch ...
28.04.2016 14:33:29
Daniel
das mit dem "?*" hat Sepp ja dann noch nachgereicht.
was mich mehr wundert ist, dass niemand auf den WVerweis für querliegende Tabellen gekommen ist.
Gruß Daniel

AW: zu WVERWEIS() ...
28.04.2016 14:49:47
...
Hallo Daniel,
... richtig, Sepp hat das hier auch nachgereicht aber über ein Tag vor Dir ;-)
Also WVERWEIS() einsetzen, ist unbenommen hier Dein Verdienst.
Bei mir z.B. fristet diese Funktion ein Nischendasein (teils zu Unrecht, aber das sei hier dahin gestellt), weil ich dafür meist die allgemeinere - weil flexiblere - INDEX() und VERGLEICH()-Funktionskombination einsetze (und das teilweise auch dann, wenn das wesentlich häufiger gebräuchliche SVERWEIS() eingesetzt werden kann) eben mehr aus Gewohnheit bzw. weil es mir eben als erstes einfällt.
Gruß Werner
.. , - ...

VERWEIS hatte ich aber, wenn auch nur ...
28.04.2016 15:46:20
Luc:-?
…ergänzend gemeint, ins Spiel gebracht, Werner,
und zwischendurch mal mit SVERWEIS experimentieren wollen, obwohl ich WVERWEIS ja auch kenne, dann aber doch VERWEIS zu gefälligem Verhalten überreden wollte, was Luschis Schülern letztlich eine „Katastrofe“ beschert hat. Auch ein ganz netter Erfolg, newa?!
Gruß, Luc :-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge