Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

Wildcard zoeken met IF functie Excel

Pagina: 1
Acties:

Onderwerpen

Vraag


  • timmerdanny
  • Registratie: september 2015
  • Laatst online: 19-04 13:19
Met de ALS functie in Excel zou ik graag middels een wildcard tekst willen opzoeken in de E kolom en als dat voldoet moet er een bepaalde tekst in de F kolom komen te staan. Ik heb 206 verschillende condities waarop gecontroleerd moet worden. Wanneer ik alle 206 ALS statements probeer in te voeren komt de foutmelding: "Deze formule kan niet worden ingevoerd, omdat deze meer dan 64 geneste niveaus bevat". Als voorbeeld gebruik ik onderstaande ALS functie

ALS(AANTAL.ALS(E5;{"Search Closed Sources*"});"Reconnaissance";

Alle reacties


  • AGee
  • Registratie: december 2002
  • Niet online

AGee

Formerly known as naitsoezn

Wil je voor elk van de 206 condities een andere tekst genereren? Of moet dezelfde tekst in de cell komen te staan als één van de condities waar is? Met OR kun je tot 255 verschillende condities testen.
IF(OR(A1="X", A1="Y", ...), ...

't Het nog nooit, nog nooit zo donker west, of 't wer altied wel weer licht


  • timmerdanny
  • Registratie: september 2015
  • Laatst online: 19-04 13:19
AGee schreef op maandag 5 april 2021 @ 09:40:
Wil je voor elk van de 206 condities een andere tekst genereren? Of moet dezelfde tekst in de cell komen te staan als één van de condities waar is? Met OR kun je tot 255 verschillende condities testen.
IF(OR(A1="X", A1="Y", ...), ...
Dat ziet er inderdaad veel belovend uit. De waarde is in veel gevallen hetzelfde dus dat zou prima met de OR kunnen. Ik loop alleen tegen het probleem aan dat de wildcard niet uitgevoerd wordt.

=ALS(OF(E2="Account Discovery*";E2="Command and Scripting*");"Reconnaissance")

Ik heb ook de volgende geprobeerd maar die levert een foutcode op:

=ALS(OF(E2=AANTAL.ALS(E2;{"Abuse Elevation Control Mechanism*"};E2=AANTAL.ALS(E2;{"Account Discovery"});"Reconnaissance")

[Voor 5% gewijzigd door timmerdanny op 05-04-2021 09:56]


  • AGee
  • Registratie: december 2002
  • Niet online

AGee

Formerly known as naitsoezn

Ik weet niet wat je precies met wildcard bedoelt, maar als je zoekt op "*" dan zoek je gewoon naar het teken * net als dat wanneer je bv op "k" zoekt, je zoekt naar de letter k. Met SEARCH kun je wel zoeken of een bepaalde substring voorkomt in een andere string (cell), combineer dat met bv ISNUMBER om er een TRUE / FALSE uit te laten komen.

Of je trekt met de functie LEFT(A1, 10) de eerste 10 tekens uit cell A1 (waarbij 10 gewoon het aantal karakters is van de string die je zoekt) en vergelijkt dat met je zoektstring (van in dit geval 10 tekens), maar ik denk (heb het niet gecontroleerd) dat je dan misschien nog een foutmelding moet afvangen als in A1 minder dan 10 tekens staan.

[Voor 36% gewijzigd door AGee op 05-04-2021 10:17]

't Het nog nooit, nog nooit zo donker west, of 't wer altied wel weer licht


  • JustDutch
  • Registratie: april 2002
  • Laatst online: 18-04 22:50

JustDutch

was ambtenaar :)

kun je dat niet met verticaal zoeken oplossen?
Dan moet je al die 206 argumenten onder elkaar zetten en in de bijvoorbeeld in de kolom erachter wat je in kolom F moet komen te staan. En als die wildcard ervoor is dat ook langere teksten gevonden moeten worden met juist dat begin van de tekst, let dan op het laatste argument in de verticaal zoeken functie, volgens mij moet die dan op waar/ true staan, maar dat vind je wel uit.

[Voor 40% gewijzigd door JustDutch op 05-04-2021 10:23]

Forza Mucca


  • timmerdanny
  • Registratie: september 2015
  • Laatst online: 19-04 13:19
Bedankt voor jullie hulp het is inmiddels gelukt met de onderstaande formule.

=IF(OR(ISNUMBER(SEARCH("*Account Discovery*"; E2));ISNUMBER(SEARCH("Command and Scripting Interpreter*"; E2)));"Letheral movement")

Helaas heeft Excel ook een limiet van 8192 karakters in de formule. Conclusie als je meer wilt ga naar VBA

[Voor 20% gewijzigd door timmerdanny op 05-04-2021 12:31]


Acties:
  • +1Henk 'm!

  • g0tanks
  • Registratie: oktober 2008
  • Laatst online: 00:57

g0tanks

Moderator CSA
timmerdanny schreef op maandag 5 april 2021 @ 10:46:
Bedankt voor jullie hulp het is inmiddels gelukt met de onderstaande formule.

=IF(OR(ISNUMBER(SEARCH("*Account Discovery*"; E2));ISNUMBER(SEARCH("Command and Scripting Interpreter*"; E2)));"Letheral movement")

Helaas heeft Excel ook een limiet van 8192 karakters in de formule. Conclusie als je meer wilt ga naar VBA
Dat kan korter. Je hoeft niet elke keer ISNUMBER en SEARCH te herhalen:
code:
1
=IF(OR(ISNUMBER(SEARCH({"*Account Discovery*";"Command and Scripting Interpreter*"};E2)));"Letheral movement";)

[Voor 4% gewijzigd door g0tanks op 05-04-2021 14:55]

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW

Pagina: 1


Apple iPhone 12 Microsoft Xbox Series X LG CX Google Pixel 5 Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True