Verdichten Sie Spaltendaten mit vielen Leerzeichen

323
ghent96

Ich habe diese und ähnliche Methoden hier und anderswo gesehen:

Wie kann ich eine Liste mit fehlenden Daten zu einer neuen Liste zusammenfassen, ohne die Zellen mit fehlenden Daten?

Ich habe Patientendaten, im Grunde so:

D E F H I J label1 label2 label3 label4 label5 label6 8 15 7 8 15 7 4 11 3 5 13 1 4 11 3 2 8 0 3 5 2    5 13 1  2 8 0    3 5 2 
  • Zeile 1 sind Datenetiketten
  • In den Spalten D, E, F werden bis zu 5 mögliche Zahlenwerte zufällig positioniert
  • Es gibt viele Rohlinge
  • Sammeln Sie diese bis zu 5 Zahlen und setzen Sie sie in ein 3x5y-Raster H2: H6, damit ich sie mitteln und anderswo stdev stellen kann
  • keine NUM! Fehler können zurückgegeben werden

Hier und anderswo wurden 2 Lösungen gefunden, die jedoch nicht funktionieren.

=IFERROR(INDEX(D:D,SMALL(IF(ISNUMBER(D:D),ROW(D:D)),ROW(D1))),"") 

Dies funktioniert nicht im Excel 2016-xlsx-Format, scheint jedoch manchmal in 2003 Excel .xls zu funktionieren. Das ist der wirklich seltsame Teil. Ich würde gerne das 2016-Format verwenden, da 97-2003 Fehler beim Speichern gibt. Die Formel gibt Leerzeichen oder die erste Zeilendatenbeschriftung zurück oder alle die gleiche Zahl aus D2 anstelle von bis zu 5 Zahlen, die komprimiert wurden.

=IF(ROWS(H$2:H2)>COUNTA(D:D),"",INDEX(D:D,SMALL(IF(D$2:D$256<>"",ROW(D$2:D$256)),ROWS(H$2:H2)))) 

Dies funktioniert nicht, da NUM zurückgegeben wird! Fehlerwerte für vollständig leere Spalten oder Spalten mit weniger als fünf numerischen Werten. Diese Arbeitsmappe enthält "zukünftige" Tage und Arbeitsblätter, die leer sind, aber die Formel eingefügt oder in ein Templat eingefügt wurde, und die gesamte Arbeitsmappe aus H2: J6 wird gemittelt und in Arbeitsblatt1 angegeben. Das ist wiederum grafisch dargestellt. Es können keine nicht numerischen Fehlerwerte vorhanden sein.

-2
Sie können möglicherweise keine tatsächlichen Daten buchen. Erstellen Sie jedoch eine Tabelle, in der das Problem und die erwartete Ausgabe auf die kleinste Art und Weise dargestellt werden. es wird uns helfen, das Problem besser zu verstehen. Scott Craner vor 5 Jahren 1
"Ich habe Patientendaten und werde aufgrund von HIPAA nichts posten oder teilen." Dies ist, wofür die ** Scheindaten gelten. Sicherlich, Bugs Bunny, Sherlock Holmes und Plato haben nichts dagegen, wenn Sie Daten über sie erfinden cybernetic.nomad vor 5 Jahren 2
Bitte fügen Sie Informationen durch [Bearbeitung] (https://superuser.com/posts/1357649/edit) Ihrer Frage hinzu. Vermeiden Sie Kommentare, da sie schwieriger zu analysieren sind, wenn sie mehr als ein oder zwei einfache Sätze enthalten. cybernetic.nomad vor 5 Jahren 0
ursprünglicher Beitrag mit "Scheindaten" bearbeitet ghent96 vor 5 Jahren 0

2 Antworten auf die Frage

0
Nicholas Humphrey

Ich habe weniger als 50 Ruf, daher kann ich nichts dazu sagen.

Nach meinem Verständnis müssen Sie nur die leeren Zeilen entfernen, oder? Scheint, dass ein einfacher Filter die Arbeit erledigen kann. AFAIK das bekomme ich aus der Probe.

Es können jedoch leere Zellen anstelle von leeren Zeilen vorhanden sein . In diesem Fall ist es eine zeitaufwendigere, aber einfacher zu implementierende Methode, Einfügedaten aus Spalte D an eine andere Stelle zu kopieren, die Leerzeichen zu entfernen und Duplikate zu entfernen. Machen Sie dasselbe für die anderen beiden Spalten und Sie sind fertig. Dies ist einfach, da Sie insgesamt nur 3 Spalten bearbeiten müssen.

Vielen Dank, dass Sie versuchen zu helfen. Es gibt verschiedene Methoden zum Filtern, Kopieren und Einfügen sowie zum Auswählen von Daten, um leere Zellen und Zeilen zu entfernen. Diese sind sehr nützlich, aber ich bin am meisten an einer Formel für diese Anwendung interessiert. ghent96 vor 5 Jahren 0
0
ghent96

= IFERROR (INDEX (D: D, KLEIN (WENN (ISNUMMER (D: D), ROW (D: D)), ROW (D1))), "")

Dies funktioniert tatsächlich, wenn das Einfügen korrekt ist, wobei die letzte Zeile (ROW (D1)) eine relative Referenz bleibt. Die anderen Referenzen können je nach Wunsch relativ oder absolut sein. In vielen Quellen wird empfohlen, alle Zielzellen für eine Arrayformel hervorzuheben. Geben Sie dann die Formel in die erste Zelle ein und drücken Sie dann cntl + shift + enter. Das ist falsch. Dies setzt buchstäblich die gleiche Formel in jede Zelle. Diese letzte relative ROW-Referenz muss für jede Zielzelle für die Formelausgabe aktualisiert werden.

Klicken Sie in die erste Zelle des gewünschten Ausgabebereichs. Geben Sie die Formel ein. C + S + E. Ziehen Sie dann die rechte untere Ecke und ziehen Sie die Formel über alle gewünschten Ausgabezellen. In meinem Fall habe ich die Formel in H2 eingegeben. C + S + E. Drum ab H2: H6. Dann wird die kolumnare Gruppe horizontal von H2: H6 bis J2: J6 versetzt. Funktioniert jetzt perfekt.