Condividi:        

Convalida su "Giorni della Settimana"

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Convalida su "Giorni della Settimana"

Postdi Karmor » 07/12/17 16:41

Salve a tutti!
Vorrei sapere se esiste o in qualche modo sia possibile mettere su formula, una sorta di funzione "Se" che abbia più valori come secondo argomento. Mi spiego meglio.
La normale funzione SE di excel prevede questa sintassi (faccio un esempio numerico):
SE(A1=1;2;3), ossia se la cella A1 è uguale a 1, allora mi restituisce come risultato 2, altrimenti mi restituisce 3.
Io avrei bisogno che nel caso in cui sia A1=1, la funzione mi restituisca più di un valore, ossia non solo il valore 2, ma anche altri valori (ad es. 4,5, 7) da me indicati.

Grazie mille...e scusatemi se l'interrogativo è banale.


Edit by Anthony
Titolo originale della discussione: "Funzione SE avente secondo argomento con più valori"
Karmor
Utente Junior
 
Post: 12
Iscritto il: 25/03/17 18:50

Sponsor
 

Re: Funzione SE avente secondo argomento con più valori

Postdi xilofono » 07/12/17 16:47

Karmor ha scritto:Salve a tutti!
Vorrei sapere se esiste o in qualche modo sia possibile mettere su formula, una sorta di funzione "Se" che abbia più valori come secondo argomento. Mi spiego meglio.
La normale funzione SE di excel prevede questa sintassi (faccio un esempio numerico):
SE(A1=1;2;3), ossia se la cella A1 è uguale a 1, allora mi restituisce come risultato 2, altrimenti mi restituisce 3.
Io avrei bisogno che nel caso in cui sia A1=1, la funzione mi restituisca più di un valore, ossia non solo il valore 2, ma anche altri valori (ad es. 4,5, 7) da me indicati.

Grazie mille...e scusatemi se l'interrogativo è banale.


esempi concreti? magari su un foglio?

se a1 è uguale a 1 tu vuoi che nella cella b1 ci siano più valori? puoi usare un concatena di formule se.. ma in tal caso, se sono numeri, si creano problemi per utilizzarli in ulteriori calcoli... a questo punto fai prima a mettere le virgolette e mettere più numeri separati da uno spazio se vero....
oppure vuoi che ti escano in celle diverse, magari sulla stessa riga? in tal caso basta, in c1,d1 e via dicendo fare altre formule se sempre riferite alla cella A1 ma che danno risultati diversi se restituiscono vero o meno...

in ogni caso qualche esempio concreto, magari con uno schema di come vuoi che vengano restituiti anche i risultati, darebbe una mano
Windows 11 - Office 2016 Ita
Avatar utente
xilofono
Utente Junior
 
Post: 80
Iscritto il: 27/11/17 09:52

Re: Funzione SE avente secondo argomento con più valori

Postdi Karmor » 07/12/17 16:57

Ciao xilofono!
Intanto grazie mille per la risposta.
Sì, in effetti mi dovrebbero uscire in celle diverse, e per la precisione sulla stessa colonna. Quindi posso scrivere più formule su b1, b2, b3 e così via....come hai fatto l'esempio tu per la riga.
Esiste anche un altro modo che tu sappia?
Grazie.
Karmor
Utente Junior
 
Post: 12
Iscritto il: 25/03/17 18:50

Re: Funzione SE avente secondo argomento con più valori

Postdi xilofono » 07/12/17 17:04

Karmor ha scritto:Ciao xilofono!
Intanto grazie mille per la risposta.
Sì, in effetti mi dovrebbero uscire in celle diverse, e per la precisione sulla stessa colonna. Quindi posso scrivere più formule su b1, b2, b3 e così via....come hai fatto l'esempio tu per la riga.
Esiste anche un altro modo che tu sappia?
Grazie.


a quel punto di consiglio di usare =se(A$1=1;2;3) in modo che ti basti trascinare in basso e eventualmente di lato senza perdere il riferimento alla riga numero uno mentre cambiarebbe solo da sola la colonna di riferimento, così dovrai cambiare solo i valori che vengono restituiti
altri modi, dipende da come è fatto il foglio, dalla quantità di colonne di riferimento,dlla quantità di formule se che devi usare sotto, dai valori che analizzi, se testo, numeri, misti... senza che alleghi il file su cui devi lavorare, difficile dirti quale strada userei io, per come l'hai posta fino ad ora (non avevi specificato se volessi i risultati nella stessa cella o in celle diverse, nel primo post), il consiglio è quello, poi magari altri userebbero altri metodi, ma credo che anche a loro serva vedere un foglio, per entrare nella logica e nello "spirito" che lo muovono :D
Windows 11 - Office 2016 Ita
Avatar utente
xilofono
Utente Junior
 
