Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1328to1332
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zugeordnete Merkmale auflisten

Zugeordnete Merkmale auflisten
17.09.2013 17:51:38
Wolfango
Hallo zusammen,
ich habe eine Namensliste (Namen in einer Spalte),
Jedem Namen ist jeweils eines von drei Merkmalen (A oder B oder C) oder auch kein Merkmal in der Nachbarspalte zugeordnet.
Siehe Demo-Beispiel:
https://www.herber.de/bbs/user/87326.xlsx
Nun möchte ich aufgelistet bekommen wem das Merkmal A bzw. B bzw. C zugeordnet ist.
Die Auflistung kann in einer Zelle oder aber auch in benachbarten Zellen erfolgen. Ob die Auflistung in einer Spalte oder in einer Zeile erfolgt ist dabei nicht so wichtig.
Wie mache ich das am sinnvollsten?
Wenn möglich ohne VBA (oder aber VBA, welches nicht angetriggert werden muss)
Vielen Dank vorab und Gruß,
Wo

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zugeordnete Merkmale auflisten
17.09.2013 18:05:22
ransi
HAllo
Schau es dir mal an.
Diesen Code in ein Modul:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public Function Verkettenwenn(Kriterium As String, _
        Bereich As Range, _
        SuchSpalte As Integer, _
        ErgebnissSpalte As Integer, _
        Optional Unikate As Boolean = True, _
        Optional Trenner As String = ", ") As String

    Dim arrTmp
    Dim L As Long
    Dim Mydic As Object
    arrTmp = Bereich
    Set Mydic = CreateObject("Scripting.Dictionary")
    If Unikate = True Then
        For L = 1 To UBound(arrTmp)
            If arrTmp(L, SuchSpalte) Like Kriterium Then Mydic(arrTmp(L, ErgebnissSpalte)) = 0
        Next
        Verkettenwenn = Join(Mydic.keys, Trenner)
        Else:
        For L = 1 To UBound(arrTmp)
            If arrTmp(L, SuchSpalte) Like Kriterium Then Mydic(L) = arrTmp(L, ErgebnissSpalte)
        Next
        Verkettenwenn = Join(Mydic.items, Trenner)
    End If
End Function


Der Aufruf ist dann ganz einfach:
Demo

 CDEFGHIJKLM
1           
2   A oder  B oder C       
3  Name 1A       
4  Name 2B       
5  Name 3A       
6  Name 4A       
7  Name 5B       
8  Name 6B       
9  Name 7C       
10  Name 8C       
11  Name 9A       
12  Name 10B       
13  Name 11C       
14  Name 12C       
15           
16           
17Auswertung:   Oder: Auswertung:     
18AName 1, Name 3, Name 4, Name 9   AName 1Name 3Name 4Name 9 
19BName 2, Name 5, Name 6, Name 10   BName 2Name 5Name 6Name 10 
20CName 7, Name 8, Name 11, Name 12   CName 7Name 8Name 11Name 12 
21           

Formeln der Tabelle
ZelleFormel
D18=verkettenwenn($C18;$E$3:$F$14;2;1;WAHR;", ")
I18{=INDEX($E$3:$E$14;KKLEINSTE(WENN($F$3:$F$14=$H18;ZEILE($A$1:$A$12)); SPALTE(A1)))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
In I18:L20 ist die Ausgabe Zellenweise organisiert.
Allerdings mit Matrixformel.
ransi
Anzeige

13 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige