| | Post: 11 | Registrato il: 16/07/2016
| Città: MILANO | Età: 31 | Utente Junior | 2013 | | OFFLINE | |
|
30/11/2016 11:57 | |
Ho 4 celle che hanno la stessa funzione circa uguale cambia solo alcune celle di riferimento.
Questa funzione é di base un SE con 67 variabili, legate ad un elenco e ad una cella con anch'essa 2 variabili.
Per semplificare metto una versione semplice
Visto che tale funzione é alquanto grande e se sbaglio qualcosa mando in pappa tutto, é possibile convertire questa funzione in una piu semplice da impostare?
=se(e(o($B$74=mod!$A$40;$B$74=mod!$A$41);$j$8="piccola");"A";se(e(o($B$74=mod!$A$40;$B$74=mod!$A$41);$j$8="media");"B"))
le celle $B$74 e $j$8 sono fisse per tutte, le variabili sono mod!$A$[numero] e la loro quantitá come per il risultato A e B |
|
| | Post: 911 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Senior | 365 | | OFFLINE |
|
30/11/2016 12:08 | |
ciao
senza file è difficile
prova a dare un'occhiata alla formula di Ninai
in questo post
Formula Se con molteplici condizioni
domanda di Di Dio Ivano
poche righe più sotto alla tua richiesta |
| | Post: 747 | Registrato il: 24/04/2004
| Città: TERAMO | Età: 63 | Utente Senior | 2010 | | OFFLINE |
|
30/11/2016 18:27 | |
Ciao.
Non riesco a vedere il post di Ninai, quindi dico la mia.
Se la formula è davvero complessa come dici, può essere conveniente scrivere una UDF in VBA...
Ecco una "formulaccia" scritta "a orecchio" a solo titolo di esempio
Option Explicit
'=se(e(o($B$74=mod!$A$40;$B$74=mod!$A$41);$j$8="piccola");"A";se(e(o($B$74=mod!$A$40;$B$74=mod!$A$41);$j$8="media");"B"))
Public Function RockAndRoll(B74, A40, A41, J8) As Variant
If ((B74 = A40) Or (B74 = A41)) Then
If J8 = "piccola" Then
RockAndRoll = "A"
ElseIf J8 = "media" Then
RockAndRoll = "B"
End If
End If
End Function
naturalmente i nomi di cella nella funzione sono in realtà nomi di variabili (parametri, in questo caso)... [Modificato da Zer0kelvin 30/11/2016 18:51] __________________________
[Excel 2010]
-Condividere la conoscenza aumenta la ricchezza di tutti.
-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) |
| | Post: 11 | Registrato il: 16/07/2016
| Città: MILANO | Età: 31 | Utente Junior | 2013 | | OFFLINE | |
|
02/12/2016 13:18 | |
Zer0kelvin, 30/11/2016 18.27:
Ciao.
Non riesco a vedere il post di Ninai, quindi dico la mia.
Se la formula è davvero complessa come dici, può essere conveniente scrivere una UDF in VBA...
Ecco una "formulaccia" scritta "a orecchio" a solo titolo di esempio
Option Explicit
'=se(e(o($B$74=mod!$A$40;$B$74=mod!$A$41);$j$8="piccola");"A";se(e(o($B$74=mod!$A$40;$B$74=mod!$A$41);$j$8="media");"B"))
Public Function RockAndRoll(B74, A40, A41, J8) As Variant
If ((B74 = A40) Or (B74 = A41)) Then
If J8 = "piccola" Then
RockAndRoll = "A"
ElseIf J8 = "media" Then
RockAndRoll = "B"
End If
End If
End Function
naturalmente i nomi di cella nella funzione sono in realtà nomi di variabili (parametri, in questo caso)...
visto che ne devo unire 12 sono costretto a fare 12 macro cosi o posso anche unirle in una sola?
|
| | Post: 3.570 | Registrato il: 04/07/2012
| Città: BARCELLONA POZZO DI GOTTO | Età: 61 | Utente Master | 2010 | | OFFLINE |
|
02/12/2016 15:03 | |
ciao
dovresti allegare un file rappresentativo della situazione e di quello che vorresti ottenere, al momento non mi è chiaro
--------------------------------------------------
"So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")
--------------------------------------------------
excel 2010 ,
Win 8 |
| | Post: 754 | Registrato il: 24/04/2004
| Città: TERAMO | Età: 63 | Utente Senior | 2010 | | OFFLINE |
|
03/12/2016 17:05 | |
visto che ne devo unire 12 sono costretto a fare 12 macro cosi o posso anche unirle in una sola?
Questo dipende dalle tue reali necessità.
Come già suggerito da Ninai, sarebbe meglio avere a disposizione un file con le varie situazioni possibili e con qualche noticina esplicativa. __________________________
[Excel 2010]
-Condividere la conoscenza aumenta la ricchezza di tutti.
-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) |
| | Post: 12 | Registrato il: 16/07/2016
| Città: MILANO | Età: 31 | Utente Junior | 2013 | | OFFLINE | |
|
04/12/2016 14:42 | |
ecco il file esempio, dovrebbe essere capibile |
| | Post: 13 | Registrato il: 16/07/2016
| Città: MILANO | Età: 31 | Utente Junior | 2013 | | OFFLINE | |
|
06/12/2016 15:41 | |
attualmente sto usando la funzione SE concatenata con &" "& formula usata =se(e($B$74=mod!$A$107;$J$8="piccola");"1";se(e($B$74=mod!$A$107;$J$8="media");"1d2";""))&" "&se(e(o($B$74=mod!$A$95;$B$74=mod!$A$40;$B$74=mod!$A$41);$J$8="piccola");"1d2";se(e(o($B$74=mod!$A$95;$B$74=mod!$A$40;$B$74=mod!$A$41);$J$8="media");"1d3";""))&" "&se......
ma mi risulta molto lungo e con un alto rischio di commettere errori |
| | Post: 3.577 | Registrato il: 04/07/2012
| Città: BARCELLONA POZZO DI GOTTO | Età: 61 | Utente Master | 2010 | | OFFLINE |
|
06/12/2016 19:12 | |
ciao
puoi usare qualcosa di simile
=CERCA.VERT(B74;tabella;3+(J8="media");FALSO),
ma non la puoi applicare alle immagini, ci vogliono i riferimenti di cella, per quanto riguarda l'indice da mettere nella formula, è calibrato da +(J8="media"), questo lo farà aumentare di una colonna, qualora fosse VERO.
--------------------------------------------------
"So che spiegare il proprio problema, in modo comprensibile, richiede un certo impegno ed è un lavoro "palloso", ma qualcuno lo deve pur fare ....., indovina chi?" (Cit. "Scossa")
--------------------------------------------------
excel 2010 ,
Win 8 |
| | Post: 14 | Registrato il: 16/07/2016
| Città: MILANO | Età: 31 | Utente Junior | 2013 | | OFFLINE | |
|
07/12/2016 14:29 | |
ninai, 06/12/2016 19.12:
=CERCA.VERT(B74;tabella;3+(J8="media");FALSO)
b74 é la cella di riferimento ; tabella = lista dove ho l'elenco ?; il +3 che significa?
|
|
|