WENN-Funktion mit mehreren Auswahlmöglichkeiten in einer Zelle

WENN-Funktion mit mehreren Auswahlmöglichkeiten in einer Zelle

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?

  1. Reisen
  2. Dreharbeiten
  3. Sport
  4. 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,4Zeichenfolge in der ZelleA1Die folgende Formel gibt Travelling,Sport,Dancingwie erforderlich zurück:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,1,"Travelling"),2,"Filming"),3,"Sport"),4,"Dancing")

Hinweis: Diese Methode (mit) SUBSTITUTEkann 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

Bildbeschreibung hier eingeben

Benutzerdefinierte Funktionen (UDFs) sind sehr einfach zu installieren und zu verwenden:

  1. ALT-F11 öffnet das VBE-Fenster
  2. ALT-I ALT-M öffnet ein neues Modul
  3. 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:

  1. Öffnen Sie das VBE-Fenster wie oben
  2. Löschen Sie den Code
  3. 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!

verwandte Informationen