[Excel] Nummers invoegen aan het begin van meerdere waardes

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • fsociety59
  • Registratie: Mei 2018
  • Laatst online: 22-01 21:19
Mijn vraag
Stel dat ik in Excel een kolom heb van meerdere waardes, bijv:

12345
67890
54321
09876

Nu wil ik aan al deze waardes “333” toevoegen aan het begin, zonder de rest van de waardes te veranderen. Zodat het wordt:

33312345
33367890
33354321
33309876

Is er een makkelijke manier om dit te doen (liefst zonder formule)?

Relevante software en hardware die ik gebruik
Excel 365, Windows 10

Wat ik al gevonden of geprobeerd heb
Google. Maar geen antwoord gevonden dat doet wat ik wil.

Alle reacties


Acties:
  • 0 Henk 'm!

  • 99ruud99
  • Registratie: December 2018
  • Nu online
Gewoon met tekst commando? "333" & "B1" ?

Acties:
  • 0 Henk 'm!

  • fsociety59
  • Registratie: Mei 2018
  • Laatst online: 22-01 21:19
99ruud99 schreef op zondag 24 september 2023 @ 21:44:
Gewoon met tekst commando? "333" & "B1" ?
=TEKST.SAMENV(“333”;A1) werkt.

Alleen nu een volgende vraag, is het ook mogelijk om het eerste getal van alle waardes weg te halen, en te vervangen voor 333?

Acties:
  • 0 Henk 'm!

  • Reinier
  • Registratie: Februari 2000
  • Laatst online: 19:24

Reinier

\o/

fsociety59 schreef op zondag 24 september 2023 @ 22:35:
[...]


=TEKST.SAMENV(“333”;A1) werkt.

Alleen nu een volgende vraag, is het ook mogelijk om het eerste getal van alle waardes weg te halen, en te vervangen voor 333?
Jazeker. Even hier zoeken bij text formulas. Bijv MID() en LEN().

Acties:
  • 0 Henk 'm!

  • Crahsystor
  • Registratie: Februari 2009
  • Laatst online: 19:05
Wat ook gewoon werkt is
="333"&A1

Iets aan het begin of eind weghalen kan ook prima, maar is iets ingewikkelder. Zeker in het Nederlands. Probeer, indien mogelijk, voor Excel in het Engels te zoeken naar oplossingen. Dan weet je sneller wat kan of niet kan. Daarna moet je ergens uitvogelen welke vertaling ze verzonnen hebben. Of je stelt de taal in op engels, voert de engelse formules in en het werkt ook als je het later in het Nederlands opent.

Een paar seconden zoeken levert je bijvoorbeeld: https://www.exceldemy.com...rase_Characters_from_Left

Addicted to silent computing


Acties:
  • 0 Henk 'm!

  • fsociety59
  • Registratie: Mei 2018
  • Laatst online: 22-01 21:19
Het is eigenlijk niet een ideale oplossing. Het liefst zou ik iets willen zodat ik de “333” aan de waardes toe kan voegen. En niet de waardes ergens apart bewaden, en dan nieuwe cellen maken voor de output van de TEKST functie. Maar dat kan niet denk ik?

Acties:
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Als de getallen in kolom A staan, beginnend in A2, kun je onderstaande macro gebruiken.
Je hebt dan geen extra kolom nodig.
code:
1
2
3
4
5
6
7
8
Sub macro1()
Dim r as integer
r = 2
Do Until IsEmpty(Range("A" & r))
Range("A" & r).Value = "333" & Range("A" & r).Value
r = r + 1
Loop
End Sub

[ Voor 3% gewijzigd door dix-neuf op 24-09-2023 22:55 ]


Acties:
  • 0 Henk 'm!

  • Crahsystor
  • Registratie: Februari 2009
  • Laatst online: 19:05
Probeer je alles binnen dezelfde cel te houden? Dus getal = 333 & getal? Dat zal niet lukken zonder code.

Je zou, als de waarde altijd 333 is, een cel kunnen gebruiken om dat in te stellen. Helemaal links op de hoogte van de formulebalk staat je huidige geselecteerde cel meestal. Stel dat je op cel A1 klikt, dan zie je dus daar staan A1. Klik je in dat vakje en type je wat, dan geef je A1 een naam, stel 'drietjes'. Vervolgens kun je in je formule gebruik maken van die naam. (Niet nodig, maar wel erg handig als je snel het overzicht verliest.)

Vervolgens kun je ergens anders de formule typen = drietjes & A2

Addicted to silent computing


Acties:
  • 0 Henk 'm!

  • The_Vice
  • Registratie: Augustus 2002
  • Laatst online: 10:50