Post: 80
Iscritto il: 27/11/17 09:52

Re: Funzione SE avente secondo argomento con più valori

Postdi Karmor » 07/12/17 17:34

xilofono ha scritto:a quel punto di consiglio di usare =se(A$1=1;2;3) in modo che ti basti trascinare in basso e eventualmente di lato senza perdere il riferimento alla riga numero uno mentre cambiarebbe solo da sola la colonna di riferimento, così dovrai cambiare solo i valori che vengono restituiti
altri modi, dipende da come è fatto il foglio, dalla quantità di colonne di riferimento,dlla quantità di formule se che devi usare sotto, dai valori che analizzi, se testo, numeri, misti... senza che alleghi il file su cui devi lavorare, difficile dirti quale strada userei io, per come l'hai posta fino ad ora (non avevi specificato se volessi i risultati nella stessa cella o in celle diverse, nel primo post), il consiglio è quello, poi magari altri userebbero altri metodi, ma credo che anche a loro serva vedere un foglio :D


Certo, certo!! :D
Il foglio lo sto realizzando adesso.
Lo schema è quello di avere un riga dove ci sono i diversi giorni del mese. Diciamo sulla riga 1: es: a1 = lunedi; b1 = martedi; c1 = mercoledi, d1 = giovedi; e1 = venerdi; f1 = sabato; g1 = domenica...e così via fino a tutti e 31 i giorni del mese.

Poi sulla riga 2 immediatamente sottostante alla riga 1, e su tale riga, per ogni cella immediatamente sottostante a quelle di cui sopra, vorrei avere la possibilità di poter scegliere solo determinati valori inseribili da un elenco convalida data, valori che saranno diversi in funzione del giorno che sta nella cella corrispondente sulla riga superiore 1.
Quindi per fare in modo di ottenere questi valori particolari nell'elenco che mi creo nella cella corrispondente sulla riga 2, devo imporre a parte una lista in colonna (che poi userò in convalida dati), dove i valori incolonnati dipenderanno dal giorno presente nella riga 1 in corrispondenza di quella particolare data del mese. Ecco perché mi serve la funzione "se" che mi dia tali valori (più di uno) inseribili nell'elenco convalida dati per ogni giorno.
Non so se sono stato chiaro...altrimenti non mi rimane che completare un minimo di foglio e postarlo! :D
Grazie mille! :)
Karmor
Utente Junior
 
Post: 12
Iscritto il: 25/03/17 18:50

Re: Funzione SE avente secondo argomento con più valori

Postdi cromagno » 08/12/17 00:55

Ciao a tutti,
@Karmor
come ti hanno già richiesto.... per evitare fraintendimenti ed evitare di scrivere formule che non si adattano (o non riusciresti ad adattare) al tuo file originale, allega un file (EXCEL) d'esempio.

Ciao
Tore
Windows 10 + Office 2013 64bit(ita)
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Avatar utente
cromagno
Utente Junior
 
Post: 66
Iscritto il: 08/10/16 16:33
Località: Sardegna

Re: Convalida su "Giorni della Settimana"

Postdi Anthony47 » 08/12/17 18:04

Avrai notato che i primi messaggi e lo stesso titolo della discussione sono fuorvianti; tu hai bisogno di fare una convalida dinamica e la funzione SE c'entra poco.

Il mio suggerimento e' questo:
1) su un foglio a piacere creati i 7 elenchi a discesa che ti servono, per il Lunedi', Martedi', fino a domenica. Io l'ho fatto su un foglio che ho chiamato Elenchi, da N1 in avanti; in riga 1 ho inserito il Nome del giorno su 3 lettere (come nell'immagine), e verso il basso ho inserito i valori ammissibili per quel giorno.
Immagine

2) poi crea un "Intervallo nominato"; io l'ho chiamato DCONV:
-in Menu /Formule, gruppo Nomi definiti, premi Definisci Nome
-assegna il nome DCONV
-nella casella "Riferito a" scrivi la formula
Codice: Seleziona tutto
=SCARTO(Elenchi!$N$1;1;CONFRONTA(Elenchi!$M$1;Elenchi!$N$1:$T$1;0)-1;1+CONTA.VALORI(SCARTO(Elenchi!$N$1;1;CONFRONTA(Elenchi!$M$1;Elenchi!$N$1:$T$1;0)-1;30;1));1)
La formula consente fino a 30 voci; se ne servono di piu', modificare quel "30" nella formula.
La cella M1 sara' usata dalla macro di Worksheet_SelectionChange (vedi punto 4)
-conferma con Ok
3) Vai dove devi impostare la convalida; accertati che in riga 1 ci sia una data (se vuoi puoi formattare la cella per vedere il solo Giorno della settimana, ma la cella deve contenere una "Data"); poi imposta la convalida "Da elenco", e come Origine inserisci
=DCONV

4) Infine, tasto dx sul tab col nome del foglio in cui hai impostato le convalide; scegli Visualizza Codice; copia questo codice e incollalo nel frame destro dell'editor delle macro che si e' aperto:
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Nota: M1 e' la cella appena a sinistra dell'elenco di convalida
Sheets("Elenchi").Range("M1") = Format(Cells(1, Target.Column), "ddd")
End Sub


In questo modo, l'intervallo di convalida dipendera' dalla data di intestazione della colonna selezionata.

Prova e fai sapere; ma se non risolvi con questo spunto allora attendiamo un file dimostrativo della tua situazione.
Per le istruzioni su come allegare un file:
viewtopic.php?f=26&t=103893&p=605487#p605487

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Funzione SE avente secondo argomento con più valori

Postdi Karmor » 08/12/17 18:27

cromagno ha scritto:Ciao a tutti,
@Karmor
come ti hanno già richiesto.... per evitare fraintendimenti ed evitare di scrivere formule che non si adattano (o non riusciresti ad adattare) al tuo file originale, allega un file (EXCEL) d'esempio.

Ciao
Tore


Ciao Tore!
Intanto grazie per il tuo intervento.
Ci sto lavorando sul foglio...non sono praticissimo.
Ho bisogno di un po' di tempo.
Appena posso, metterò un file.
Karmor
Utente Junior
 
Post: 12
Iscritto il: 25/03/17 18:50

Re: Convalida su "Giorni della Settimana"

Postdi Karmor » 08/12/17 18:30

Anthony47 ha scritto:Avrai notato che i primi messaggi e lo stesso titolo della discussione sono fuorvianti; tu hai bisogno di fare una convalida dinamica e la funzione SE c'entra poco.

Il mio suggerimento e' questo:
1) su un foglio a piacere creati i 7 elenchi a discesa che ti servono, per il Lunedi', Martedi', fino a domenica. Io l'ho fatto su un foglio che ho chiamato Elenchi, da N1 in avanti; in riga 1 ho inserito il Nome del giorno su 3 lettere (come nell'immagine), e verso il basso ho inserito i valori ammissibili per quel giorno.
Immagine

2) poi crea un "Intervallo nominato"; io l'ho chiamato DCONV:
-in Menu /Formule, gruppo Nomi definiti, premi Definisci Nome
-assegna il nome DCONV
-nella casella "Riferito a" scrivi la formula
Codice: Seleziona tutto
=SCARTO(Elenchi!$N$1;1;CONFRONTA(Elenchi!$M$1;Elenchi!$N$1:$T$1;0)-1;1+CONTA.VALORI(SCARTO(Elenchi!$N$1;1;CONFRONTA(Elenchi!$M$1;Elenchi!$N$1:$T$1;0)-1;30;1));1)
La formula consente fino a 30 voci; se ne servono di piu', modificare quel "30" nella formula.
La cella M1 sara' usata dalla macro di Worksheet_SelectionChange (vedi punto 4)
-conferma con Ok
3) Vai dove devi impostare la convalida; accertati che in riga 1 ci sia una data (se vuoi puoi formattare la cella per vedere il solo Giorno della settimana, ma la cella deve contenere una "Data"); poi imposta la convalida "Da elenco", e come Origine inserisci
=DCONV

4) Infine, tasto dx sul tab col nome del foglio in cui hai impostato le convalide; scegli Visualizza Codice; copia questo codice e incollalo nel frame destro dell'editor delle macro che si e' aperto:
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Nota: M1 e' la cella appena a sinistra dell'elenco di convalida
Sheets("Elenchi").Range("M1") = Format(Cells(1, Target.Column), "ddd")
End Sub


In questo modo, l'intervallo di convalida dipendera' dalla data di intestazione della colonna selezionata.

Prova e fai sapere; ma se non risolvi con questo spunto allora attendiamo un file dimostrativo della tua situazione.
Per le istruzioni su come allegare un file:
viewtopic.php?f=26&t=103893&p=605487#p605487

Ciao


Ciao Anthony47!
Si, in effetti inizialmente sono andato fuori strada. Quello di cui ho bisogno è proprio di una convalida dati....che sto procedendo a sviluppare.
Devo leggermi con calma quello che mi hai scritto, per vedere se ci sono attinenze con quanto sto implementando io. Ripeto, sono un profano di excel, non bravissimo...quindi mi barcameno, nel tentativo di cercare di risolvere i problemi che via via incontro.
Appena ci capisco un po', riposto e magari allego un file.
Grazie mille!!
Karmor
Utente Junior
 
