Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Vergleichen

Forumthread: Vergleichen

Vergleichen
Michi
Hallo Ihrs,
Excel soll in Tabelle 1 erstens einen Wert und zweitens einen Text vergleichen. Wenn diese zwei Kriterien stimmen, soll etwas ausgegeben werden. Bisher habe ich nur
...VERGLEICH(Zahl;(INDIREKT("Tabelle1!$G$1:$G$20144"));0)...
Ich möchte aber auch, dass er beispielsweise in Spalte F vergleicht, ob da z.B. "oxygen" steht.
...VERGLEICH(Zahl;(INDIREKT("Tabelle1!$G$1:$G$20144")) UND(VERGLEICH("oxygen";(INDIREKT("Tabelle1!$F$1:$F$20144"));0)...
funktioniert nicht. Wo ist der Fehler bzw. hat jemand eine schönere Lösung?
Vielen Dank im Voraus.
Michi
Anzeige
AW: Vergleichen
25.08.2009 17:14:34
Josef
Hallo Michi,
als Ansatz.
Tabelle1

 ABCD
1WertZahlBezeichnung 
2199oxygen 
32100hydrogen 
43100oxygen 
5    
6    
7    
8    
9Zahl100  
10Bezeichnungoxygen  
11Wert3  
12    
13    

Formeln der Tabelle
ZelleFormel
B11{=INDEX(A2:A4;MIN(WENN((B2:B4=B9)*(C2:C4=B10); ZEILE(1:3))))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


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

Anzeige
AW: Vergleichen
25.08.2009 18:09:29
Michi
Hallo Sepp,
vielen Dank für deine Hilfe. Leider konnte ich deine Formel nicht wirklich in meine einbauen, deshalb hab ich jetzt eine ähnliche Variante versucht:
=WENN(INDIREKT((Tabelle1!$G$2:$G$30000=112)*(Tabelle1!$L$2:$L$30000="oxygen")); INDEX(BEREICH.VERSCHIEBEN((INDIREKT(Tabelle1!$B$1));1;;33;13);C14;4);0)
leider gibt er mir hierfür #BEZUG! aus. Die Tabelle 1 besteht aus vielen untereinander stehenden Matrizen (33 Zeilen, 13 Spalten) mit einer Kopfzeile, in welcher ich eben einen Wert in Spalte G suche (dieser steht für ein Datum, allerdings als Julianday - z.B. ist der 22.04.2003 der 112. Julianday) und eben oxygen in Spalte L. (C14 ist bei mir die Zeile der Matrix)
Meine bisherige Suche hat nur den Julianday berücksichtigt:
=INDEX(BEREICH.VERSCHIEBEN((INDIREKT("Tabelle1!$B$1"));VERGLEICH(112; (INDIREKT("Tabelle1!$G$1:$G$20144"));0)+1;;33;13);C14;4)
hier konnte ich allerdings deine Formel nicht wirklich integrieren - liegt aber wahrscheinlich eher an meiner Unfähigkeit (die Klammern machen einen irgendwann kirre).
Fällt dir noch was ein?
Michi
Anzeige
wenn der Wert aus Spalte H ausgegeben werden soll
25.08.2009 17:24:49
WF
Hi,
{=INDEX(H1:H99;VERGLEICH(1;ISTZAHL(G1:G99)*(F1:F99="oxygen");0))}
ARRAY-Formel {=geschweifte Klammern} nicht eingeben;
Abschluß der Formel mit gleichzeitig Strg / Shift / Enter (statt Enter allein); - das erzeugt sie.
Salut WF
AW: wenn der Wert aus Spalte H ausgegeben werden soll
25.08.2009 18:19:01
Michi
Hallo WF,
so etwa
=INDEX(BEREICH.VERSCHIEBEN((INDIREKT("Tabelle1!$B$1"));VERGLEICH(112; ISTZAHL(INDIREKT("Tabelle1!$G$1:$G$20144")*("Tabelle1!$L$1:$L$20144"="oxygen"));0)+1;;33;13);C15;4)
ist die Formel ersteinmal grundlegend richtig? Er gibt mir zwar noch #NV aus, aber wer weiß, wo der Fehler liegt.
Grüße
Michi
Anzeige
"grundlegend" ist INDIREKT hier absoluter Quatsch
25.08.2009 18:27:47
WF
Hi Michi,
=INDIREKT("Tabelle1!$B$1")
ist dasseben wie
=Tabelle1!$B$1
Salut WF
AW: "grundlegend" ist INDIREKT hier absoluter Quatsch
26.08.2009 08:43:26
Michi
Hallo WF,
bei mir ist aber INDIREKT sehr wichtig, meine Tabelle 1 hat natürlich einen Namen bzw. ist es eine Ergebnistabelle (die heißen immer snp.opt.xls) aus einer Modellrechnung; da ich verschiedene Modellrechnung mache, liegen die Outputdateien jedes Mal woanders und dann würde sich stets der Pfad ändern! deshalb INDIREKT.
Grüße
Michi
Anzeige
da fehlt dann aber ein INDIREKT
26.08.2009 09:28:43
WF
Hi Michi
{=INDEX(BEREICH.VERSCHIEBEN((INDIREKT("Tabelle1!$B$1"));VERGLEICH(112; ISTZAHL(INDIREKT("Tabelle1!$G$1:$G$20144"))*(INDIREKT("Tabelle1!$L$1:$L$20144")="oxygen");0)+1;;33; 13);C15;4) }
und VERGLEICH(112;..... kann nie funktionieren, denn das folgende Matrixprodukt ergibt nur Nullen und Einsen
Salut WF
Anzeige
AW: da fehlt dann aber ein INDIREKT
26.08.2009 10:29:09
Michi
Hallo,
jetzt versteh ich gar nix mehr, wie such ich denn dann die 112? wenn ich nur
{VERGLEICH(1; ISTZAHL(INDIREKT("Tabelle1!$G$1:$G$20144"))*(INDIREKT("Tabelle1!$L$1:$L$20144") ="oxygen");0) }
angebe, wird doch in Spalte G nicht nach der 112 gesucht, oder?
Grüße
Michi
jetzt schon
26.08.2009 10:40:39
WF
bei:
INDIREKT("Tabelle1!$G$1:$G$20144")
Wird Spalte G mit den darin enthaltenen Werten abgesucht
vorher hattest Du:
ISTZAHL(INDIREKT("Tabelle1!$G$1:$G$20144"))
und das ergibt in G nur FALSCH oder WAHR multipliziert mit irgenwas also 0 oder 1
Salut WF
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige