Excel e gli applicativi Microsoft Office Trovare la prima minuscola in una cella

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

    Toscanaccio
    Partecipante

      Buongiorno a tutti!

      Ogni tanto mi riaffaccio se sono in difficoltà   

      Vorrei sapere come faccio ad estrarre da una cella (tramite formula?) il cognome e  le prime 3 lettere con punto del nome considerando che fino alla prima lettera del nome le lettere sono solo maiuscole. faccio un paio di esempi di quanto scritto nella cella A1                                                                            e del risultato che vorrei in A2:

      PINCOPALLO Mario                                                    PINCOPALLO Mar.

      VERDI Carola                                                                 VERDI Car.

       

      Avevo pensato di utilizzare la funzione Cerca e Codice.caratt>97  per trovare la prima minuscola (Ho un PC con caratteri ASCII) per poi spostarmi di 1 a dx e mettere il punto ma non ha funzionato   

      Preciso che posso tranquillamente usare anche delle celle di appoggio dove fare eventuali passaggi intermedi   

      Grazie a chi vorrà aiutarmi

       

      #50615 Score: 0 | Risposta

      scossa
      Partecipante
        37 pts

        Toscanaccio ha scritto:

        il cognome e  le prime 3 lettere con punto del nome considerando che fino alla prima lettera del nome le lettere sono solo maiuscole.

        ad esempio: =SINISTRA(A1;TROVA(" ";A1)+3) & "."

        ma non funziona se il cognome è composto da due parti p.e. "DE ROSSI Mario".

        #50616 Score: 0 | Risposta

        gianfranco55
        Partecipante
          91 pts

          Ciao

          =SINISTRA(A2;CONFRONTA(1;SE(ASS(CODICE(STRINGA.ESTRAI(A2;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A2)));1))-109,5)<=12,5;1);0)+1)&"."

           

          penso tu lo debba confermare matriciale CTRL MAIUSCOLO INVIO

           

          prova così

          =SINISTRA(A2;CONFRONTA(1;INDICE(SE(ASS(CODICE(STRINGA.ESTRAI(A2;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A2)));1))-109,5)<=12,5;1);;);0)+1)&"."

          dovrebbe funzionare senza confermare matriciale

          #50617 Score: 0 | Risposta

          Toscanaccio
          Partecipante

            Grazie Scossa della risposta!

            Esatto. Per questo cercavo il modo di trovare la prima minuscola da sinistra e di fare il +1.

            Siccome ho visto che le minuscole in ASCII sono comprese tra i valori 97 la "a" e 122 la "z"  pensavo di utilizzare questi valori per cercare la prima minuscola >96&<123 a meno che non ci sia una funzione specifica a me sconosciuta

            #50618 Score: 0 | Risposta

            scossa
            Partecipante
              37 pts

              Gianfranco (ciao) mi ha anticipato, io stavo per postare questa:

              =SINISTRA(A1;CONFRONTA(VERO;CODICE(STRINGA.ESTRAI(A1;RIF.COLONNA(1:100);1))>96;0)+1) & "."

              matriciale da confermare con ctrl+maius+invio

              #50619 Score: 0 | Risposta

              gianfranco55
              Partecipante
                91 pts

                ciao Scossa

                prova ad inserire indice() nel confronta dovrebbe levare il matriciale

                =SINISTRA(A2;CONFRONTA(VERO;INDICE(CODICE(STRINGA.ESTRAI(A2;RIF.COLONNA(1:100);1))>96;;);0)+1) & "."

                #50620 Score: 0 | Risposta

                Toscanaccio
                Partecipante

                  Grazie Gianfranco e Scossa....

                  oooooops   

                  mi sono scordato di dire che è un file xls (2000) che non ammette così tante nidificazioni (per questo avevo accennato a celle intermedie di appoggio), scusa!

                  Quindi: dove mi conviene spezzarla secondo te?

                  #50621 Score: 0 | Risposta

                  scossa
                  Partecipante
                    37 pts

                    gianfranco55 ha scritto:

                    prova ad inserire indice() nel confronta dovrebbe levare il matriciale

                    Giusto 

                    #50622 Score: 0 | Risposta

                    scossa
                    Partecipante
                      37 pts

                      Toscanaccio ha scritto:

                      mi sono scordato di dire che è un file xls (2000) che non ammette così tante nidificazioni (per questo avevo accennato a celle intermedie di appoggio), scusa!

                      Ho provato a salvarlo come .xls e funziona senza problemi (excel 2003).

                      #50623 Score: 0 | Risposta

                      Toscanaccio
                      Partecipante

                        Riuscito, grazie!

                        Mi sembra perfetto!

                        Continuo a provarlo e poi spunto il "risolto"   

                        #52861 Score: 0 | Risposta

                        LukeReds
                        Partecipante
                          19 pts

                          ciao,

                          ammesso (Ma non concesso) che non ci siano nomi doppi, mettendo cognome e nome da A1 in giù, in B1 e trascini in basso

                          =SINISTRA(A1;CONFRONTA(FALSO;IDENTICO(STRINGA.ESTRAI(A1;RIF.RIGA($A$1:$A$50);1);MAIUSC(STRINGA.ESTRAI(A1;RIF.RIGA($A$1:$A$50);1)));0)-3)&" "&STRINGA.ESTRAI(A1;CONFRONTA(FALSO;IDENTICO(STRINGA.ESTRAI(A1;RIF.RIGA($A$1:$A$50);1);MAIUSC(STRINGA.ESTRAI(A1;RIF.RIGA($A$1:$A$50);1)));0)-1;3)&"."

                        Login Registrati
                        Stai vedendo 11 articoli - dal 1 a 11 (di 11 totali)
                        Rispondi a: Trovare la prima minuscola in una cella
                        Gli allegati sono permessi solo ad utenti REGISTRATI
                        Le tue informazioni: