Excel Suche nach einem Begriff, Liefert die entsprechenden Begriffe im Array

380
NOC

Eine Kalkulationstabelle hat 5 Spalten und 600 Zeilen. In Spalte 1 (als Beispiel) gibt es 9 Virustypen, die alle gemischt sind, aber alle in der Schreibweise konsistent sind. Die anderen 4 Spalten sind Merkmale jedes dieser Typen.

"Virus 1" hat also eine h von 1 an n von 1 an R von 1,5 und wurde in Woche 6 gesehen

und dies wird für 600 Zeilen fortgesetzt, wobei Virus '1 bis 9 gemischt ist

In einem separaten Arbeitsblatt möchte ich, dass Excel alle Daten für Virus 3 abruft. Es muss also die gesamte Tabelle nach allem in Spalte 1 namens "Virus 3" durchsucht und die anderen 4 Werte dafür zurückgegeben werden.

Es gibt einen einfachen Sortiervorgang zum Ausschneiden und Einfügen, aber ich kann das nicht tun, da dies ein lebendiges Dokument sein muss. Jede Woche kommen neue Daten hinzu, die gemischt sind. Ich möchte, dass meine Schergen die neuen Daten ausschneiden und in das Master-Sheet einfügen und dann die 9 anderen Tabellenkalkulationsblätter ansehen, die ich zusammen mit den Trendlinien erstellt habe hat entwickelt.

1
Sie haben beispielsweise Virus 1 in mehreren Zeilen und müssen alles extrahieren? yass vor 7 Jahren 0
@yass Virus 1 kommt (zum Beispiel) 70-mal in Spalte 1 vor. In Spalte 1 ist es in Zeile 6, 15, 16, 22, 106 usw. zu finden. Id möchte alle Daten in den Spalten 2, 3, 4 und 5 extrahieren entspricht "Virus 1", wobei die Daten in 70 Zeilen (durch 4 Spalten) in einem separaten Arbeitsblatt festgelegt werden. NOC vor 7 Jahren 0

1 Antwort auf die Frage

0
yass

Verwenden Sie die folgende Formel in das neue Blatt und schreiben Sie in Spalte A den Virusnamen (Virus 1 in der gesamten Spalte mehr als erwartet. Sie können die leeren Zeilen später löschen

=IFERROR(INDEX(Sheet1!$A$2:$E$600,SMALL(IF(Sheet1!$A$2:$A$600=A2,ROW($A$2:$A$600),0),COUNTIF(Sheet1!$A$2:$A$600,"<>"&A2)+ROW(A2)-1)-1,2),"") 

Sie müssen Ctrl+ Shift+ Entergleichzeitig für jede Formel drücken und dann in derselben Spalte nach unten ziehen

2 am Ende repräsentieren Spalte 2 in Sheet1, wo Sie die Daten
A2: E600 haben. Alle Ihre Daten auf dem ersten Blatt (5 Spalten und 600 Zeilen) ändern Sie nach Bedarf.
A2: A600 Die erste Spalte
Wenn If die Zeile des Virus zurückgibt, wenn gefunden oder 0, falls nicht
Countif zählt die nicht übereinstimmenden Zeilen.
Small findet die kleinste entsprechende Zeile ohne 0.
Zeile (A2) enthält die kleinste nte Zeile, die der Index verschieben soll, wenn Sie ihn nach unten ziehen.
Index gibt den Wert in derselben Zeile des Index zurück Virus und Spalte 2 für die obige Formel

For column 3 use:    =IFERROR(INDEX(Sheet1!$A$2:$E$600,SMALL(IF(Sheet1!$A$2:$A$600=A2,ROW($A$2:$A$600),0),COUNTIF(Sheet1!$A$2:$A$600,"<>"&A2)+ROW(A2)-1)-1,3),"")  For column 4 use:    =IFERROR(INDEX(Sheet1!$A$2:$E$600,SMALL(IF(Sheet1!$A$2:$A$600=A2,ROW($A$2:$A$600),0),COUNTIF(Sheet1!$A$2:$A$600,"<>"&A2)+ROW(A2)-1)-1,4),"")     For column 5 use:    =IFERROR(INDEX(Sheet1!$A$2:$E$600,SMALL(IF(Sheet1!$A$2:$A$600=A2,ROW($A$2:$A$600),0),COUNTIF(Sheet1!$A$2:$A$600,"<>"&A2)+ROW(A2)-1)-1,5),"") 

Wenn Sie mit dem Kopieren fertig sind, fügen Sie spezielle Werte für alle Daten an einem anderen Ort ein, damit sie sich nicht ändern, wenn Sie neue Daten haben

Wow .. Ok .. Lass mich diesen Nachmittag einen Lauf machen, um zu sehen, ob es funktioniert. Sehr geschätzt NOC vor 7 Jahren 0