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

gedeelte van een cel in ander cel plaatsen.

Status
Niet open voor verdere reacties.

DaveAX

Gebruiker
Lid geworden
12 mei 2020
Berichten
9
Goedendag,

Ik heb een lijst met ip adressen bijv: 192.168.100.10, in een andere cel zou ik graag de laatste 6 cijfers van het ip adres (zonder puntjes) willen weergeven als ID. ( in dit geval dus 100010).

Is dit mogelijk in excel, en zo ja, hoe?

Alvast bedankt voor het meedenken..
 
Je bedoelt 810010?
PHP:
=RECHTS(SUBSTITUEREN(A1;".";"");6)
 
Ja en nee..

Ik bedoel eigenlijk ook (indien mogelijk) dat het laatste getal van het ip adres 10 meteen word vervangen voor 010..

Het ip adres bestaat uit xxx.xxx.xxx.xxx, maar als het laatste getal onder de 100 komt zou ik daar graag een extra 0 voor gezet willen hebben..
Het IP adres wordt namelijk direct in mijn controller geschoten, en kan er niet mee overweg als ik het ip adres zelf 010 maak...

Iig alvast bedankt voor je reactie, ik ga daar op voortborduren... :d
 
Probeer deze eens

Code:
=ALS(--SUBSTITUEREN(DEEL(SUBSTITUEREN(""&A1&HERHALING("";10);".";HERHALING("@";100));3*100;100);"@";"")<100;RECHTS(VERVANGEN(RECHTS(SUBSTITUEREN(A1;".";"");6);5;3;"0"&SUBSTITUEREN(DEEL(SUBSTITUEREN(""&A1&HERHALING("";10);".";HERHALING("@";100));3*100;100);"@";""));6);RECHTS(SUBSTITUEREN(A1;".";"");6))

Ik heb wat IP adressen van internet geplukt. Daarmee lukte het wel

Edit: Er mistte nog een RECHTS in de formule. Zo krijg je wat je wenst
 
Laatst bewerkt:
Dat is inderdaad exact wat ik zocht!

Helemaal top. Bedankt !!
 
Iets kortere optie:
Code:
=SUBSTITUEREN(VERVANGEN(A3;1;8;"");".";ALS(ISGETAL(--RECHTS(A3;3));"";"0"))
 
Duidelijk de snellere weg naar Rome
 
Niet helemaal.. De waarde die hier uit komt, komt niet overeen met wat JVeer had gemaakt...

Wel bedankt voor je reactie!
 
Ik was ook naar zoiets op zoek maar kwam erachter dat niet ieder IP adres dezelfde lengte heeft. Vandaar dat ik naar de laatste punt in de string zoek om vanaf daar door te werken.

Ben benieuwd of er toch een korter alternatief is.
Hier het testbestandje waar ik mee werkte met een mogelijkheid voor een alternatief
 

Bijlagen

Laatst bewerkt:
Voor je voorbeeld voldeed het prima. Tip: plaats voortaan even een Excelbestandje met wat voorbeelden en gewenste uitkomsten. Misschien kan jij die lijst met IP adressen nog even plaatsen. Vind het wel een leuke vraag om nog even naar te kijken...
 
Laatst bewerkt:
Code:
=ALS(--DEEL(VERVANGEN(A2;1;7;"");VIND.SPEC(".";VERVANGEN(A2;1;8;""))+2;10)<100;RECHTS(VERVANGEN(RECHTS(SUBSTITUEREN(A2;".";"");6);5;3;"0"&DEEL(VERVANGEN(A2;1;7;"");VIND.SPEC(".";VERVANGEN(A2;1;8;""))+2;10));6);RECHTS(SUBSTITUEREN(A2;".";"");6))

Iets korter
 
Voor mijn eerste deel van het vraagstuk zeker.. Maar er kwam bij jou geen extra 0 naar voren ;-)

In de bijlage mijn bestandje (under construction). Het enige waar ik nu nog mee zit, is dat als er geen IP adres ingevuld is, er in de cel #WAARDE! komt te staan..

En het lukt me niet om er met een ALS.FOUT formule deze uit te krijgen..
 

Bijlagen

Code:
ALS(L7="";"";

Zet dit voor de formule
 
Deze voor M7?
Code:
=ALS.FOUT(TEKST(DEEL(L7;1+VIND.SPEC("@";SUBSTITUEREN(L7;".";"@";2));VIND.SPEC("@";SUBSTITUEREN(L7;".";"@";3))-VIND.SPEC("@";SUBSTITUEREN(L7;".";"@";2))-1);"000")&TEKST(VERVANGEN(L7;1;VIND.SPEC("@";SUBSTITUEREN(L7;".";"@";3));"");"000");"")
Ondervangt elke combinatie van 1,2,3-cijferige groepen op het einde van het IP-adres. Daarom wel wat langer geworden.

Edit: vb gewijzigd, meerdere formules gedemonstreerd in bijlage.
 

Bijlagen

Laatst bewerkt:
Deze voor M7?
Code:
=ALS.FOUT(HERHALING(0;4+VIND.SPEC("@";SUBSTITUEREN(L7;".";"@";2))-VIND.SPEC("@";SUBSTITUEREN(L7;".";"@";3)))&SUBSTITUEREN(VERVANGEN(L7;1;VIND.SPEC(".";L7;VIND.SPEC(".";L7)+1);"");".";ALS(ISGETAL(--RECHTS(L7;3));"";ALS(ISGETAL(--RECHTS(L7;2));"0";"00")));"")
Ondervangt elke combinatie van 1,2,3-cijferige groepen op het einde van het IP-adres. Daarom wel wat langer geworden.

Deze tackelt idd het probleem van de lege waarde en pakt het derde getal goed op, alleen bij het vierde getal, plaats deze geen extra "0" indien het getal lager is als 100..
 
Bij M10 zie ik een afwijking tussen de formule van mij en die van jou Alex

@Dave, de foutwaarden worden weggehaald als je het deel van post 13 toepast
 
Laatst bewerkt:
Ik nam aan dat er ook voorloopnullen geplaatst moeten worden als de derde groep uit maar 1 of 2 cijfers bestaat (dus <100), net als bij de laatste groep getallen uit het IP-adres.

Dus 192.168.1.12 wordt 001012 bij mij. Bij jouw formule 681012. Wat is gewenst? Mag TS zeggen.
 
Ik nam aan dat er ook voorloopnullen geplaatst moeten worden als de derde groep uit maar 1 of 2 cijfers bestaat (dus <100), net als bij de laatste groep getallen uit het IP-adres.

Dus 192.168.1.12 wordt 001012 bij mij. Bij jouw formule 681012. Wat is gewenst? Mag TS zeggen.

Idd voorloopnullen zowel bij derde als vierde groep is het meest ideale!
 
Met een simpele UDF
Code:
Function VenA(s As String)
  x = Split(s, ".")
  If UBound(x) = 3 Then VenA = Format(x(2), "000") & Format(x(3), "000") Else VenA = ""
End Function
 

Bijlagen

Met een simpele UDF
Code:
Function VenA(s As String)
  x = Split(s, ".")
  If UBound(x) = 3 Then VenA = Format(x(2), "000") & Format(x(3), "000") Else VenA = ""
End Function

Dit gaat ver boven mijn pet, maar het werkt fantastisch! Dank u zeer vriendelijk!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan