2017-03-29 2 views
2

Ich habe eine Tabelle mit Daten im folgenden Format.Verketten Sie Spaltenüberschriften, wenn der Wert in Zeilen darunter nicht leer ist

Data
enter image description here

Ich möchte, dass die fertige Tabelle die leere Spalte haben unten wie die markierte ein gefüllt werden.

Finished Table
enter image description here

So, ich brauche eine Formel oder VBA, die die Header von nicht-leeren Zellen in jeder Reihe werden zurückkehren und verketten.

+0

Was haben Sie bisher versucht? Zumindest sieht eine geschachtelte 'IF()' Anweisung so aus, als würde sie funktionieren. – BruceWayne

+0

Ich habe versucht, eine WENN-Funktion, aber bekam Fehler, dass es zu viele Argumente hatte – Elissa

Antwort

4

Verwenden¹ das folgende als Array Formel.

=TEXTJOIN("-->", TRUE, IF(LEN(C3:I3), C$2:I$2, "")) 

enter image description here

Pre-Excel 2016 Versionen

Während Sie könnten nur aneinanderzureihen eine Reihe von IF-Anweisungen, eine sauberere alternative möglicherweise eine benutzerdefinierte Funktion zu schreiben (auch bekannt als UDF) .

In einem Standard-Modul-Codeblatt VBA:

Function udf_Stitch_Together(r As Range, _ 
          h As Range, _ 
          Optional d As String = "-->", _ 
          Optional blnks As Boolean = False) As String 
    Dim s As String, c As Long 
    For c = 1 To r.Cells.Count 
     If CBool(Len(r.Cells(c).Text)) Then _ 
      s = s & IIf(Len(s), d, vbNullString) & h.Cells(c).Text 
    Next c 
    udf_Stitch_Together = s 
End Function 

enter image description here


¹ Die TEXTJOIN mit Excel 2016 in den folgenden Versionen eingeführt wurde: Excel für Android-Handys, Excel Mobile, Excel 2016 mit Office 365, Excel 2016 für Mac, Excel Online, Excel für iPad, Excel für iPhone und Excel für Android-Tablet.

+1

Clever! Ich habe mit 'TextJoin()' gespielt, konnte aber keine schöne Methode finden, nur Zellen mit einem Wert zu füllen. – BruceWayne

+0

Ich verwende Excel 2010 und erkennt die TEXTJOIN-Formel nicht. Aber genau das möchte ich machen. Irgendeine ähnliche Formel für meine Version von Excel? – Elissa

+0

Das hängt davon ab, wie viele ** tatsächliche ** Spalten Sie untersuchen möchten. Sieben Spalten sind nicht für sieben geschachtelte IF-Bedingungen nicht verfügbar, aber es gibt kürzere Formeln. – Jeeped

Verwandte Themen