Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Verzweiflung mit INDEX KGRÖSSTE + VERGLEICH
#1
Moin zusammen,

ich dachte immer, dass ich mit Excel zumindest schon fortgeschritten bin.

Doch meine aktuelle Arbeitsmappe bringt mich zur Verzweiflung.

Ich arbeite als SEO und möchte riesige Keyword-Sets automatisiert auswerten. Einen Großteil der Mappe konnte ich auch fertigstellen, aber eine scheinbar simple Formel bringt mich gerade zum verzweifeln.

Es geht darum, dass ich gerne eine KGRÖSSTE-Auswertung machen möchte, aber nur unter bestimmten Voraussetzungen.

Und zwar möchte ich für das Kriterium Seite 1, Seite 2, Seite 3, Seite 4, Seite 5, Seite 6, Seite 7, Seite 8, Seite 9 und Seite 10 jeweils das Keyword mit dem größten monatlichen Suchvolumen ermitteln und dieses dann via INDEX anzeigen lassen. Die Verbindung der INDEX, WENN und KGRÖSSTE habe ich hinbekommen, sodass mir jeweils das Keyword mit dem höchsten Suchvolumen angezeigt wird und zwar jeweils für Seite 1, Seite 2 usw. (Sinn der Funktion ist, dass ich später nur durch den simplen Import von Keyword und Position eines Kunden (also einer Domain / URL) sofort die wichtigsten Begriffe erkennen kann, zu denen diese URL oder Domain derzeit auf Seite 1, Seite 2, Seite 3 usw. rankt). 

Jedoch steckt der Teufel hier scheinbar wieder im Detail:

=INDEX(A:A;VERGLEICH(KGRÖSSTE(WENN(I:I="Seite 1";C:C);1);C:C;0);1)

Mit dieser Formel funktioniert es, dass die Tabelle nach der Größe des Suchvolumens durchsucht wird und mir statt des Wertes "Suchvolumen", der in Spalte C hinterlegt ist, das dazugehörige Keyword angezeigt wird, welches in Spalte A hinterlegt ist. Zudem werden nur die Keywords berücksichtigt, die in Spalte I die Kategorie "Seite 1" enthalten. 

Soweit so gut. 

Möchte ich dasselbe nun aber für "Seite 2" Keywords machen, kommt es zu einem seltsamen Fehler. Und zwar werden nun plötzlich trotzdem Keywords der Kategorie "Seite 1" hinzugefügt. Datenfehler habe ich bereits ausschließen können. 

Vermutlich ist das auf den häufigen Umstand bei Problemen mit KGRÖSSTE zurückzuführen, dass mehrere Werte in Spalte C die gleiche Größe enthalten. Nun hätte ich hier aber durch die zusätzliche Kategorisierung mit "Seite 2", "Seite 3" usw. erhofft, dass dieses Problem vermieden werden kann. 

Zudem weiß ich nicht, wie ich diesen Zusatz +ZEILE etc. einbinde, der den doppelten Werten vorbeugt, indem die jeweilige Zeile dem Wert für die KGRÖSSTE-Sortierung hinzugefügt wird. Habe es mal wie folgt versucht:

=KGRÖSSTE(WENN(H:H="Seite 1";C:C+ZEILE(C:C)/10^6);ZEILE(A1))

Aber das funktioniert auch nicht. Zwar wird mir ein Wert ausgegeben, aber hier bekomme ich es nicht hin, den INDEX(VERGLEICH richtig hinzuzufügen. Sprich: Es wird mir zwar Suchvolumen aus Spalte C ausgegeben, aber ich kann nicht überprüfen, zu welchem Keyword dieses gehört, da ich beim Einfügen der =INDEX(A:A;VERGLEICH Formel Fehlermeldungen bekomme. Ich hätte gedacht, dass es wie folgt funktioniert:

=INDEX(A:A;VERGLEICH(KGRÖSSTE(WENN(H:H="Seite 1";C:C+ZEILE(C:C)/10^6);ZEILE(A1))

Aber das war leider nicht von Erfolg gekrönt. Falls jemand eine Idee hat, was ich falsch mache, oder ob ich zu kompliziert denke und es einen viel einfacheren Weg gibt, dann meldet euch gerne. 

Das Ziel ist letztendlich, dass ich automatisiert jeweils das Keyword mit dem größten Suchvolumen auf Seite 1, Seite 2, Seite 3, Seite 4 usw. erhalte und dieses bei Bedarf weiterspinnen kann, also z.B. jeweils die fünf Keywords mit dem größten Suchvolumen pro Seite usw.


Die Kategorien "Seite 1", "Seite 2" usw. in Spalte I sind übrigens bereits ein Hilfswert. Eleganter wäre es, mit weiteren WENN-Funktionen zu arbeiten.

Position 1-10 = Seite 1 (ergo >0 <11=Seite 1)
Position 11 - 20 = Seite 2
Position 21 - 30 = Seite 3 
Position 31 - 40 = Seite 4
usw. 

Aber das auch noch zu verschachteln fällt mir sehr schwer. 

Ich habe die Datei einfach mal angehängt. Wenn ihr Fragen habt oder euch weitere Infos fehlen, um mir weiterzuhelfen, dann schreibt hier einfach rein. Ich melde mich dann dazu. 

Hoffe, dass mir jemand helfen kann. 

Grüße


Angehängte Dateien
.xlsx   Desitin Testing.xlsx (Größe: 908,7 KB / Downloads: 13)
Antworten Top
#2
Hallo,

da ich nicht weiß, was Du bezweckst, hast Du schon mal daran gedacht, die Tabelle entsprechend zu sortieren, sodass die Werte mit den größten Abfragen oben stehen?
[attachment=43121]


Angehängte Dateien
.xlsx   Desitin Testing_V2.xlsx (Größe: 910,34 KB / Downloads: 2)
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#3
Moin,

nett gemeint ;)

Klar, kann ich die Werte mit Filtern rausbekommen.

Das Problem ist, dass es teilweise Listen mit mehreren zehntausend Worten sind.

Und ich möchte eventuell auch Listen für mehrere Kunden in einer Arbeitsmappe speichern und dann auf einer Art Dashboard automatisiert die Top Keywords für verschiedene Kriterien sammeln, ohne hin und her filtern und per Copy + Paste wieder neue Listen anlegen zu müssen.

Also ja, es ist richtig, dass ich die Werte durch Filtern ebenso herausbekommen kann.

Aber angesichts der Nutzbarkeit im Alltag wäre es super, wenn eine Formel diese Aufgabe übernimmt und z.B. über ein Diagramm dann automatisch und übersichtlich in einem separaten Arbeitsblatt auflistet. Das wird in der Beispieldatei nicht ganz klar, weil die Auflistung dort zu Übungszwecken direkt neben der eigentlichen Tabelle stattfindet. Das wird später etwas anders aussehen und funktionieren. Deshalb mag es so aussehen, als wäre es unnötig kompliziert für einen Wert, den ich auch über Sortieren oder Filtern ermitteln kann. 

Ich möchte die Formel dann später eben auch auf andere Kriterien anwenden, also z.B. nicht "Seite 1", "Seite 2" etc., sondern vllt. zusätzlich kombiniert mit der Suchintention (Do, Know, Go usw.) oder mit einem manuell den Begriffen zugeordneten Überthema.
Antworten Top
#4
Hallo,

versuche es mal mit dieser Formel...


Code:
=INDEX(A:A;VERGLEICH(RUNDEN(KGRÖSSTE(WENN(H:H="Seite 1";C:C+ZEILE(C:C)/10^6);ZEILE(A1));0);C:C;0))
Antworten Top
#5
Moin

Ein (reduziertes) Ergebnis geht mit Pivot.

Arbeitsblatt mit dem Namen 'Tabelle3'
AB
3KeywordSumme von Suchvolumen
4parkinson symptome20200
5epileptische anfälle18100
6morbus parkinson7400
7epileptiker symptome5400
8epilepsie symptome5150
9rolando-epilepsie4400
10orfiril3850
11atosil tropfen3650
12rolando epilepsie3200
13neurocil3150
14symptome parkinson2950
15parkinson-symptome2950
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg

Alternativ geht auch bestimmt was mit PQ.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#6
Hi,

so geht´s:


.xlsx   Desitin Testing_V2.xlsx (Größe: 910,34 KB / Downloads: 11)
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#7
Ich würde mal die Grundlagen bewerten

z.B.
In E2, Statt:

PHP-Code:
=IF(AND(B2=1;D2="Know Simple");(C2/100)*23,3;IF(AND(B2=2;D2="Know Simple");(C2/100)*20,5;IF(AND(B2=3;D2="Know Simple");(C2/100)*13,3;IF(AND(B2=4;D2="Know Simple");(C2/100)*8,7;IF(AND(B2=5;D2="Know Simple");(C2/100)*6,3;IF(AND(B2=6;D2="Know Simple");(C2/100)*4,7;IF(AND(B2=7;D2="Know Simple");(C2/100)*3,8;IF(AND(B2=8;D2="Know Simple");(C2/100)*3,1;IF(AND(B2=9;D2="Know Simple");(C2/100)*2,7;IF(AND(B2=10;D2="Know Simple");(C2/100)*2,3;IF(AND(B2=1;D2="Webseite");(C2/100)*38,3;IF(AND(B2=2;D2="Webseite");(C2/100)*18,9;IF(AND(B2=3;D2="Webseite");(C2/100)*13,8;IF(AND(B2=4;D2="Webseite");(C2/100)*9;IF(AND(B2=5;D2="Webseite");(C2/100)*7;IF(AND(B2=6;D2="Webseite");(C2/100)*5;IF(AND(B2=7;D2="Webseite");(C2/100)*3;IF(AND(B2=8;D2="Webseite");(C2/100)*2,5;IF(AND(B2=9;D2="Webseite");(C2/100)*2;IF(AND(B2=10;D2="Webseite");(C2/100)*0,5;IF(AND(B2=1;D2="Do");(C2/100)*16,3;IF(AND(B2=2;D2="Do");(C2/100)*11,16;IF(AND(B2=3;D2="Do");(C2/100)*8,63;IF(AND(B2=4;D2="Do");(C2/100)*6,2;IF(AND(B2=5;D2="Do");(C2/100)*4,83;IF(AND(B2=6;D2="Do");(C2/100)*3,83;IF(AND(B2=7;D2="Do");(C2/100)*3,06;IF(AND(B2=8;D2="Do");(C2/100)*2,56;IF(AND(B2=9;D2="Do");(C2/100)*2,2;IF(AND(B2=10;D2="Do");(C2/100)*1,96;IF(AND(B2=1;D2="Know");(C2/100)*22,93;IF(AND(B2=2;D2="Know");(C2/100)*15,55;IF(AND(B2=3;D2="Know");(C2/100)*11,25;IF(AND(B2=4;D2="Know");(C2/100)*8,32;IF(AND(B2=5;D2="Know");(C2/100)*6,75;IF(AND(B2=6;D2="Know");(C2/100)*5,12;IF(AND(B2=7;D2="Know");(C2/100)*4,12;IF(AND(B2=8;D2="Know");(C2/100)*3,33;IF(AND(B2=9;D2="Know");(C2/100)*2,87;IF(AND(B2=10;D2="Know");(C2/100)*2,47;IF(AND(B2=1;D2="Divers");(C2/100)*28,5;IF(AND(B2=2;D2="Divers");(C2/100)*15,7;IF(AND(B2=3;D2="Divers");(C2/100)*11;IF(AND(B2=4;D2="Divers");(C2/100)*8;IF(AND(B2=5;D2="Divers");(C2/100)*7,2;IF(AND(B2=6;D2="Divers");(C2/100)*5,1;IF(AND(B2=7;D2="Divers");(C2/100)*4;IF(AND(B2=8;D2="Divers");(C2/100)*3,2;IF(AND(B2=9;D2="Divers");(C2/100)*2,8;IF(AND(B2=10;D2="Divers");(C2/100)*2,5;0)))))))))))))))))))))))))))))))))))))))))))))))))) 

Geht auch:

PHP-Code:
=(C2/100)*INDEX({23,3;20,5;13,3;8,7;6,3;4,7;3,8;3,1;2,7;2,3;38,3;18,9;13,8;9;7;5;3;2,5;2;0,5;16,3;11,16;8,63;6,2;4,83;3,83;3,06;2,56;2,2;1,96;22,93;15,55;11,25;8,32;6,75;5,12;4,12;3,33;2,87;2,47;28,5;15,7;11;8;7,2;5,1;4;3,2;2,8;2,5};B2+10*(MATCH(LEN(D2);{11;8;2;4;6};0)-1)) 

In H1:
Statt
PHP-Code:
=IF(AND(B2>0;B2<11);"Seite 1";IF(AND(B2>10;B2<21);"Seite 2";IF(AND(B2>20;B2<31);"Seite 3";IF(AND(B2>30;B2<41);"Seite 4";IF(AND(B2>40;B2<51);"Seite 5";IF(AND(B2>50;B2<61);"Seite 6";IF(AND(B2>60;B2<71);"Seite 7";IF(AND(B2>70;B2<81);"Seite 8";IF(AND(B2>80;B2<91);"Seite 9";IF(AND(B2>90;B2<106);"Seite 10";FALSE)))))))))) 

reicht schon
PHP-Code:
="Seite " INT((B2-1)/10)+

In I10:
PHP-Code:
=INDEX(A2:A15000;MATCH(LARGE(C2:C15000*(B2:B15000<11);1);C2:C15000*(B2:B15000<11);0)) 
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#8
Moin Leute,

Danke euch für die vielen Antworten.

Ich werde jetzt mal fleißig testen :) und habe auch schon durch die Antworten einiges gelernt.

Cool, dass ihr auch einem Neuling so fix weiterhelft.

Ich melde mich nochmal mit dem fertigen Ergebnis.

Grüße
Antworten Top
#9
Moin,

ich habe jetzt einige Zeit gut mit der Formel arbeiten können, die mir hier von @BoskoBiati am 01.05.2022 vorgeschlagen wurde, im angehängten Dokument Desitin Testing_VZ.xlsx.

Zur Erinnerung, es handelt sich um diese Formel.

=INDEX($A:$A;RUNDEN(REST(AGGREGAT(14;6;($C:$C+ZEILE($A:$A)%%)/($H:$H="Seite 1");ZEILE($A1));1)*10^4;0))

Mit ihr stoße ich allerdings an eine Grenze, an der ich seit einer Woche herum bastele und nicht auf die Lösung komme. Wenn die auszuwertende Tabelle mehr als 10.000 Zeilen hat, funktioniert die Formel plötzlich nicht mehr richtig. Ich habe ein entsprechendes Dokument mal angehängt.

Ab Zeile 72 Spalte I funktioniert die Auswertung plötzlich nicht mehr, obwohl die Formel korrekt übertragen wurde. Aber weder werden die Begriffe nun noch absteigend nach Suchvolumen über die Formel ausgewählt, noch stimmt die Zuordnung der Position. Obwohl also ausschließlich Keywords mit "Seite 3" in Spalte H berücksichtigt werden sollen, tauchen plötzlich einige mit "Seite 1" oder "Seite 2" auf, außerdem werden Begriffe doppelt und dreifach durch die Formel ausgespuckt und auch nicht mehr nach Suchvolumen sortiert.

Ich habe bereits rausgefunden, dass die Formel wieder funktioniert, sobald weniger als 10.000 Keywords, also weniger als 10.000 Zeilen ausgewertet werden müssen. Nur ist das eben im Praxisalltag nicht der Fall. Oft sind die Listen deutlich länger. Was muss ich tun, um die Formel oben entsprechend anzupassen, sodass auch mehr als 10.000 Zeilen ausgewertet werden können? Habe die Datei mal angehängt. 

Die Auswertung der Begriffe auf Seite 1 (Position 1-10) und Seite 2 (Position 11-20) funktioniert noch korrekt, doch ab Seite 3 (Position 21-30) entsteht nur noch Chaos :/

Bin wirklich dankbar für eure Hilfe.

Grüße

Arne


Angehängte Dateien
.xlsx   Testing 1.xlsx (Größe: 1,75 MB / Downloads: 2)
Antworten Top
#10
Hallo Arne,

da ich nicht weis ob du beide Themen verfolgst.

=INDEX($A:$A;RUNDEN(REST(AGGREGAT(14;6;($C:$C+ZEILE($A:$A)/10^6)/($H:$H="Seite 1");ZEILE($A1));1)*10^6;0))
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste