Duplikate mit der zusammengeführten Kopfzeile benötigen

-3

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
Korat
quelle
2
Es ist hilfreich zu sehen, was Sie versucht haben, damit wir Ihnen keine Vorschläge machen, was Sie bereits getan haben. Ich habe auch keine Ahnung, was du versuchst, kannst du 2 Screenshots von einem Vorher und Nachher hinzufügen, um zu zeigen, was du willst?
Dave
Ich habe verstanden, was der Qurat versucht, aber ehrlich gesagt gibt es keine gute Möglichkeit, dies kurz und bündig zu beschreiben. Im Grunde verwendet er Excel als relationale Datenbank. Stellen Sie sich vor, er hat eine relationale Datenbank mit zwei Tabellen, t1 und t2, mit IDs wie "bta-mir-225". Er versucht, eine äußere Verknüpfung der beiden Tabellen herzustellen. Seine Daten befinden sich jedoch nicht in einer relationalen Datenbank. Der Inhalt der beiden Tabellen wird in eine Excel-Tabelle eingefügt, wobei die Spalten nebeneinander liegen.
Rumtscho
Dies ist überhaupt nicht klar, was Sie brauchen. Ich kann von vielen Möglichkeiten denken zu trivialen zu erreichen , was ich denke , Sie fragen, aber jetzt, mit nur diesen Beispieldaten und keine Erklärung dafür, was Sie versuchen, es ist nicht genug Informationen , um wirklich wissen , was Sie wollen.
Enderland

Antworten:

3

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:

=LOOKUP("dummy input",A$1:A1)

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:

=VLOOKUP(B1,Sheet1!B:C,2,FALSE)

wo Sheet1!B:Cbezieht sich auf Ihre zweite und dritte Spalte der Originaldaten.

Ziehen Sie diese durch Ihren gesamten Datensatz nach unten.

Enderland
quelle
Nett! Ich habe mit Sicherheit zu viel "in der Kiste" (oder besser gesagt im Einzelblatt) nachgedacht, als ich es für unmöglich erklärte.
Rumtscho
-2

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.

rumtscho
quelle
Dieser Beitrag beantwortet die Frage nicht. Ich verstehe, dass Sie es aufgrund der Länge nicht als Kommentar veröffentlichen können, aber ich denke, es ist immer noch besser, einen sehr kurzen Kommentar zu verfassen, als eine Antwort zu schreiben, die das Problem nicht löst.
Máté Juhász
2
@ MátéJuhász Nach all meinen Erfahrungen auf SE-Websites gilt die Aussage "Was Sie versuchen, ist unmöglich" als Antwort. Das Schreiben von Vorschlägen, was stattdessen zu tun ist, macht es nicht weniger zu einer Antwort.
Rumtscho
Es ist unmöglich, mehrere verschiedene Zahlen in einer Excel-Zelle im Zahlenformat zu haben, nicht wahr? Selbst mit einigen sehr komplexen Formeln wäre es ohne VBA möglich, aber Sie bieten auch VBA als Alternative an. Frage fragt nicht nach einer Lösung mit nur Formel. Ich bin damit einverstanden, dass eine gültige Antwort nicht möglich ist, aber ich denke nicht, dass dies jetzt der Fall wäre.
Máté Juhász
2
@ MátéJuhász meine Antwort ist "es ist unmöglich". Wenn es falsch ist, ist dies immer noch keine "keine Antwort", sondern eine echte, aber falsche Antwort. Abgesehen davon bin ich immer noch davon überzeugt, dass es unmöglich ist, es mit einer Formel zu tun, da die Formel in jeder Zelle den Inhalt aller Zellen darunter ändern müsste.
Rumtscho
Es gibt viele Möglichkeiten, dies mit Formeln zu tun. Das Problem ist, dass wir nicht wissen, was der volle Umfang des "Dies", das das OP tun möchte, ist, nicht dass sie es nicht mit Formeln tun können.
Enderland