Excel e gli applicativi Microsoft Office Funzione Trova annidata in una Funzione SE con più di una condizione

Login Registrati
Stai vedendo 13 articoli - dal 1 a 13 (di 13 totali)
  • Autore
    Articoli
  • #42833 Score: 0 | Risposta

    Alessia
    Partecipante

      Ciao a tutti,

      ho un problema che non riesco a risolvere e spero che qualcuno possa darmi una mano.

      Ho inserito in un file xls una macro che mi permette di digitare nelle celle della colonna C valori multipli, da selezionare in un elenco inserito tramite una convalida e fin quì nessun problema.

      Ora, quello che non riesco a fare è scrivere una formula che, se trova un determinato valore (sempre testo) nella cella C3 (es. Carne) ed un altro valore nella cella C4 (es. Rosso) mi restitusisca nella cella es. D3 X altrimenti nulla.

      Ho usato la formula TROVA perchè nella colonna C può esserci, come dicevo, più di un valore ma non riesco a farla funzionare con più di una condizione. 

      La formula SE(VAL.ERRORE(TROVA("Carne", C3)),"","X") che trovate nel file allegato (vedi celle evidenziate in verde), funziona perfettamente fino a quando non provo a mettere la seconda condizione.

      Allego file di esempio. 

      La mia versione di Office è 365

      Allegati:
      You must be logged in to view attached files.
      #42835 Score: 0 | Risposta

      Luca73
      Partecipante
        58 pts

        secondo me ti basta usare la funzione E che combina due condizioni che devono essere entrambe vere 

        Hai allegato un file con un foglio protetto.

        SE(E(VAL.Numero(TROVA("Carne", C3)),VAL.Numero(TROVA("Nero", C4))),"X","")

        =IF(AND(ISNUMBER(FIND("Carne";C3));ISNUMBER(FIND("Nero";C4)));"X";"")

        oppure usare una funzione O che combina due condizioni ed è falsa se entrambe sono false 

        SE(O(VAL.ERRORE(TROVA("Carne", C3)),VAL.ERRORE(TROVA("Nero", C4))),"","X")

        =IF(OR(ISERROR(FIND("Carne", C3));ISERROR(FIND("Nero", C4)));"";"X")

        Non l'ho testata in italiano quanto il mio excel è in inglese

        Ciao Luca

         

        #42836 Score: 0 | Risposta

        gianfranco55
        Partecipante
          91 pts

          ciao

          guarda che avendo una convalida mirata

          l'unica possibilità è che la cella rimanga vuota

          Basta

          =SE(C3="";"";"X")

          in futuro non allegare fogli protetti 

          #42851 Score: 0 | Risposta

          Alessia
          Partecipante

            @luca 73, grazie 1000, così funziona perfettamente!!

            Vorrei chiederti un'altra cosa, se posso: come faccio a combinare la condizione "E" e la condizione "O"?

            Provo a spiegarmi meglio.

            Se io volessi che nella cella D3 mi metta un "x" se si verifica almeno una delle seguenti condizioni (se nella cella C3 trovi "Carne" e nella cella C4 trovi "Nero"; O  se nella cella C3 trovi "Pesce" e nella cella C4 trovi "Rosso"), che formula dovrei utilizzare?

            P.S. scusate per il file, mi sono dimenticata di rimuovere la protezione 🙁 Lo riallego senza protezione 

             

            Allegati:
            You must be logged in to view attached files.
            #42856 Score: 0 | Risposta

            gianfranco55
            Partecipante
              91 pts

              ciao

              scusa per la risposta sopra non avevo notato che dovevi individuare 2 celle

              =SE(O(E(C3="carne";C4="nero");E(C3="pesce";C4="rosso"));"x";"")

              non capisco il ricerca la convalida ha solo dei nomi singoli o l'originale è diverso

               

               

              #42878 Score: 0 | Risposta

              Alessia
              Partecipante

                @ Gianfranco55,

                purtoppo se la scrivo così la fromula mi da errore.

                La necessità di utilizzare la funzione Trova dipende dal fatto che, con la marcro, posso digitare più di un valore della convalida dati nella stessa cella (C3 e C4), che quindi può contenere più di un valore appunto.

                 

                #42881 Score: 0 | Risposta

                gianfranco55
                Partecipante
                  91 pts

                  ciao

                  =SE(O(E(VAL.NUMERO(RICERCA("CARNE";C3));VAL.NUMERO(RICERCA("NERO";C4)));E(VAL.NUMERO(RICERCA("PESCE";C3));VAL.NUMERO(RICERCA("ROSSO";C4))));"X";"")

                   

                  ma nel tuo file la convalida ha sempre una parola sola perciò il RICERCA(non serve)dovrebbero esserci più parole sulla stessa stringa..........quella, sopra visto, il file è esatta.

                   

                  nb

                  uso ricerca perchè non fa differenza da maiuscole e minuscole il TROVA() invece si

                  #42889 Score: 0 | Risposta

                  Alessia
                  Partecipante

                    Niente...purtroppo quando provo ad inserire la formula continua a darmi errore sia utilizzando il RICERCA che il TROVA 🙁

                     

                    #42894 Score: 0 | Risposta

                    gianfranco55
                    Partecipante
                      91 pts

                      ciao

                      le due formule che ho proposto

                       

                      Allegati:
                      You must be logged in to view attached files.
                      #42899 Score: 0 | Risposta

                      Luca73
                      Partecipante
                        58 pts

                        Ecco un esempio di formula (in inglese) che cerca alcune delle coppie

                        =IF(
                        OR(
                        AND(ISNUMBER(FIND("CARNE"; UPPER(C3)));ISNUMBER(FIND("NERO"; UPPER(C4))));
                        AND(ISNUMBER(FIND("PASTA"; UPPER(C3)));ISNUMBER(FIND("ROSSO"; UPPER(C4))));
                        AND(ISNUMBER(FIND("PESCE"; UPPER(C3)));ISNUMBER(FIND("VERDE"; UPPER(C4))));

                        );
                        "X";"")

                        #42900 Score: 0 | Risposta

                        Alessia
                        Partecipante

                          @gianfranco55, non riesco a scaricare il file :(.

                          Potresti copiarmi le formule in un messaggio, per favore? 

                          #42901 Score: 0 | Risposta

                          gianfranco55
                          Partecipante
                            91 pts

                            ciao

                            https://www.dropbox.com/scl/fi/11u5vicou61l6r9ow4fd1/Copia-di-File-Esempio-3.xlsm?rlkey=kt1n9a5ir75l1bqra1nnqskac&dl=0

                            le formule sono quelle del post sopra

                            =SE(O(E(VAL.NUMERO(RICERCA("CARNE";C3));VAL.NUMERO(RICERCA("NERO";C4)));E(VAL.NUMERO(RICERCA("PESCE";C3));VAL.NUMERO(RICERCA("ROSSO";C4))));"X";"")

                            =IF(OR(AND(ISNUMBER(SEARCH("CARNE",C3)),ISNUMBER(SEARCH("NERO",C4))),AND(ISNUMBER(SEARCH("PESCE",C3)),ISNUMBER(SEARCH("ROSSO",C4)))),"X","")

                            #42911 Score: 0 | Risposta

                            Alessia
                            Partecipante

                              @gianfranco55

                              funziona! Grazie 1000  

                              E grazie a tutti per avermi dato supporto!!!

                            Login Registrati
                            Stai vedendo 13 articoli - dal 1 a 13 (di 13 totali)
                            Rispondi a: Funzione Trova annidata in una Funzione SE con più di una condizione
                            Gli allegati sono permessi solo ad utenti REGISTRATI
                            Le tue informazioni: