Ich benötige dringend Hilfe bei der Datenvervielfältigung. Angesichts der folgenden Daten möchte ich, dass die erste Sequenz zweimal wiederholt wird. Kurz gesagt, ich möchte, dass die 2. und 3. Spalte zusammen mit der ersten Spalte verschmelzen. es fällt nicht zusammen. Muss ich es die ganze Zeit manuell machen?
Brauchen Sie Hilfe!
bta-mir-225 bta-mir-225 ATCG
bta-mir-454 TGTCG
bta-mir-454 bta-mir-367 AAAGTA
bta-mir-367
Alles, was ich möchte, ist, die Sequenz von 225 in der nächsten Zeile entlang zu duplizieren. dh
bta-mir-225 bta-mir-225 ATCG
**bta-mir-225 ATCG**
bta-mir-454 bta-mir-454 TGTCG
bta-mir-367 bta-mir-367 AAAGTA
microsoft-excel
merge
duplicate
Korat
quelle
quelle
Antworten:
Dafür sind Datenbanken übrigens gedacht. Ich schlage vor, Sie verwenden sie stattdessen. Sie haben jedoch Glück. Eine einfache Lösung in Excel:
Kopieren Sie Ihre erste Spalte in ein neues Arbeitsblatt. Fügen Sie auf diesem Arbeitsblatt eine zweite Spalte mit der Formel in Zelle B1 hinzu:
Die Suche nach "Dummy-Eingaben" ist eine Möglichkeit, die nächste nicht leere Zelle im Quelldatenbereich zu finden. Fügen Sie dann in C1 desselben Blatts Folgendes hinzu:
wo
Sheet1!B:C
bezieht sich auf Ihre zweite und dritte Spalte der Originaldaten.Ziehen Sie diese durch Ihren gesamten Datensatz nach unten.
quelle
Update Eine andere Antwort hat mir das Gegenteil bewiesen. Wenn wir verstanden haben, worum es bei der Frage geht, gibt es dafür eine recht einfache Formel.
Mit einer Formel ist dies nicht möglich. Eine Formel kann nur den Inhalt der Zelle bearbeiten, in die sie geschrieben wurde. Hier kann eine Berechnung in einer Zelle die Verschiebung aller darunter liegenden Zellen um eins erfordern, was nicht funktioniert.
Wenn Sie es automatisieren müssen, müssen Sie ein Makro in VBA programmieren, um es zu tun. Es ist kein schwieriges Makro, aber selbst jemand, der mit dieser Art der Programmierung vertraut ist, wird eine halbe Stunde brauchen. Wenn Sie kein Programmierer sind, brauchen Sie möglicherweise Tage, um es zu lernen.
Vorausgesetzt, Sie haben nie VBA programmiert: Wenn Sie mehrere hundert Zeilen haben, empfehle ich, dies von Hand zu tun. Wenn Sie mehr als tausend Personen finden, die VBA programmieren können, lassen Sie sie dies für Sie tun. Alternativ können Sie jemanden finden, der gut mit Linq umgehen kann, und ihn dazu bringen, dies in Linqpad für Sie zu tun. Wenn Sie eine solche Person nicht finden können und ein Biologe und kein Programmierer sind, lohnt es sich, VBA nur zu lernen, wenn Sie Zehntausende von Zeilen haben. Andernfalls ist es mühsamer, dies von Hand zu tun, aber es dauert möglicherweise weniger Zeit und Mühe.
Eine andere einfache Möglichkeit, dies zu tun, besteht darin, Ihre Daten in eine Datenbank zu übertragen, auch eine leichtgewichtige wie Access. Tun Sie dann, was Sie möchten (es handelt sich um eine einzelne Operation, die als Outer Join bezeichnet wird, und mit Access sollten Sie in der Lage sein, Ihre Daten zu kopieren und einzufügen, wenn sie sauber genug sind) und exportieren Sie sie zurück nach Excel. Dieselbe Kosten-Nutzen-Rechnung gilt: Wenn Sie jemanden kennen, der sich mit SQL gut auskennt, lohnen sich mehr als 1000 Zeilen, ihn aufzusuchen. Wenn Sie das Modellieren relationaler Datenbanken selbst erlernen müssen und keine Kenntnisse in Informatik besitzen, benötigen Sie Dutzende von Stunden, bis Sie nicht nur verstehen, was zu tun ist, sondern auch sicher sind, was Sie getan haben richtig.
quelle