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.

Wörter in Zellen zählen ohne Duplikate
#1
Hallo zusammen,

ich benutze Excel eigentlich nur für wirklich einfach Dinge..
Zur Zeit analyse ich Daten von RNA-Sequenzierungen (Biologie) :19: und hätte ein Anliegen, das meine Arbeit um einiges erleichtern und beschleunigen würde..

Ich habe Listen mit so genannten GO terms (sie Ahnhang, in diesem Fall unter Säule C "pathway"). Ein GO term wird durch viele verschiedene Gene beschrieben (hier Säule D "members_input_overlap"), aber ein Gen kann in mehreren GO terms vorkommen.
Ich würde jetzt gerne die Wörter in allen Zellen der Säule D zählen, möchte aber Duplikate auschließen.
Wie man Wörter in einer Zelle zählt weiß ich, aber wie kann ich das ausweiten und zusätzlich noch Duplikate ausschließen, dass zum Beispiel das Wort "Notch1" in D5 und D6 nur einmal gezählt wird?

   


Hoffe, es wird deutlich, was ich machen möchte :20: 

Vielen Dank schon mal und viele Grüße,
M
Antworten Top
#2
Hallo,

mit VBA sollte es möglich sein.

Lade bitte eine klein Beispiel-Datei hoch.

mfg
Antworten Top
#3
Hi,

danke für deine Rückmeldung, das gibt schon mal Hoffnung Smile


Anbei ein Beispiel.

Grüße,
M


Angehängte Dateien
.xlsx   Beispiel.xlsx (Größe: 9,36 KB / Downloads: 3)
Antworten Top
#4
Hallo,

Begriffe wie "Säule D" sind innerhalb von Excel höchsten als Spalte 4 (=D) definiert.

Sollen die Begriffe aus B2:B8 nur einmal vorkommen, oder nur aus "Pathway" B3:B4?

mfg

(beides ist kein Problem)

Hallo,

der folgende Code bringt alle Worte aller Zellen der Spalte B untereinander und immer 1 Wort pro Zeile in Spalte E.

Code:
Sub Main
for i = 2 to cells(rows.count, 2).end(xlup).row
    Tx = Tx & cells(i,2)
next i

Anz = split(Tx, ";")
cells(2,5).resize(ubound(Anz)+1) = application.transpose(Anz)
End Sub

Danch geht das Eliminieren von Doppelten mit dem Spezialfilter im Menü "Daten".

mfg
Antworten Top
#5
Mega, vielen Dank, das rettet mir einiges an Arbeit! Smile

Das einzig kleine Problem ist, dass das letzte Wort einer Zelle mit dem ersten Wort der nächsten Zelle nach Anwendung des Codes immer zusammen in einer Zelle steht, siehe zum Beispiel E40, E49, E53 usw

Ich denke mal, weil das letzte Wort einer Zelle nie mit ; aufhört?

Könnte man das noch beheben im Code?

Vielen Dank!


Angehängte Dateien
.xlsx   Beispiel_2.xlsx (Größe: 11,19 KB / Downloads: 2)
Antworten Top
#6
Ein angehängtes Semikolon sollte das beheben:

Code:
Sub Main
for i = 2 to cells(rows.count, 2).end(xlup).row
    Tx = Tx & cells(i,2) & ";"  ' <<<<< neu
next i

Anz = split(Tx, ";")
cells(2,5).resize(ubound(Anz)+1) = application.transpose(Anz)
End Sub
Antworten Top


Gehe zu:


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