Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

formula condizionale

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 condizionale

Postdi trittico69 » 02/04/11 20:27

Stò cercando una formula condizionale o non che in “A2” mi faccia comparire “1” se “A1” è gialla e “2” se rossa….
Grazie!
trittico69
Utente Senior
 
Post: 487
Iscritto il: 16/08/09 18:41

Sponsor
 

Re: formula condizionale

Postdi Anthony47 » 02/04/11 22:58

Prova a usare la "funzione" GCC descritta in questo messaggio:
viewtopic.php?f=26&t=73671&p=418648#p418648

GCC ti restituisce il "codice colore" della cella; una volta che sai quale e' l' indice per il giallo (supponiamo sia 111) e quello per il rosso (supponiamo sia 222) userai la formula
Codice: Seleziona tutto
=se(GCC(A2)=111;1;se(GCC(A2)=222;2;""))


Tuttavia la mia opinione e' che i colori vanno usati solo per effetti estetici, usarli per fare calcoli e' una forzatura.

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: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: formula condizionale

Postdi trittico69 » 02/04/11 23:03

puoi allegarmi un piccolo esempio?...grazie!
trittico69
Utente Senior
 
Post: 487
Iscritto il: 16/08/09 18:41

Re: formula condizionale

Postdi ricky53 » 02/04/11 23:23

Ciao,
premsso che quanto ti ha scritto Anthony in merito all'utilizzo dei colori è SACROSANTO ti invio questo codice
Codice: Seleziona tutto
Sub Controlla_Colore_Sfondo()
    If Sheets("Foglio1").[A1].Interior.ColorIndex = 3 Then
        Sheets("Foglio1").[A2] = 1
    End If
    If Sheets("Foglio1").[A1].Interior.ColorIndex = 6 Then
        Sheets("Foglio1").[A2] = 2
    End If
End Sub

Ho ipotizzato che tu stia lavorando sul "Foglio1", in coso tu stia lavorando su un altro foglio cambia, nel codice che ti ho inviato, il nome "Foglio1" con il nome del "Tuo Foglio"

Se posso permettermi di esprimere liberamente il mio pensioro senza voler risultare antipatico o altro:
sono quasi sicuro che la tua esigenza è diversa da come l'hai esposta (lo scrivo per esperienza nella frequentazione dei forum) quindi penso che andando avanti nella discussione avremo altre informazioni.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: formula condizionale

Postdi Anthony47 » 03/04/11 20:24

Vedi qui: http://rapidshare.com/files/455738680/Tritt_GCC.xls
La cella compilata in base al colore di A1 e' B5, mentre B3 e' usata per dimostrare come GCC restituisce il codice di colore.
Due cose che non ti ho detto nel messaggio precedente
-con la funzione GCC (cosi' come con la macro pìsuggerita da Ricky, vedi sopra) puoi rilevare solo il colore applicato tramite formattazione (non formattazione condizionale); se il tuo problema e' con la formattazione condizionale allora devi solo usare una formula che replica in A2 le condizioni della formattazione condizionale.
-la funzione calcola l' indice di colore ogni volta che excel fa un ricalcolo; quindi potrebbe essere prudente usare F9=Ricalcola quando vuoi essere sicuro del risultato. Nel file di esempio questo e' fatto tramite il pulsate Aggiorna.

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: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: formula condizionale

Postdi trittico69 » 04/04/11 17:26

si puo fare in automatico senza il tasto aggiorna?
cioè appena coloro la cella mi cambia in automatico il numero...
trittico69
Utente Senior
 
Post: 487
Iscritto il: 16/08/09 18:41

Re: formula condizionale

Postdi Avatar3 » 04/04/11 22:22

Prendendo spunto dalla macro di Ricky53

puoi utilizzare quel codice modificato e inserirlo sul foglio (non nel modulo)
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If [A1].Interior.ColorIndex = 3 Then
        [A2] = 1
    End If
    If [A1].Interior.ColorIndex = 6 Then
        [A2] = 2
    End If
End Sub

Fai attenzione perché, come dice bene Anthony, la variazione del numero in A2 non l'avrai al cambiamento del colore in A1 ma a qualsiasi successiva variazione di selezione (selezione su una qualsiasi cella del foglio)

Ciao
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: formula condizionale

Postdi trittico69 » 04/04/11 22:27

a me serviva al cambiamento di colore...peccato!
trittico69
Utente Senior
 
Post: 487
Iscritto il: 16/08/09 18:41

Re: formula condizionale

Postdi Avatar3 » 04/04/11 22:54

Si ma dopo che cambi colore cliccherai pure da un'altra parte o no?
ciao
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: formula condizionale

Postdi Anthony47 » 04/04/11 23:44

L' applicazione di un colore NON E' una situazione di ricalcolo, nessuna formula del foglio viene ricalcolata; questo per decisione di Microsoft.
Se vuoi una cosa divesa devi rivolgerti a loro..

Se il tuo foglio di lavoro e' leggero, allora puoi creare un meccanismo che forza il ricalcolo in particolari casi; ad esempio sugli eventi Worksheet_SelectionChange (come ti ha proposto Avatar3) e Worksheet_Activate. Al limite una macro che si rischedula ogni N secondi (intervallo a tua scelta) usando il metodo OnTime; ad esempio questa:
Codice: Seleziona tutto
Sub rrecalc()
Worksheets("Foglio1").Calculate   '<<< Metti il foglio che ti interessa, solo quello
DeltaT = "00:00:05"  '<<< riesegue ogni 5 secondi; cambiare se necessario
Application.OnTime Now + TimeValue(DeltaT), "rrecalc"
End Sub
Lanciala 1 (1 sola) volta e lei continuera' ogni x secondi.

Ma sono tutte trappole; il colore lascialo per gli effetti speciali, non per i calcoli.

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: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "formula condizionale":


Chi c’è in linea

Visitano il forum: patel e 6 ospiti