Ich habe einige Daten, die Antworten auf einen meiner Fragebögen sind.
Auf manche Fragen kann es mehrere Antworten geben. Beispiel:
Was ist dein Hobby?
- Reisen
- Dreharbeiten
- Sport
- Tanzen
Jede Antwort hat ihre eigene Nummer (wie oben gezeigt).
dh 1 ist für Reisen, 2 für Filmaufnahmen usw.
Einige Zellen haben mehrere Antworten.
Beispiel: Zelle A3 enthält 1,3,4. Zahlen werden durch Kommas getrennt.
In einem anderen Excel-Blatt schreibe ich die Tabelle mit Antworten, die nicht als Zahlen, sondern als Namen (Wörter) dargestellt werden. Bei einzelnen Antworten ist dies einfach mit der Funktion WENN zu erreichen:
IF(A1=1,"Traveling",IF(A1=2,"Filming",IF(A1=3,"Sport",IF(A1=4,"Dancing","Error"))))
Bei mehreren Antworten habe ich jedoch ein Problem. Wie kann ich die Zahlen trennen, damit Excel erkennt, dass Zelle A3 drei Antworten hat: Reisen (1), Sport (3) und Tanzen (4)?
Antwort1
Hier ist eine einfache Lösung, mit Ihrer 1,3,4
Zeichenfolge in der ZelleA1Die folgende Formel gibt Travelling,Sport,Dancing
wie erforderlich zurück:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,1,"Travelling"),2,"Filming"),3,"Sport"),4,"Dancing")
Hinweis: Diese Methode (mit) SUBSTITUTE
kann bis maximal Nummer 9 wiederholt werden. Ich würde dies jedoch nicht empfehlen, da es dadurch etwas unleserlich wird.
Antwort2
Versuchen zu benutzenSUCHENwie IF(SEARCH("1",A1),"Traveling")
statt IF(A1=1,"Traveling")
usw. (zB IF(SEARCH("3",A1),"Sport")
)
Antwort3
Versuche FolgendesBenutzerdefinierte Funktion (UDF):
Public Function MultiReturns(sIN As String) As String
Dim i As Long
nums = Array("1", "2", "3", "4")
lets = Array("Traveling", "Filming", "Sport", "Dancing")
MultiReturns = ""
If sIN = "" Then Exit Function
ary = Split(Replace(sIN, " ", ""), ",")
For Each a In ary
For i = LBound(nums) To UBound(nums)
If a = nums(i) Then MultiReturns = MultiReturns & "," & lets(i)
Next i
Next a
MultiReturns = Mid(MultiReturns, 2)
End Function
Benutzerdefinierte Funktionen (UDFs) sind sehr einfach zu installieren und zu verwenden:
- ALT-F11 öffnet das VBE-Fenster
- ALT-I ALT-M öffnet ein neues Modul
- Füge das Material ein und schließe das VBE-Fenster
Wenn Sie die Arbeitsmappe speichern, wird die UDF mit gespeichert. Wenn Sie eine neuere Version von Excel als 2003 verwenden, müssen Sie die Datei speichern als.xlsmstatt.xlsx.
So entfernen Sie die UDF:
- Öffnen Sie das VBE-Fenster wie oben
- Löschen Sie den Code
- Schließen Sie das VBE-Fenster
So verwenden Sie die UDF aus Excel:
=MultiReturns(A1)
Weitere Informationen zu Makros im Allgemeinen finden Sie unter:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
Und
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
Einzelheiten zu UDFs finden Sie unter:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
Damit dies funktioniert, müssen Makros aktiviert sein!