Funzione logica SE



  • Funzione logica SE
    di Roberto (utente non iscritto) data: 30/01/2016 14:43:30

    Salve sono nuovo del forum e profano di exel. Mi servirebbe un aiutino. Non riesco ad inserire la funzione logoca "SE" in una cella. Mi spiego meglio, volendo mettere nella cella B1 la funzione =Se(A1=C1:C20;"D1:D20";"")come test logico vero non mi da il contenuto tra le celle D1:D20 ma letteralmente mi scrive D1:D20. Grazie in anticipo per le risposte e chiedo scusa se ho violato il regolamento.



  • di alfrimpa data: 30/01/2016 15:36:03

    Ciao Roberto il tuo quesito, almeno a me, non è chiaro.

    La formula ti restituisce D1:D20 perchè lo hai messo tra virgolette e quindi viene riconosciuta come una stringa fissa.

    Se A1=C1:C20 è VERO cosa deve restituire la funzione; questa può restituire un unico risultato e non un intervallo.

    Allega un file di esempio dove mostri la situazione di partenza ed il risultato che vuoi ottenere (inserito manualmente in B1).

    Alfredo





  • di Mohican1989 data: 30/01/2016 15:45:11

    Ciao Roberto,
    Prima di tutto se alleghi un file con il risultato di quello che vorresti ottenere(ovviamente senza usare la formula che non riesci a costruire ma indicandone solo i dati ed il risultato che vorresti ottenere) capiamo meglio.

    Nelle formule di excel come nella maggior parte dei linguaggi di programmazione tutto ciò che è contenuto all interno di virgolette / doppi apici è considerato come un valore di testo.

    Nonostante la formula di per se sia errata, probabilmente il primo valore è effettivamente VERO e la formula ti restituisce ciò che gli hai detto tu! Ovvero un testo e non un riferimento agli oggetti del foglio che nel tuo caso vorresti fosse il range di celle D1:D20. Se tu avessi scritto la formula =se(A1=C1:C20;CIAO;"") avrebbe dato un errore in quanto ciao non è una stringa di testo racchiusa tra "" e di certo non viene riconosciuto come valore numerico. Avresti ottenuto CIAO cosi -> =se(A1=C1:C20;"CIAO";""). Inoltre per quello che penso tu abbia in mente di fare devono essere usate delle formule così dette matriciali ma non sono un asso su questo argomento ed è meglio che ti approfondisca qualcuno di più ferrato.

    EDIT: @ALFRIMPA Ciao e scusa ho semplicemente ripetuto il tuo concetto ma ci ho messo di più a scrivelo ^^ sono arrivato in ritardo di 10 minuti ! o_O



  • di alfrimpa data: 30/01/2016 15:51:54

    Ciao Mohican

    Hai precisato decisamente meglio quello che era il mio pensiero -:).

    Anch'io penso che occorra ricorrere alle matriciali ma, come te, personalmente non vado molto d'accordo con le formule (se non le più semplici).

    Attendiamo comunque chiarimenti da Roberto.

    Alfredo





  • di Gianfranco data: 30/01/2016 16:29:50

    ciao
    dovresti usare

    il valore della cella A1
    viene rilevato dalla colonna C
    come risultato ti da il valore corrispettivo alla colonna D

    se hai più dati uguali sulla colonna invece usa

    la seconda formula

    ti allego un esempio



     
     
    =INDICE($C$1:$D$20;CONFRONTA($A$1;$C$1:$C$20;0);2)
    
    più risultati
    =SE.ERRORE(INDICE($D$1:$D$20;AGGREGA(15;6;RIF.RIGA($D$1:$D$20)-RIF.RIGA($D$1)+1/(($C$1:$C$20=$A$1));RIGHE($C$1:C1)));"")
    matriciale Ctrl maiuscolo invio