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

Zoeken naar een deel van de tekst

Status
Niet open voor verdere reacties.

Severijns

Gebruiker
Lid geworden
6 jul 2018
Berichten
139
Geachte forumleden,

Ik heb een werkmap met 2 werkbladen.
Het eerste werkblad bevat een lijst met samengestelde stoffen. (Stofnaam, CAS-Nr, Percentage)
Het tweede werkblad bevat een lijst met oplosmiddelen. (CAS-nr, naam oplosmiddel)
Nu ben ik op zoek naar een formule die op basis van het CAS-nr aangeeft welke oplosmiddelen er in een bepaalde samengestelde stof zitten.
Sommige samengestelde stoffen bevatten meerdere oplosmiddelen en sommigen bevatten geen oplosmiddel.
Deze eventuele oplosmiddelen zouden in het eerste werkblad moeten worden weergegeven achter de samengestelde stof.
Iemand een idee welke formule ik hiervoor nodig heb?

Bij voorbaat dank,

Rob
 

Bijlagen

Welke Excel versie gebruik je?

In Excel365 werkt zoiets om de lijst met oplosmiddelen te krijgen:
Code:
=TEKST.COMBINEREN(TEKEN(10);WAAR;HOOFDLETTERS(FILTER(Oplosmiddel!$C$3:$C$45;ISGETAL(VIND.SPEC(Oplosmiddel!$B$3:$B$45;B3));"")))
Als je hierachter ook nog het CAS-nummer EN het percentage wilt krijgen wordt dit behoorlijk complexer... Mag het ook in aparte kolommen eventueel?
 
Laatst bewerkt:
AlexCEL,

In aparte kolommen is prima.
Die kan ik later wel weer samenvoegen.

Bij voorbaat dank,

Rob
 
Sorry,

Excel 2016.
Nogmaals dank. Hier was ikzelf nooit uitgekomen.

Rob
 
Dank, maar de formule uit #2 gaat niet werken in Excel 2016...

Hoeveel oplosmiddelen verwacht je maximaal in een samengestelde stof? Ik denk nu zelfs aan een oplossing met hulpkolommen.

Of de VBA-specialisten moeten zich melden.
 
Laatst bewerkt:
AlexCEL,

Als het alleen in Excel 365 gaat dan moet het daarin.
Ik kan vooralsnog de resultaten van de formules wel als waarde naar Excel 2016 kopiëren.

Rob
 
Overigens verwacht ik maximaal 4 oplosmiddelen in een samengestelde stof.
Elke oplossing evt met hulpkolommen is prima.

Rob
 
Met een hele serie hulpkolommen krijg ik voor eerdere versies van Excel voor elkaar. Zie bijlage (voor mengsels met max. 10 componenten, zo nodig wel uit te breiden)

Let op: functies in kolom O t/m X zijn matrixfuncties, die moet je afsluiten met Control+Shift+Enter na invoeren/wijzigen en voor doorvoeren.

Ik denk dat een VBA-oplossing korter en simpeler is in dit geval, maar daar moeten anderen zich even over buigen.
 

Bijlagen

Laatst bewerkt:
AlexCEL,

Heel erg bedankt voor de oplossing.
Heeft nogal wat voeten in aarde gehad.
Misschien dat iemand die dit wel als een uitdaging ziet nog met een VBA oplossing aankomt maar ik ben nu al heel erg blij met jouw oplossing.
Zoals gezegd nogmaals hartelijk dank :thumb:

Rob
 
Code:
Sub hsv()
Dim sv, sq, i As Long, ii As Long
sv = Sheets(1).Cells(1, 2).CurrentRegion.Resize(, 2)
sq = Sheets(2).Cells(2, 1).CurrentRegion
  For i = 3 To UBound(sv)
    For ii = 2 To UBound(sq)
     If InStr(1, sv(i, 1), sq(ii, 1), 1) Then sv(i, 2) = sv(i, 2) & vbTab
    Next ii
  Next i
 Sheets(1).Cells(1, 2).Resize(UBound(sv), 2) = sv
End Sub
 
HSV,

Bedankt voor het stukje VBA code:D.
Ik ga er mee aan de slag.

Rob
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan