2017-01-08 1 views
1

ich folgende Ausgabe in Excel mit Excel-Formel nurExcel-Formel die Werte für jede Zeile in einer einzelnen Zelle für verketten

Meine Eingänge sind Zahlen zwischen 1 und 10 in jeder Reihe zu bekommen versuchen. Ich brauche die Ausgabe einer Zeichenfolge zu enthalten, die durch or getrennt Eingänge in einer einzelnen Zelle

A B 
1 1 or 2 or 3 or 4 
2 
3 
4 

Dank

+0

Welche Version von Excel verwenden Sie? Neuere haben TEXTJOIN –

+0

Ich benutze Excel 2007 – user2827927

Antwort

1

Angenommen, Sie verwenden Excel 2007, ich habe unten ein paar Optionen setzen.

Leider glaube ich nicht, dass es irgendeine nette Weise ist dies mit Excel nativen Funktionen zu tun - also warum sie TEXTJOIN in Excel 2016 erstellt

Option 1
Die naheliegendste Lösung explizit ist out zu schreiben die Formel. Wenn Sie nur dieses eine Mal tun müssen, und es gibt nicht viele Werte (zB 4 Werte im Beispiel), dann ist dies ganz gut

=A1&" or "&A2&" or "&A3&" or "&A4 

Option 2
Alternativ, wenn Sie diese verwenden möchten ein paar verschiedene Zeiten mit möglicherweise vielen Werten. Ich würde vorschlagen, Sie verwenden eine UDF (benutzerdefinierte Funktion). Das heißt, eine Funktion schreiben, die nicht genau das, was Sie so erforderlich, dass Sie den Namen der Funktion auf dem Arbeitsblatt wie folgt verwenden:

=JoinWithOr(A1:A4) 

die Ausgabe 1 or 2 or 3 or 4 geben - zum Beispiel.

Der Code für diese Funktion ist unten. Sie müssen den VBA-Editor öffnen, eine module hinzufügen und den Code einfügen, um die Funktion verwenden zu können.

Function JoinWithOr(rng As Range) As String 
    Dim r As Range 
    Dim result As String, orString As String 

    orString = " or " 

    For Each r In rng 
     result = result & r.Value & orString 
    Next r 

    JoinWithOr = Left(result, Len(result) - Len(orString)) 
End Function 
Verwandte Themen