Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Formula un pò complessa?

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

Formula un pò complessa?

Postdi Cesare2010 » 19/03/11 10:43

Buon giorno a tutti.
Che io abbia qualche difficoltà per la programmazione VBA….. OK, ma che una formula mi possa mandare in pallone……..!!!! :o :evil:
Passo a spiegare.
Le celle (del foglio attivo): E78, E80, E82, AJ9 e AL9, sono formattate come “data” mentre tutte le altre cui fa riferimento la formula sono formattate come “numero”; nella cella AJ5 compare un nominativo selezionato con casella a discesa; nelle descritte celle della colonna E sono inserite le date del 25 dic, 1 gen e 15 ago.

La cella AG21, dove è inserita la formula, deve restituire:

- “Natale”: qualora la cella E78 sia <= alla cella AL9 e che essa (E78) sia >= alla cella AJ9 e che il valore della cella di colonna 178 del foglio “Straordinari”sia = a quello della cella AJ20 del foglio attivo; tale condizione deve verificarsi “VERA” - quindi restituire “Natale” - anche se la data cella E78 non fosse ricompresa tra quella di AL9 e AJ9;
- “Capodanno”: qualora la cella E80 sia <= alla cella AL9 e che essa (E80) sia >= alla cella AJ9 e che il valore della cella di colonna 178 del foglio “Straordinari”sia <> da quello della cella AJ20 del foglio attivo;
- “Ferragosto”: qualora la cella E82 sia <= alla cella AL9 e che essa (E82) sia >= alla cella AJ9;
- se nessuna delle condizioni su riportate, ovvero se nella cella AJ5 non vi fosse alcuna selezione di nominativo, la cella in esame (AG21) deve restituire Zero.

Nella speranza che quanto sin qui detto fosse intellegibile, riporto la formula così come da me strutturata.

=SE(AJ20="";0;SE(E(O(VAL.ERRORE(AJ20=CERCA.VERT(AJ20;Straordinari!A320:HZ475;178;FALSO));E78>=AJ9;E78<=AL9));”Natale”;SE(EO(VAL.ERRORE(AJ20<>CERCA.VERT(AJ20;Straordinari!A320:HZ475;178;FALSO));E80>=AJ9;E80<=AL9));”Capodanno”;SE(E(E82>=AJ9;E82<=AL9);”Ferragosto”))))

Di primo acchito sembra che tutto funzioni….., ma non è così! :( :cry:
Se il valore della cella AJ20 fosse uguale a quello confrontato con “CERCA.VERT”, ancorché tra le date in AJ9 e AL9 non fosse ricompresa quella in E78 (Natale), correttamente (…. io dico) la formula restituisce “Natale”, ma…. qualora il valore di AJ20 fosse diverso da quello confrontato con “CERCA.VERT” tra le date in AJ9 e AL9 sia ricompresa quella in E80 (Capodanno), la formula restituisce sempre “Natale”. :-? :-?

Dove erro? S.O.S., help me please!!!

Cesare
Cesare2010
Utente Junior
 
Post: 30
Iscritto il: 31/01/11 17:37

Sponsor
 

Re: Formula un pò complessa?

Postdi Anthony47 » 19/03/11 19:29

Forse e' meglio se alleghi un file dimostrativo.
Inoltre dovresti precisare la data completa di quanto scrivi in E78, E80, E82; cioe' gg/mm/aaaa; non guasterebbe nemmeno la spiegazione dei calcoli che vuoi fare, per evitare di seguirti ciecamente :D

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13895
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Formula un pò complessa?

Postdi Cesare2010 » 19/03/11 23:28

Ciao Antony, buona sera a tutti.
Avevo avuto l'illusione di essere stato sufficientemente chiaro.... mi dispiace :( .
Proverò domani a preparare un file dimostrativo (sarà piuttosto difficile!), ma non saprei come farlo visualizzare ovvero come allegarlo:( :( .
Comunque, per quanto riguarda le date delle celle E78, E80 e E82, potrebbero essere rispettivamente 21/12/2010, 31/12/2010 e 15/08/2011.
Spero di potercela fare.

A risentirci a presto.

Cesare
Cesare2010
Utente Junior
 
Post: 30
Iscritto il: 31/01/11 17:37

Re: Formula un pò complessa?

Postdi Flash30005 » 20/03/11 01:44

Il primo topic (Annuncio) di questa sezione vi è descritta la procedura di come inserire il link di un file inviato ad un server host

questo è il link del topic

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Formula un pò complessa?

Postdi Cesare2010 » 20/03/11 11:45

Buongiorno a tutti e un grazie anche a Fash per il suo intervento.
Innanzitutto mi scuso per ieri sera..... there was an error of understanding..... dovuto un pò alla stanchezza e nella percentuale maggiore a Morfeo.
La formattazione delle celle, richiesta da Antony, in colonna E è "gg mmmm aaaa".
Proverò ad allegare in un altro msg il file di esempio che ho preparato.
Ciao.
Cesare
Cesare2010
Utente Junior
 
Post: 30
Iscritto il: 31/01/11 17:37

Re: Formula un pò complessa?

Postdi Cesare2010 » 20/03/11 12:10

Ci provo!
http://rapidshare.com/files/453456712/Esempio.xls
Spero tutto OK.
Ciao
Cesare
Cesare2010
Utente Junior
 
Post: 30
Iscritto il: 31/01/11 17:37

Re: Formula un pò complessa?

Postdi Flash30005 » 20/03/11 19:00

Noto una distribuzione dati un po' complicata che, secondo me andrebbe snellita soprattutto perché penso che l'esempio sia solo una parte di ciò che si vorrebbe ottenere
comunque inserisco due righe di codice macro per avere la giusta festività nella cella AG21
Purché in corrispondenza delle date festività, nella colonna F ci siano riportate le tre festività relative
(F78=NATALE, F80=CAPODANNO, F82=FERRAGOSTO)

Questa macro può essere attivata automaticamente (vedi seconda macro) al variare di una delle due celle contenenti la data (AJ9; AL9) e ottenere il risultato in AG21

Codice: Seleziona tutto
Sub TrovaFesta()
For DF = Range("AJ9").Value To Range("AL9").Value
    For RF = 78 To 82
        If Range("E" & RF).Value = DF Then
            Range("AG21").Value = Range("F" & RF).Value
            Exit Sub
        End If
    Next RF
Next DF
End Sub


Codice da inserire nel foglio "Attivo" per avviare la macro "TrovaFesta"
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
CheckArea = "AJ9,AL9"
If Not Application.Intersect(Target, Range(CheckArea)) Is Nothing Then
Call TrovaFesta
End If
End Sub


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Formula un pò complessa?

Postdi gianc » 20/03/11 22:51

scusatemi l'intromissione.
vorrei capire se ho interpretato bene le tue necessità.
tu hai bisogno che in AG21 risulti:

"- “Natale”: qualora la cella E78 sia <= alla cella AL9 e che essa (E78) sia >= alla cella AJ9 e che il valore della cella di colonna 178 del foglio “Straordinari”sia = a quello della cella AJ20 del foglio attivo; tale condizione deve verificarsi “VERA” - quindi restituire “Natale” - anche se la data cella E78 non fosse ricompresa tra quella di AL9 e AJ9;"
mi sembra contraddittori.........prima dici che si deve verificare AJ9<=E78<=AL9 e alla fine dici che non è necessario. Da quanto scrivi in pratica deve risultare natale sempre purchè AJ20 sia uguale al valore nella colonna 178 del foglio straordinari

"- “Capodanno”: qualora la cella E80 sia <= alla cella AL9 e che essa (E80) sia >= alla cella AJ9 e che il valore della cella di colonna 178 del foglio “Straordinari”sia <> da quello della cella AJ20 del foglio attivo;"
devono verificarsi contemporaneamente AJ9<=E80<=AL9 e che AJ20 non sia uguale al valore nella colonna 178 del foglio straordinari

"- “Ferragosto”: qualora la cella E82 sia <= alla cella AL9 e che essa (E82) sia >= alla cella AJ9;"
deve verificarsi la condizione AJ9<=E82<=AL9. Ma suppongo anche che AJ20 non debba essere uguale al valore nella colonna 178 del foglio straordinari, altrimenti (come hai specificato al primo punto) dovrebbe risultare natale

dall'esempio che hai pubblicato ho avuto l'impressione che tu debba sviluppare un piccolo gestionale del personale.
se l'intentoèdi gestire molti altri parametri oltre a quelliper cui hai chiesto suggerimento, ti consiglio di snellirlo un pò (consiglio che ti hanno già dato leggendo i post precedenti)........non cercare di fare tutto in una formula. per quanto mi riguarda, quando creo gestionali, tengo sempre un foglio nascosto (che chiamo "formule") da usare come foglio di appoggio per fare tutte le operazioni più complesse. Inoltre così facendo non impazzirai quando dovrai apportare modifiche o cercare errori.

tornando alla soluzione.
se ho interpretato bene la tua richiesta questa dovrebbe essere la formula che cerchi:
=SE(AJ5="";0;SE(AJ20=CERCA.VERT(AJ5;Straordinari!A320:HZ475;178;FALSO);"NATALE";SE(E(E80>=AJ9;E80<=AL9);"CAPODANNO";SE(E(E82>=AJ9;E82<=AL9);"FERRAGOSTO"))))
gianc
Utente Junior
 
Post: 59
Iscritto il: 19/03/11 00:51
Località: Pistoia

Re: Formula un pò complessa?

Postdi Cesare2010 » 20/03/11 23:36

Buona sera a tutti.
Credo che Gianc abbia "intuito" ciò che cercavo, senza nulla togliere al grande valore dei moderatori (Antony e Flash del quale proverò la sua macro) nonché alla preparazione di quanti intervengono con propri consigli.
Certo è lo snellimento ciò che cerco di attuare su qualcosa (costatami peraltro molto lavoro) di cui l'esempio ne è una piccola parte (bravo Flash! Comunque, proverò anche la macro da te consigliatami).
E' con grande piacere che, ancora una volta, ringrazio tutti. :D :D
Ciao
Cesare
Cesare2010
Utente Junior
 
Post: 30
Iscritto il: 31/01/11 17:37

Re: Formula un pò complessa?

Postdi Anthony47 » 20/03/11 23:41

Credo che Gianc abbia "intuito" ciò che cercavo, senza nulla togliere al grande valore dei moderatori
La competenza e' un valore assoluto e quindi puo' appartenere a molti; al contrario della ricchezza che e' sempre relativa e quindi puo' solo appartenere a pochi.

Ciao a tutti.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13895
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Formula un pò complessa?

Postdi Cesare2010 » 20/03/11 23:53

Scusatemi se ritorno così presto, avevo dimenticato di dire che, ovviamente - al di là dell'intuizione - il consiglio di Gianc verrà verificato. A me, che di certo non riesco a spiegare esattamente ciò che desidero e - francamente sono un pò stanco, pare che manchi qualcosa.
Farò sapere.
Ciao
Cesare
Cesare2010
Utente Junior
 
Post: 30
Iscritto il: 31/01/11 17:37

Re: Formula un pò complessa?

Postdi Cesare2010 » 21/03/11 12:29

Oh, oh!
Bellissima locuzione!
La ricchezza E' VOSTRA, Antony.
Ciao
Cesare2010
Utente Junior
 
Post: 30
Iscritto il: 31/01/11 17:37


Torna a Applicazioni Office Windows


Topic correlati a "Formula un pò complessa?":


Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti