FORMULA CAMPO SE CONTIENE O NON CONTIENE

di il
20 risposte

FORMULA CAMPO SE CONTIENE O NON CONTIENE

BUONASERA

RINGRAZIO ANTICIPATAMENTE SE QUALCUNO PUO' DARMI UNA MANO

STO USANDO UN DATABASE UN PO ANTICO; WORKS DI MICROSOFT, DA MOLTI ANNI E HO MOLTI FILE CON QUESTO PROGRAMMA.

NEI FILTRI UTILIZZATI PER I REPORT ESISTONO LE FUNZIONI "CONTIENE O NON CONTIENE" SCRITTE IN QUESTO MODO
="*VALORE O TESTO*" OPPURE =<>"*VALORE O TESTO*"

MA SE UTILIZZO LA FORMULA TIPO =SE(CAMPO1 ="*VALORE O TESTO*";"OK";"NO") IL RISULTATO E' SEMPRE "NO" SIA CHE NEL CAMPO CI SIA O NON CI SIA IL VALORE RICERCATO

ATTENDO E GRAZIE

20 Risposte

  • Re: FORMULA CAMPO SE CONTIENE O NON CONTIENE

    Intanto non si scrive in maiuscolo perché vuol dire URLARE.

    In secondo luogo il prodotto è veramente obsoleto... dovresti veramente passare ad altro e non ci sono scuse.

    Per ultimo il confronto dovrebbe essere fatto con un operatore tipo Like ma non so se esisteva
  • Re: FORMULA CAMPO SE CONTIENE O NON CONTIENE

    Buonasera
    intanto grazie per la risposta,
    non era assolutamente mia intenzione urlare, spesso scrivo maiuscolo per comodita'.
    so bene che il prodotto e' stravecchio ma purtroppo ho un sacco di file salvati che utilizzo.
    ho tentato di utilizzare access ma per le mie conoscenze non ci sono riuscito.
    non penso che works supporti l'operatore "like" che non ho mai sentito, ma chiedo cortesemente se ci fosse la possibilita'che qualcuno mi aiuti.
    tempo fa sono stato aiutato da un vostro utente Willy e con il suo aiuto ho risolto un problema di concatenazione.
    la mia domanda e' se nei filtri la funzione "contiene o non contiene" da i risultati vuol dire che ci deve essere un modo di "scivere" la formula correttamente, perche' probabilmente come io l'ho formulata non e' esatta
    ringrazio per l'eventuale paziente ristposta
    saluto
  • Re: FORMULA CAMPO SE CONTIENE O NON CONTIENE

    In Works esiste la funzione TROVA che cerca una stringa di testo all'interno di un'altra e restituisce il numero di caratteri in corrispondenza del quale la stringa di testo è stata trovata.

    PS. non aprire post duplicati (chiedi ad un moderatore, se non riesci ad eliminarlo).
  • Re: FORMULA CAMPO SE CONTIENE O NON CONTIENE

    Buonasera
    intanto grazie per la risposta, gia' pensavo che piu' nessuno mi avrebbe risposto penso per la vetusta' di questo benedetto "programma??"
    in works esite una formula cosi scritta =TROVA(testo;stringa;inizio) e come spiegazione da "trova una stringa di testo all'interno di un'altra a partire dal carattere specificato ad esempio TROVA(Impara;a1;0)
    ma io non riesco propio ad ottenere niente
    lei e' l'unico che mi abbia dato delle soluzioni vedi risposte precedenti e la devo ringraziare ma io dovrei far restituire se in un record di un campo ci sia una lettera.
    esempio nel campo 1 denominato qualita' c'e' A+B in un altro campo dovrebbe restituirmi 1 se c'e'"A" oppure 2 se ci dovesse essere A+A
    non so se sono riuscito a spiegarmi.
    grazie in anticipo
  • Re: FORMULA CAMPO SE CONTIENE O NON CONTIENE

    Devi leggere attentamente la documentazione; seguendo il tuo esempio se vuoi trovare la stringa "Impara" (che va racchiusa fra doppi apici) nel riferimento alla cella A1, partendo dalla posizione zero, la sintassi deve essere:
    
    =TROVA("Impara";a1;0)
    
    che restituirà la posizione ove si trova la stringa, altrimenti (se non trovata) il valore di errore ERR.

    Dopodiché, qualora si debba imporre un valore condizionale (1 oppure 2) in base al risultato della funzione TROVA, si può impiegare la funzione SE; insomma qualcosa del genere:
    
    =SE( TROVA("Impara";a1;0) >= 0 ; 1 ; 2)
    
  • Re: FORMULA CAMPO SE CONTIENE O NON CONTIENE

    Intanto mille grazie per le risposte.
    pero' non riesco ad ottenere quello che voglio.
    vediamo se entrando nello specifico riesce a darmi la soluzione
    ho un campo che contiene questa formula "
    =SE(ES<>"";SE(ES="INTARSIO ROVERE THERMO"#O#ES="ROVERE THERMO LIBRO";1;SE(ES="INTARSIO ROVERE EUROPEO"#O#ES="ROVERE EUROPEO LIBRO";2;SE(ES="INTARSIO NOCE COLORE"#O#ES="NOCE COLORE LIBRO";3;SE(ES="CANALETTO LIBRO"#O#ES="INTARSIO CANALETTO";4;5))));"")
    in funzione di quello che trova nel campo "ES" mi restituisce 1 oppure 2 oppure 3 oppure 4 oppure 5
    il problema che nel campo "ES" ci deve essere la corrispondenza esatta cioe' "INTARSIO ROVERE THERMO", invece io vorrei ottenere lo stesso risultato cioe' "1", con una funzione che riconosca se nel campo ci sia il testo "ROVERE"
    utilizzando il suo suggerimento che mi ha inserito nella risposta ottengo 1 solo nel caso in cui nel campo ES ci sia il testo "INTARSIO ROVERE THERMO e se c'e' il testo "ROVERE THERMO LIBRO mi restituisce "0" e negli altri casi ERR.
    non capisco come "ragiona" la formulache mi ha indicato.

    quello che mi stupisce e' che come gia' detto nei "filtri" dei report oltre ad le funzioni maggiore, minore, diverso, uguale, con i simboli che funzionano nelle formule scritte nei campi, la funzione contiene o non contiente, se formulata nei campi non funziona
    ed e' scritta in questo modo
    contiene ='ES'="*rovere*"
    non contiene ='ES'<>"*rovere*"
    ringrazio anticipatamente dell'auito e dell'impegno e resto in attesa
  • Re: FORMULA CAMPO SE CONTIENE O NON CONTIENE

    Qualora devi determinare: se nel campo ES è contenuta la dizione "ROVERE" (indipendentemente dalla sua collocazione, quindi anche dall'inizio della stringa in ES, ovvero a partire da posizione 0) in modo da restituire 1 o 2 in funzione di ciò, puoi impiegare il codice seguente:
    
    SE( TROVA("ROVERE";ES;0) >= 0 ; 1 ; 2)
    
  • Re: FORMULA CAMPO SE CONTIENE O NON CONTIENE

    Intanto molte grazie per la risposta immediata, quasi ci siamo....

    inserendo la formula cosi' scritta =SE(TROVA("ROVERE";ES;0)>=0;1;2) ottengo nel campo il valore 1 incorrispondenza di ROVERE e nelle altre corrispondenze ERR

    ma per ottenere nelle corrispondenze dei record con inserito il testo "CANALETTO" ?

    ho tentano di aggiungere una seconda condizione ma non riesco.
    sbaglio la sintassi oppure non e' possibile?
    =SE(TROVA("ROVERE";ES;0)>=0;1;2);SE(TROVA("CANALETTO";ES;0)>=0;4;2);SE(TROVA("NOCE";ES;0)>=0;3;2)
    vorrei riuscire ad ottenere gli stessi risultati della formula come sotto e cosi' facendo pero' avrei molte molte piu' possibilita'.

    =SE(ES<>"";SE(ES="INTARSIO ROVERE THERMO"#O#ES="ROVERE THERMO LIBRO";1;SE(ES="INTARSIO ROVERE EUROPEO"#O#ES="ROVERE EUROPEO LIBRO";2;SE(ES="INTARSIO NOCE COLORE"#O#ES="NOCE COLORE LIBRO";3;SE(ES="CANALETTO LIBRO"#O#ES="INTARSIO CANALETTO";4;5))));"")
    in funzione di quello che trova nel campo "ES" mi restituisce 1 oppure 2 oppure 3 oppure 4 oppure 5
    e nel caso non "TROVA" il testo ricercato non c'e' un modo di non far restituire ERR
    ma perche' non si puo' usare il simbolo (*) asterisco come per una qualsiasi ricerca tipo windows ??

    cortesemente per quale motivo, come gia' prima richiesto i simboli, usati anche nei filtri, maggiore, minore, diverso, uguale, funzionano, mentre quelle di "contiene, o non contiene" non funazionano ??

    mille grazie
    attendo fiducioso
  • Re: FORMULA CAMPO SE CONTIENE O NON CONTIENE

    In merito ai quesiti:

    CAPPRIEMBU ha scritto:


    a per ottenere nelle corrispondenze dei record con inserito il testo "CANALETTO" ?
    ho tentano di aggiungere una seconda condizione ma non riesco.
    sbaglio la sintassi oppure non e' possibile?
    La funzione SE ha due alternative condizionali: la parte vera e quella falsa; se trovi la prima corrispondenza devi agire nella parte falsa inserendo la possibile seconda corrispondenza, in modo da annidare le varie condizioni.
    Ad esempio:
    
    SE( TROVA("ROVERE";ES;0) >= 0 ; 1 ; SE( TROVA("CANALETTO";ES;0) >= 0 ; 2 ; 3))
    
    Ove restituirà 1 per "ROVERE", 2 per "CANALETTO" e 3 negli altri casi, questo ultimo valore potrà essere implementato con le ulteriori condizioni.

    CAPPRIEMBU ha scritto:


    e nel caso non "TROVA" il testo ricercato non c'e' un modo di non far restituire ERR
    vedi la funzione ERR.

    CAPPRIEMBU ha scritto:


    ma perche' non si puo' usare il simbolo (*) asterisco come per una qualsiasi ricerca tipo windows ??
    cortesemente per quale motivo, come gia' prima richiesto i simboli, usati anche nei filtri, maggiore, minore, diverso, uguale, funzionano, mentre quelle di "contiene, o non contiene" non funazionano ??
    Ogni applicativo (e Works non fa differenza) ha la sua sintassi (anche se sviluppato, come Windows, sempre da Microsoft ) ciascuno è un mondo a se; per cui bisogna fare riferimento alla specifica documentazione.
  • Re: FORMULA CAMPO SE CONTIENE O NON CONTIENE

    Grazie
    ma purtroppo la formula cosi scritta "=SE(TROVA("ROVERE";ES;0)>=0;A;SE(TROVA("CANALETTO";ES;0)>=0;B;C))" non mi funziona
    nel campo "ES" alcuni record contegno "INTARSIO CANALETTO" altri "CANALETTO LIBRO" altri "INTARSIO ROVERE EUROPEO" altri "ROVERE EUROPEO LIBRO

    dove trova ROVERE mi restituisce "A" per tutte le altre possibilita' mi restituisce ERR
    ci potrebbe essere qualche errore di sintassi ??

    ho sostituito il valore numerico con una lettera rmi riiesce meglio come ragionamento , anche sc dovrebbe essere la stessa cosa

    inoltre se ndovessi sostituire la lettera C con "" dovrebbe rnon restituirmi nvuoto ?

    ho verificato la documentazione sulla funzione ERR ma francamento non ne capisco l'utilita' l'emsempio di ce che se la cella A1 e' uguale a 0 restituisce ERR altrimenti restituisce il valore presente in A1

    =SE(A1;0;ERR();A1

    grazie e attendo
  • Re: FORMULA CAMPO SE CONTIENE O NON CONTIENE

    Nel merito:

    CAPPRIEMBU ha scritto:


    ho sostituito il valore numerico con una lettera rmi riiesce meglio come ragionamento , anche sc dovrebbe essere la stessa cosa
    La logica condizionale è similare ma qualora si vogliano impiegare delle stringhe (va impiegata la giusta sintassi) infatti queste vanno racchiuse fra doppi apici.
    
    SE( TROVA("ROVERE";ES;0) >= 0 ; "A" ; SE( TROVA("CANALETTO";ES;0) >= 0 ; "B" ; "C"))
    

    CAPPRIEMBU ha scritto:


    inoltre se dovessi sostituire la lettera C con "" dovrebbe non restituirmi nvuoto ?
    Puoi variare il codice inserendo un blank al posto della lettera "C"
    
    SE( TROVA("ROVERE";ES;0) >= 0 ; "A" ; SE( TROVA("CANALETTO";ES;0) >= 0 ; "B" ; " "))
    

    CAPPRIEMBU ha scritto:


    ho verificato la documentazione sulla funzione ERR ma francamento non ne capisco l'utilita' l'emsempio di ce che se la cella A1 e' uguale a 0 restituisce ERR altrimenti restituisce il valore presente in A1

    =SE(A1;0;ERR();A1)
    La funzione ERR() restituisce il valore dell'errore, quindi nel caso di errore è possibile valutarlo; per cui, ad esempio, se il valore di errore fosse 9999 un controllo potrebbe essere:
    
    SE( ERR() = 9999; "Errore" ; "Non è in errore")
    
  • Re: FORMULA CAMPO SE CONTIENE O NON CONTIENE

    Grazie mille per le risposte
    purtroppo la formula come detto sopra non funziona, la variante di inserire la lettera invece del numero era per rendere visivamente piu' semplice la formula ovviamente con gli apici
    =SE(TROVA("ROVERE";ES;0)>0;"A";SE(TROVA("CANALETTO";ES;0)>0;"B";"C"))
    il risultato e' dove ROVERE - A e dove CANALETTO e altri ERR

    non capisco se funziona la prima parte perche' non funziona la seconda e quinci ulteriri implementazioni

    chiedo cortesemente un aiuto, se non risolvo questo problema non posso fare ulteriori modifiche che mi risolverebbeero melte limitazioni con le formule in mia conoscenza tipo quella che ho indicato
  • Re: FORMULA CAMPO SE CONTIENE O NON CONTIENE

    Buonasera
    non riesco ada andare avanti
    se digito =SE(TROVA("ROVERE";ES;0)>=0;"A";"") mi restituisce A nei record del campo ES dove presente ROVERE e in tutti gli altri ERR
    se implemento la formula =SE(TROVA("ROVERE";ES;0)>=0;"A";SE(TROVA("CANALETTO";ES;0)>=0;"B";""))
    il risultato non cambia
    mi restituisce A nei record del campo ES dove presente ROVERE e in tutti gli altri ERR
    non riesco a capire come "ragiona" la formula
    attendo se qualcuno puo' aiutarmi
    grazie
  • Re: FORMULA CAMPO SE CONTIENE O NON CONTIENE

    CAPPRIEMBU ha scritto:


    ...
    se digito =SE(TROVA("ROVERE";ES;0)>=0;"A";"") mi restituisce A nei record del campo ES dove presente ROVERE e in tutti gli altri ERR
    ...
    Concentrati su questo aspetto : fino a che NON riesci a comprendere(*) perché ottieni ERR per tutto quello che è diverso da "ROVERE" non andrai avanti.
    So bene che suggerirti di passare a qualcosa di più moderno (e supportato) comporti per te uno sforzo enorme ma impiegare settimane per riuscire a fare (forse) quello che ti serve alla lunga potrebbe convincerti a farlo.

    (*)
    Con comprendere intendo che devi sforzarti di reperire tutte le info che puoi trovare nei manuali (o help) dell'applicazione che stai usando. Purtroppo si tratta di una applicazione talmente vecchia che, anche volendo, risulta difficile darti un supporto aggiuntivo a quello che tu stai ricevendo da Willy (che probabilmente ha avuto a che fare con il prodotto e/o ha della documentazione al riguardo).
Devi accedere o registrarti per scrivere nel forum
20 risposte