fsociety59 schreef op zondag 24 september 2023 @ 22:47:
Het is eigenlijk niet een ideale oplossing. Het liefst zou ik iets willen zodat ik de “333” aan de waardes toe kan voegen. En niet de waardes ergens apart bewaden, en dan nieuwe cellen maken voor de output van de TEKST functie. Maar dat kan niet denk ik?
Niet met formules, daarmee maak je in een nieuwe kolom het resultaat. Iets wat je daarna wel weer op de originele positie kan kopieren en dan plakken als platte tekst.

Als je de kolom zelf wil vervangen met de extra karakters dan kom je in macro-land uit. Dan kan je door een kolom heen wandelen en op basis van de inhoud (stel tel het aantal characters) er extra karakters aan toevoegen.
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
Option Explicit

Sub test()
Dim item As Variant
For Each item In Range("A2:A24")
    If Len(item <= 6) Then
        item.Value = "333" & item
    End If
Next item

End Sub

Acties:
  • 0 Henk 'm!

  • fsociety59
  • Registratie: Mei 2018
  • Laatst online: 22-01 21:19
Bedankt voor jullie reacties, ik ga even experimenteren wat het handigst is voor mij.

  • m-vw
  • Registratie: Mei 2013
  • Laatst online: 17:51

m-vw

Dus?

Je kan zelfs een aangepaste getalnotatie aanmaken die er voor zorgt dat je celwaarde altijd begint met 333.

Als je 333000000 als type van een cel(reeks) definieert en dan bijvoorbeeld 123 intypt krijg je 333000123, 12345 wordt 333012345 en 123456 wordt 333123456.

Er zit echter geen beperking op de input reeks.

Acties:
  • 0 Henk 'm!

  • LievenD
  • Registratie: Juli 2005
  • Laatst online: 18:44
Wat @m-vw zegt:

Je kan inderdaad als getalopmaak het volgende ingeven: 3330
Daartoe ga je op het tabblad Start naar Getalopmaak (zie rode pijl).

Afbeeldingslocatie: https://tweakers.net/i/WKciaihG47iEyUJTbCo89C29tsI=/800x/filters:strip_exif()/f/image/vEG8oZZzVwvf1aVChorpuGIs.png?f=fotoalbum_large

Ga dan op het tabblad Getal naar Aangepast en tik bij type: 3330 en klik op OK. (zie hieronder)
Op die manier wordt elke waarde die je in die cel tikt, voorafgegaan door '333'.

Afbeeldingslocatie: https://tweakers.net/i/XQwr5Ph9Ciu9Gz2WD0v1AMgV71s=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/7IYPuIwyxf8srKbRLM2PLkDi.png?f=user_large

Acties:
  • 0 Henk 'm!

  • sypie
  • Registratie: Oktober 2000
  • Niet online
fsociety59 schreef op zondag 24 september 2023 @ 22:47:
Het is eigenlijk niet een ideale oplossing. Het liefst zou ik iets willen zodat ik de “333” aan de waardes toe kan voegen. En niet de waardes ergens apart bewaden, en dan nieuwe cellen maken voor de output van de TEKST functie. Maar dat kan niet denk ik?
Wat is er mis met even een nieuw tabblad aanmaken, daar je gewenste resultaten bereiken en dan de output kopiëren en plakken in het originele tabblad? Het ingevoegde tabblad kun je daarna weer verwijderen want dat was alleen even een kladblaadje voor je berekeningen.

Acties:
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
fsociety59 schreef op zondag 24 september 2023 @ 22:35:
Alleen nu een volgende vraag, is het ook mogelijk om het eerste getal van alle waardes weg te halen, en te vervangen voor 333?
Die aanvulling op je vraag zie ik nu pas.
Mijn vorige macro hoeft daarvoor slechts een kleine wijziging te ondergaan, maar ook rekening houdend met eventuele lege cellen (tussen niet lege cellen) in kolom A, kan het dan bijvoorbeeld zo:

code:
1
2
3
4
5
6
7
8
Sub macro2()
Dim r As Integer
For r = 1 To Range("a" & Rows.Count).End(xlUp).Row
If Not IsEmpty(Range("a" & r)) Then
Range("a" & r).Value = "333" & Right(Range("a" & r), Len(Range("a" & r)) - 1)
End If
Next r
End Sub

Moet de macro niet in rij 1 maar in rij 2 starten, wijzig dan 'For r = 1....' in 'For r = 2....'
En er is vanuit gegaan dat de inhoud van de cellen altijd met een getal begint.

Zonder macro:
als de gegevens in kolom A in A1 beginnen, typ in B1 en kopieer naar benedenin kolom B:
code:
1
=333&RECHTS(A1;LENGTE(A1)-1)

[ Voor 7% gewijzigd door dix-neuf op 01-10-2023 17:23 ]

Pagina: 1