• 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.

Rij van unieke getallen uit een veld met getallen

Status
Niet open voor verdere reacties.

Brockenspook

Gebruiker
Lid geworden
10 sep 2018
Berichten
46
Beste Excel-fanaten,

Is er een mogelijkheid om uit een veld (van ongelijke kolommen) bestaande uit kolommen en rijen, de unieke data te halen doormiddel van een matrix-formule of een macro? Ik kan op het internet veel vinden over het opstellen van een lijst met unieke data uit één kolom, maar kan niks vinden over een veld. Er staat een oefenbestand in de bijlage. Ik ben benieuwd.

Met vriendelijke groet,
Brockenspook

Bekijk bijlage Oefenbestand unieke data.xlsx
 
Laatst bewerkt:
Deze in I2:
Code:
=ALS.FOUT(1/(1/GROOTSTE(ALS(AANTAL.ALS($I$1:I1;$A$1:$E$7)=0;$A$1:$E$7;"");1));"")
Let op: matrixfunctie, d.w.z. afsluiten met Control+Shift+Enter alvorens door te voeren naar onder.
 
Hierbij ook nog een mogelijkheid middels een draaitabel, in kolom P AlexCEL's suggestie
 

Bijlagen

  • Oefenbestand unieke data (1).xlsx
    13,5 KB · Weergaven: 32
Niet matrix.
Code:
=ALS.FOUT(KLEINSTE($A$1:$E$100;1+SOMPRODUCT(AANTAL.ALS($A$1:$E$100;I$1:I1)));"")
 
@EvR, hoe heb je die draaitabel gemaakt ? Ik krijg dat niet zelf voor elkaar :eek:
 
@cow18, Met de toetsen combinatie <Alt> d p krijg je een andere wizard om een draaitabel samen te stellen. Waarschijnlijk heeft @E v R dit trucje toegepast. Knipsel.PNG
 
@Bart, half Engels-Ned, werk met Engelse versie;) @ VenA :thumb:

  • zorg er eerst voor dat je links en boven een lege kolom/regel hebt staan. (Anders werkt het niet, mis je de bovenste rij en linkse kolom)
  • Start dan de Draaitabel Wizard op, Alt+D P, Heb deze zelf in Quick Acces Toolbar staan
  • Kies multiple consoldiation ranges
  • Next,
  • Create Single Page fileld, klik je toch weg
  • Next
  • Kies Range vanaf 1e (lege) kolom en 1e (lege) rij
  • Add
  • Next
  • Kies locatie
  • Finish
  • Klik alles weg (Fields/Velden) en zet Value in rijen/rows ipv Values/waarden
  • Filter eventueel Blanks eruit
 
Laatst bewerkt:
@E v R, Volgens mij zit het niet voor niets zo verstopt. Mijn ervaring is dat het nagenoeg nooit lekker werkt. Een soort voorloper van PowerPivot (al zit het er al wel lang in)
 
Deel die ervaring niet, maar waarschijnlijk wel verstopt vanwege PowerPivot, zal morgen eens kijken of ik tijd heb voor een PowerPivot variant, hoewel (helaas) weinig gebruikers dit tot hun beschikking hebben
 
@EvR, ah zo, ik heb die meervoudige samenvoegingsbereiken nooit echt gebruikt, ik vond ze onhandig.
Ook in deze context vind ik ze wel handig doch oneigenlijk gebruik.
Maar het werkt toch ...
 
Bedankt!

Bedankt allemaal voor het meedenken. Alle drie de uitwerkingen voldoen aan wat ik in gedachte had. Bedankt!
 
Als je in een cel gaat staan van het gebied met waarden:

Code:
Sub M_snb()
  With ThisWorkbook.PivotCaches.Create(3, ActiveCell.CurrentRegion.Address(, , -4150, -1)).CreatePivotTable(ActiveCell.Offset(1 - ActiveCell.Row, ActiveCell.CurrentRegion.Columns.Count), "snb")
    .ColumnGrand = 0
    .RowGrand = 0
    .ClearTable
    With .PivotFields("Value")
      .Orientation = 1
      .PivotItems("(blank)").Visible = 0
    End With
  End With
End Sub
 
Laatst bewerkt:
bijna juist, zie 1e lijn van #7 + nederlandstalige excel in mijn geval
Code:
Sub M_snb()

    With ActiveCell.CurrentRegion
        Set c = .Offset(-1, -1).Resize(.Rows.Count + 1, .Columns.Count + 1)
    End With
    
    With ThisWorkbook.PivotCaches.Create(3, c.Address(, , -4150, -1)).CreatePivotTable(ActiveCell.Offset(1 - ActiveCell.Row, ActiveCell.CurrentRegion.Columns.Count), "snb")
        .ColumnGrand = 0
        .RowGrand = 0
        .ClearTable
        With .PivotFields("Waarde")
            .Orientation = 1
            .PivotItems("(blank)").Visible = 0
        End With
    End With
End Sub
 
Dan maken hem toch gewoon Vlaanderen-proof ?

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.CurrentRegion.Count = 1 Then Exit Sub
    
    With ThisWorkbook.PivotCaches.Create(3, Target.CurrentRegion.Address(, , -4150, -1)).CreatePivotTable(ActiveCell.CurrentRegion.Cells(1).Offset(, ActiveCell.CurrentRegion.Columns.Count + 1), "snb")
        .ColumnGrand = 0
        .RowGrand = 0
        .ClearTable
        With .PivotFields(3)
          .Orientation = 1
          .PivotItems("(blank)").Visible = 0
        End With
    End With

    Cancel = True
End Sub
 
Laatst bewerkt:
@snb, allez vooruit, zondag stem ik op jou :thumb:
 
Ik zal Bart de W. vast verwittigen.. ;)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan