Discussion:
Teilstring-Vergleiche mit Summenprodukt
(zu alt für eine Antwort)
Johannes Marquart
2008-05-08 11:11:19 UTC
Permalink
Hallo NG,

ich nutze derzeit die Funktion ZÄHLENWENN(A:A;"*"&G1&"*) mit
"*"&-Wildcards, um eine Teilstring-Suche in der Spalte A nach dem String
in G1 durchzuführen.

Leider unterstützt die Funktion aber nicht mehrere Bedingungen. Dazu
verwende ich nun eine SUMMENPRODUKT-Funktion mit einer Hilfsspalte, die
zählbar ist (C). SUMMENPRODUKT((C1:C65000)*(A1:A65000=G1)*(B1:B65000=G2)
Diese Funktion lässt allerdings den Teilstring-Vergleich nicht zu, da
die Wildcards nicht unterstützt werden.

Meine Fragen daher:

1. Kann ich mehrere ZÄHLENWENN-Funktionen sinnvoll verknüpfen?
2. Kann ich die SUMMENPRODUKT-Funktion mit Wildcards nutzen oder in
Verbindung mit einer anderen Funktion (Finden, Suchen.. klappt alles nicht)?

Besten Dank und viele Grüße,
Hannes
t***@gmail.com
2008-05-08 12:18:29 UTC
Permalink
Grüezi Hans
Post by Johannes Marquart
ich nutze derzeit die Funktion ZÄHLENWENN(A:A;"*"&G1&"*) mit
"*"&-Wildcards, um eine Teilstring-Suche in der Spalte A nach dem String
in G1 durchzuführen.
Leider unterstützt die Funktion aber nicht mehrere Bedingungen. Dazu
verwende ich nun eine SUMMENPRODUKT-Funktion mit einer Hilfsspalte, die
zählbar ist (C). SUMMENPRODUKT((C1:C65000)*(A1:A65000=G1)*(B1:B65000=G2)
Diese Funktion lässt allerdings den Teilstring-Vergleich nicht zu, da
die Wildcards nicht unterstützt werden.
Du müsstest per WildCards die Prüfung der Spalte A vornehmen und dann
'nur' eine bool'sche Angabe in der Spalte C hinterlegen, also z.b.
eine 1.

Diese kannst Du dann bequem zählen.
Post by Johannes Marquart
1. Kann ich mehrere ZÄHLENWENN-Funktionen sinnvoll verknüpfen?
Das ist so nicht mögliche, ZÄHLENWENN() kann nur nach einem Kriterium
prüfen.
Post by Johannes Marquart
2. Kann ich die SUMMENPRODUKT-Funktion mit Wildcards nutzen oder in
Verbindung mit einer anderen Funktion (Finden, Suchen.. klappt alles nicht)?
Dann hast Du das nicht ganz korrekt gemacht ;-)

Wie hast Du es denn versucht?
Was genau wolltest Du prüfen - wie lauten die Kriterien?

Die folgende Kombination in SUMMENPRODUKT() entspricht deiner
ZÄHLENWENN() von oben:

=SUMMENPRODUKT(--ISTZAHL(FINDEN(G1;A1:A10;1)))

--
Mit freundlichen Grüssen

Thomas Ramel
- MVP für MS-Excel -
Johannes Marquart
2008-05-08 12:41:07 UTC
Permalink
Post by t***@gmail.com
Grüezi Hans
Hallo Thomas

danke schonmal für Deine Antworten. Es ist ein wenig komplizierter als
ich hier geschrieben habe, ich muss bisschen ausholen:

Es gibt 2 Spalten, die ich mit gegenseitiger Bedingung auslesen möchte.
Sei Spalte A: Text1 und Spalte B: Text2.

Ich Text1 tauchen URLs auf, die nach 20 verschiedenen Anteilen
ausgelesen werden müssen (daher der Teilstring-Vergleich). In Spalte B
stehen weitere Strings, die jeweils der URL in Spalte A zugeordnet sind.
Diese Strings sind kryptisch, teilweise mit gleichen Teilstrings.

Ich möchte jetzt eine kombinierte Abfrage starten: Welche Teilstrings
aus Spalte B gehören zu Teilstrings aus Spalte A?

z.B.
SpalteA
1 www.beispiel.de/excel
2 www.beispiel.de/excel
3 www.beispiel.de/office

SpalteB
1 vierundzwanzig
2 dreiundvierzig
3 zweiundvierzig

In meiner Formel soll nun "excel" und "zwanzig" gesucht werden, um
darzustellen, dass der Teilstring "zwanzig" einmal auf "excel" referenziert.

Ich brauche also zwei Bedingungen, in die ich die gewünschten
Teilstrings, die in separaten Zellen (sei hier G1-G50 und H1-H50)
einfließen lassen kann. In PseudoSQL:
WHEN(A:A LIKE G1) AND WHEN(B:B LIKE H1) DO COUNT ZELLE+1

ZÄHLENWENN hilft mir hier nicht weiter, da ich wie gesagt nur eine
Bedingung angeben kann. SUMMENPRODUKT konnte meine Wildcard-Lösung
(LIKE) nicht umsetzen.

Da ich Spalte A für etwa 20 und Spalte B für etwa je 200 verschiedene
Teilstrings untersuchen muss, wäre eine Lösung ohne Zwischentabellen
sehr hilfreich.

sorry for tofu
Post by t***@gmail.com
Grüezi Hans
Post by Johannes Marquart
ich nutze derzeit die Funktion ZÄHLENWENN(A:A;"*"&G1&"*) mit
"*"&-Wildcards, um eine Teilstring-Suche in der Spalte A nach dem String
in G1 durchzuführen.
Leider unterstützt die Funktion aber nicht mehrere Bedingungen. Dazu
verwende ich nun eine SUMMENPRODUKT-Funktion mit einer Hilfsspalte, die
zählbar ist (C). SUMMENPRODUKT((C1:C65000)*(A1:A65000=G1)*(B1:B65000=G2)
Diese Funktion lässt allerdings den Teilstring-Vergleich nicht zu, da
die Wildcards nicht unterstützt werden.
Du müsstest per WildCards die Prüfung der Spalte A vornehmen und dann
'nur' eine bool'sche Angabe in der Spalte C hinterlegen, also z.b.
eine 1.
Diese kannst Du dann bequem zählen.
Post by Johannes Marquart
1. Kann ich mehrere ZÄHLENWENN-Funktionen sinnvoll verknüpfen?
Das ist so nicht mögliche, ZÄHLENWENN() kann nur nach einem Kriterium
prüfen.
Post by Johannes Marquart
2. Kann ich die SUMMENPRODUKT-Funktion mit Wildcards nutzen oder in
Verbindung mit einer anderen Funktion (Finden, Suchen.. klappt alles nicht)?
Dann hast Du das nicht ganz korrekt gemacht ;-)
Wie hast Du es denn versucht?
Was genau wolltest Du prüfen - wie lauten die Kriterien?
Die folgende Kombination in SUMMENPRODUKT() entspricht deiner
=SUMMENPRODUKT(--ISTZAHL(FINDEN(G1;A1:A10;1)))
--
Mit freundlichen Grüssen
Thomas Ramel
- MVP für MS-Excel -
Claus Busch
2008-05-08 13:31:00 UTC
Permalink
Hallo Johannes,
Post by Johannes Marquart
Ich möchte jetzt eine kombinierte Abfrage starten: Welche Teilstrings
aus Spalte B gehören zu Teilstrings aus Spalte A?
z.B.
SpalteA
1 www.beispiel.de/excel
2 www.beispiel.de/excel
3 www.beispiel.de/office
SpalteB
1 vierundzwanzig
2 dreiundvierzig
3 zweiundvierzig
In meiner Formel soll nun "excel" und "zwanzig" gesucht werden, um
darzustellen, dass der Teilstring "zwanzig" einmal auf "excel" referenziert.
in I1:
=SUMMENPRODUKT((--ISTZAHL(FINDEN(G1;$A$1:$A$100)))*(--ISTZAHL(FINDEN(H1;$B$1:$B$100))))
und runterziehen soweit benötigt.


Mit freundlichen Grüssen
Claus Busch
--
Win XP Prof SP2 / Vista Ultimate
Office 2003 SP2 / 2007 Ultimate
Johannes Marquart
2008-05-08 14:03:16 UTC
Permalink
Super, das klappt!
Dankeschön!
Post by Claus Busch
Hallo Johannes,
Post by Johannes Marquart
Ich möchte jetzt eine kombinierte Abfrage starten: Welche Teilstrings
aus Spalte B gehören zu Teilstrings aus Spalte A?
z.B.
SpalteA
1 www.beispiel.de/excel
2 www.beispiel.de/excel
3 www.beispiel.de/office
SpalteB
1 vierundzwanzig
2 dreiundvierzig
3 zweiundvierzig
In meiner Formel soll nun "excel" und "zwanzig" gesucht werden, um
darzustellen, dass der Teilstring "zwanzig" einmal auf "excel" referenziert.
=SUMMENPRODUKT((--ISTZAHL(FINDEN(G1;$A$1:$A$100)))*(--ISTZAHL(FINDEN(H1;$B$1:$B$100))))
und runterziehen soweit benötigt.
Mit freundlichen Grüssen
Claus Busch
Johannes Marquart
2008-05-08 11:13:59 UTC
Permalink
Ahso, sorry. Excel 2003. Mit 2007 würde das mit der ZÄHLENWENNS-Funktion
vermutlich klappen, steht aber leider nicht zur Verfügung.
Post by Johannes Marquart
Hallo NG,
[..]
Besten Dank und viele Grüße,
Hannes
Loading...