Post: 12
Iscritto il: 25/03/17 18:50

Re: Convalida su "Giorni della Settimana"

Postdi Karmor » 08/12/17 20:37

Anthony47, non so se sono io che non riesco, ma non funziona.
Forse sbaglio qualcosa nella procedura, non so.
Karmor
Utente Junior
 
Post: 12
Iscritto il: 25/03/17 18:50

Re: Convalida su "Giorni della Settimana"

Postdi Zer0Kelvin » 09/12/17 00:04

Ciao.
Ti propongo un metodo forse piu facile da implementare.
-Crei una tabella con sette colonne dove inserisci i valori validi per ogni giorno.
-Seleziona i valori permessi per lunedi.
-Fai click destro e selezioni "definisci nome"
-Assegni il nome: Lunedì (deve corrispondere a quello che c'è scritto nella prima riga del tuo calendario)
-Fai lo stesso con le altre 6 colonne
Dopo aver fatto questo:
-Seleziona l'area dove vuoi la convalida
-in convalida dati seleziona: Elenco
-nel campo Origine inserisci la formula
Codice: Seleziona tutto
=INDIRETTO(A$1)
se il calendario non comincia in colonna A aggiusta la formula.
Allego un esempio
http://www.filedropper.com/convalidagiorni
[Win7,Office2010]
Condividere la conoscenza aumenta la ricchezza di tutti(Z0°K)
Dai ad un uomo un pesce e lo avrai sfamato per un giorno;insegnagli a pescare e lo avrai sfamato per sempre(Confucio)
Il sonno della ragione genera mostri(Francisco Goya)
Avatar utente
Zer0Kelvin
Utente Senior
 
Post: 388
Iscritto il: 08/04/12 11:23

Re: Convalida su "Giorni della Settimana"

Postdi Karmor » 09/12/17 17:53

Zer0Kelvin ha scritto:Ciao.
Ti propongo un metodo forse piu facile da implementare.
-Crei una tabella con sette colonne dove inserisci i valori validi per ogni giorno.
-Seleziona i valori permessi per lunedi.
-Fai click destro e selezioni "definisci nome"
-Assegni il nome: Lunedì (deve corrispondere a quello che c'è scritto nella prima riga del tuo calendario)
-Fai lo stesso con le altre 6 colonne
Dopo aver fatto questo:
-Seleziona l'area dove vuoi la convalida
-in convalida dati seleziona: Elenco
-nel campo Origine inserisci la formula
Codice: Seleziona tutto
=INDIRETTO(A$1)
se il calendario non comincia in colonna A aggiusta la formula.
Allego un esempio
http://www.filedropper.com/convalidagiorni


Ciao Zer0Kelvin!
Perfetto! Funziona!
Non ho capito il meccanismo, ma funziona.
Lo riguardo con calma per capirci qualcosa in più. Non sapevo tra l'altro dell'esistenza della funzione "indiretto".
Quello che ti vorrei chiedere adesso, è se nella fase in cui hai selezionato i valori permessi per i vari giorni sia necessario per forza procedere colonna per colonna, e quindi giorno per giorno. Ti dico questo perché nel caso in cui ci siano diversi giorni e quindi colonne di valori da nominare, la procedura potrebbe portare via un po' di tempo. Non è possibile farlo per tutta l'area dei valori da convalidare?
Grazie mille!
Karmor
Utente Junior
 
Post: 12
Iscritto il: 25/03/17 18:50

Re: Convalida su "Giorni della Settimana"

Postdi Zer0Kelvin » 09/12/17 22:43

Non è possibile farlo per tutta l'area dei valori da convalidare?
Non so se sia possibile; io non sono in grado.
[Win7,Office2010]
Condividere la conoscenza aumenta la ricchezza di tutti(Z0°K)
Dai ad un uomo un pesce e lo avrai sfamato per un giorno;insegnagli a pescare e lo avrai sfamato per sempre(Confucio)
Il sonno della ragione genera mostri(Francisco Goya)
Avatar utente
Zer0Kelvin
Utente Senior
 
Post: 388
Iscritto il: 08/04/12 11:23

Re: Convalida su "Giorni della Settimana"

Postdi Karmor » 11/12/17 00:13

Zer0Kelvin ha scritto:
Non è possibile farlo per tutta l'area dei valori da convalidare?
Non so se sia possibile; io non sono in grado.


Grazie Zer0Kelvin
Karmor
Utente Junior
 
Post: 12
Iscritto il: 25/03/17 18:50


Torna a Applicazioni Office Windows


Topic correlati a "Convalida su "Giorni della Settimana"":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti