Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Sverweis mit Mehrfachtreffern | Ergebnis in einer Zelle erhalten
#11
:16: Haha, ja klar - der erste hat ja nur ein Ergebnis Big Grin

FUNKTIONIERT! Merci.

Naja als Formel hätt ich mir jetzt in sofern beholfen, dass ich (da die Ergebnisse ja bis max. 30 Eigenschaften / Produkt überschaubar sind) die fertige Formel einfach bis Zeile +30 rübergezogen und dann wie folgt zusammengefasst (verkürzt hier in Spalte J dargestellt)

Hätte dann in Spalte K mir die Formel als Werte angezeigt gelassen und dann per "Suchen und Ersetzen" alle ";;" mit "" ersetzt (also nichts).
Bei den ungeraden, bei denen am Ende dann dennoch ein ";" stehen bleibt - komme ich für mein Ergebnis zurecht.

Oder gibt's was viel besseres?

VG Olli


Angehängte Dateien
.xlsx   Beispiel Forum.xlsx (Größe: 11,36 KB / Downloads: 2)
Antworten Top
#12
(07.03.2017, 15:32)Ego schrieb: Hallo Olli


b) Benötigst du für eine Formellösung nicht auch eine Formel für die Artikel?

Oder meintest Du Spalte D?

Die hätte ich mir vorab aus A kopiert und alle doppelten gelöscht...
Und dann in Spalte E die Formel von steve1da (Merci nochmal) dort eingefügt.

VG
Antworten Top
#13
(07.03.2017, 15:07)Ego schrieb: ps.
Sorry, hatte die "30" nicht wahrgenommen.
Trotzdem würde ich VBA empfehlen. Die Formel überprüpft für jede Zelle (030*maximale Anzahl der Artikel) die gesamte Liste.

Gibt es da etwas was ich "variabel" für solch eine Liste einsetzen kann?
Variabel im Sinne von wenn es mal nicht 30 sonder 45 sind?

Und wie gesagt: VBA kann ich gerade einmal so ausschreiben... :s
Antworten Top
#14
Hallo Olli,

In der Anlage einmal eine VBA-Lösung.

Das Programm erwartet eine sortierte Liste und zwei benannte Zellen:

a) "Liste" = Start der Liste
b) "Ausgabe" = Start der Ausgabe

durch die Namensvergabe kannst du diese Zellen beliebig in der Arbeitsmappe positionieren. Es werden aber gnadenlos alle Zellen unter der Zelle Ausgabe und direkt daneben überschrieben.

Falls eine neue Datenversion ein kürzere Ergebnisliste liefert (oder besser immer) vor dem Aufruf den Ausgabebereich löschen.


Angehängte Dateien
.xlsm   Beispiel Forum-3.xlsm (Größe: 23,14 KB / Downloads: 11)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • derOlli
Antworten Top
#15
Hallo,

hier mit einer Hilfsspalte, da ich nicht weiß, wie die Werte in B aussehen. Bei Zahlen könnte man ohne Hilfsspalte auskommen:

Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDEFGHIJKLMNOPQRSTUVWX
1 Ausgangslage  Wunschlösung                
21Artikel Aa Artikel Aa a         aEndeEndeEndeEndeEndeEnde
32Artikel Bs Artikel Bs;d;f;g sdfg      ss;ds;d;fs;d;f;gEndeEndeEnde
42Artikel Bd Artikel Ch;j hj        hh;jEndeEndeEndeEndeEnde
52Artikel Bf Artikel Dk;l;ö;ä;# klöä#     kk;lk;l;ök;l;ö;äk;l;ö;ä;#EndeEnde
62Artikel Bg                     
73Artikel Ch                     
83Artikel Cj                     
94Artikel Dk                     
104Artikel Dl                     
114Artikel Dö                     
124Artikel Dä                     
134Artikel D#                     

ZelleFormel
A2=MAX($A$1:A1)+(ZÄHLENWENN($B$2:B2;B2)=1)
E2=SVERWEIS(ZEILE(A1);A:C;2;0)
F2=INDEX($R2:$X2;VERGLEICH("Ende";R2:X2;0)-1)
H2=WENNFEHLER(INDEX($C:$C;AGGREGAT(15;6;ZEILE($A:$A)/($B:$B=$E2);SPALTE(A1)));"")
I2=WENNFEHLER(INDEX($C:$C;AGGREGAT(15;6;ZEILE($A:$A)/($B:$B=$E2);SPALTE(B1)));"")
R2=H2
S2=WENN(I2="";"Ende";R2&";"&I2)
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • derOlli
Antworten Top
#16
Äh ich weiß jetzt gar nicht was ich sagen soll? :19: :05:

Dat geht doch nicht mit rechten Dingen zu :21:
Zauberei Idea

Macht es für mich als Newbie Sinn, nach der Funktionsweise zu fragen oder lieber einfach so hinnehmen und freuen Big Grin?
Kann man das "ohne großes Ding" irgendwie erlernen? Oder ist hier Kurse besuchen, Bücher lesen und Jahrelanges Wissen die Basis dazu?

Egal wie, ich bin platt - you made my day! :18:

Danke an alle! :15:
Antworten Top
#17
Hallo BoskoBiati

ja, so würde es auch gehen. Danke dafür Big Grin

Nunja Spalte B sind überwiegend Ziffern, selten Worte und ab und an Kombinationen.
Und "Ende" dann hinterher einfach rauslöschen?
Antworten Top
#18
Hallo,

in F steht doch das Ergebnis, welches Du haben willst. Da brauchst Du nichts mehr löschen.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#19
Hallo,

hier von mir auch eine VBA Lösung:


Code:
Option Explicit

Sub mach_wieder()
   Dim i As Long, j As Long
   Dim lngZ As Long

   Dim arr As Variant
   Dim varK
   Dim D1 As Object
   Set D1 = CreateObject("Scripting.Dictionary")

   Application.ScreenUpdating = False

   With Worksheets("Tabelle1")
     lngZ = .Cells(.Rows.Count, 1).End(xlUp).Row
       arr = .Range("A2:B" & lngZ)        
       For i = 1 To UBound(arr)          
         D1(arr(i, 1)) = D1(arr(i, 1)) & "," & arr(i, 2)
       Next i
       Range("D2").CurrentRegion.Offset(1, 0).Resize(, Range("D2").CurrentRegion.Columns.Count).ClearContents
       For Each varK In D1.Keys
           .Cells(j + 1, 4) = varK
           .Cells(j + 1, 5) = Mid(D1(varK), 2)
           j = j + 1
       Next
   End With
   
End Sub
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • derOlli
Antworten Top
#20
Guten Morgen Zusammen,

@ Atilla: das füge ich dann als Modul ein? Das würde ich noch hinbekommen. Aber, was muss ich danach machen? Sorry Undecided

@ Ego: Kannst Du Dir bitte die Liste nochmals anbei anschauen? Das Ergebnis stellt sich falsch dar - wahrscheinlich weil hier der Fall der Fälle ist und die Datensätze / Artikel nicht 30, sondern 43 beträgt? Kann man das pauschal auf 100 setzen? Dann wäre ich fein raus für künftige Listen.

Danke euch vielmals.

Edit:
Bei Eigenschaften <=30 funktioniert es und es zeigt mir die Eigenschaften schön separiert mit Komma an...


Angehängte Dateien
.xlsm   Liste Forum Beispiel.xlsm (Größe: 39,44 KB / Downloads: 2)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste