• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Opgelost Samenvoegen van waarden in tabel ahv andere waarden in tabel

Dit topic is als opgelost gemarkeerd

Mankevisser

Gebruiker
Lid geworden
14 dec 2016
Berichten
16
Hallo,
Zie bijlage.
Is het mogelijk op de geelgearceerde cellen om te zetten in formules (of VB) welke hetzelfde resultaat aangeven?
Alvast hartelijk dank voor het meedenken
 

Bijlagen

En op wat zijn deze waarden gebaseerd?
Ik zie in ieder geval het verband niet.
 
Voor een simpelere oplossing (Excel 365):
Code:
=TEKST.COMBINEREN(", ";WAAR;ALS(B2="";C2;"geen factuur");FILTER($C$2:$C$7;$B$2:$B$7=A2;""))
Mocht je toch de laatste "," willen vervangen door "en" dan wordt het e.e.a. wat complexer:
Code:
=LET(
x;TEKST.COMBINEREN(", ";WAAR;ALS(B2="";C2;"Geen factuur");FILTER($C$2:$C$7;$B$2:$B$7=A2;""));
y;REEKS(LENGTE(x));
z;MAX(y*(DEEL(x;y;1)=","));
ALS.FOUT(VERVANGEN(x;z;1;" en");x))
 

Bijlagen

Laatst bewerkt:
Zo:
Code:
Sub AanhefFactuur()
    n = Cells(Rows.Count, 1).End(xlUp).Row
    For r = 2 To n
        If Cells(r, 2) <> "" Then
            Cells(r, 4) = "Geen factuur"
        Else
            aanhef = Cells(r, 3)
            For rr = 2 To n
                If Cells(rr, 2) = Cells(r, 1) Then
                    aanhef = aanhef & ", " & Cells(rr, 3)
                End If
            Next
            Cells(r, 4) = aanhef
        End If
    Next
End Sub
 
In een keer met.
Code:
=NEMEN(LET(x;VERT.STAPELEN(FILTER(KIES.KOLOMMEN(A2:C7;1;3);A2:A7<>"");FILTER(B2:C7;B2:B7<>""));ALS(B2:B7="";GROEPEREN.PER(INDEX(x;;1);INDEX(x;;2);ARRAYTOTEXT;;0);"Geen factuur"));;-1)
 

Bijlagen

Dank alvast voor jullie reacties. Er kwam helaas gisteren wat tussen. Ik ga vandaag even kijken naar jullie bijdragen. Nogmaals dank
 
Ook in één keer voor alle Excelversies. (NB Array-fomule)
In iedere geval voor alle getoonde voorbeelden.

Code:
=IF($B2<>"";"geen factuur";IFERROR(SUBSTITUTE(SUBSTITUTE(C2&", "&INDEX($C$1:$C$7;MAX(($B$1:$B$7=A2)*ROW($B$1:$B$7));1)&", "&INDEX($C$1:$C$7;LARGE(($B$1:$B$7=A2)*ROW($B$1:$B$7);2);1);", "&$C$1;"");", ";" en ";COUNTIF($B$1:$B$7;A2));$C2))
 
Met vba.
Code:
Sub hsv()
Dim sv, d As Object, i As Long, j As Long
sv = Cells(1).CurrentRegion
Set d = CreateObject("scripting.dictionary")
 For i = 2 To UBound(sv)
   For j = 1 To 2
   If sv(i, j) <> "" Then
          If sv(i, 2) <> "" And j = 1 Then
            d(sv(i, j)) = "Geen factuur"
           Else
            d(sv(i, j)) = d(sv(i, j)) & IIf(d(sv(i, j)) = "", sv(i, 3), ", " & sv(i, 3))
          End If
    End If
Next j
Next i
Range("d2").Resize(d.Count) = Application.Transpose(d.items)
End Sub
 
Terug
Bovenaan Onderaan