PDA

View Full Version : EXCELL: creare funzione con 2 variabili. HELP!!


steogen
07-02-2005, 12:45
Salve a tutti.
Ho un problema nel creare una funzione in microsoft excell. Eccolo esposto:

Ho creato 3 fogli nello stesso file e li ho chiamati "foglio1", "foglio2" e "foglio3".
Nel foglio1 voglio creare una funzione che mi permetta di ottenere, come risultato, il contenuto di una cella presente nel foglio2. Per esempio:

=foglio2!B10

dove B10 rappresenta la cella che contiene il testo "CIAO" che voglio visualizzare. La funzione da, giustamente il risultato CIAO.



Ora, se volessi creare un'altra funzione del tipo:

=foglio3!B8
Avrei bisogno di creare 2 variabili per non dover cambiare manualmente la funzione. Qualcosa del tipo:

(valoreX)!B(valoreY)

dove la variabile X rappresenta il foglio che voglio utilizzare;
La colonna B è costante e la cella è individuatà grazia alla varabile Y (che rappresenta il numero della riga).

Utilizzo 2 caselle del foglio1 come campi di testo dove inserire il valore delle variabili:
casella B5 contiene "foglio3"
casella C5 contiene "8"

La domanda è: quale sintassi devo utilizzare nella mia funzione per far si che essa prenda il valore delle due variabili da B5 e C5 e le utilizzi per restituire il contenuto della cella interessata (supponiamo sia "GRAZIE")???
Qualcosa del tipo:
se B5 contiene il testo "foglio3" e C5 il testo "8", la funzione
=(B5)!B(C5)

solo che scritta cosi non funziona :cry:

Grazie

zuper
07-02-2005, 13:55
ho la pancia piena e non riesco a ragionare :)

posta un foglio di esempio...che almeno cerco di capire ;)

guldo76
07-02-2005, 14:10
Ho un problema nel creare una funzione in microsoft excell.

Excel, con 1 elle.

Avrei bisogno di creare 2 variabili per non dover cambiare manualmente la funzione. Qualcosa del tipo:
(valoreX)!B(valoreY)
[...]
casella B5 contiene "foglio3"
casella C5 contiene "8"

=INDIRETTO(B5&"!B"&C5)

steogen
07-02-2005, 14:49
Eccolo. Spero che sia sufficientemente chiaro...:p

steogen
07-02-2005, 14:56
=INDIRETTO(B5&"!B"&C5)

Funziona! Yahuuu:D :D

Grazie mille!

zuper
07-02-2005, 15:06
Originariamente inviato da guldo76
Excel, con 1 elle.



=INDIRETTO(B5&"!B"&C5)


concordo :)

chiaramente così la b ti da la seconda colonna...

puoi inserire un'altra variabile...nel tuo foglio f6 per inserire la colonna di riferimento

=INDIRETTO(D6&"!"&F6&E6)

così hai tutte e 3 le variabili:
foglio
colonna
riga :)

steogen
07-02-2005, 15:17
Un'ultima cosa:
vorrei che una funzione verificasse la presenza della parola SI in un campo di testo (x es.la casella corrispondente a =INDIRETTO(B5&"!K"&C5) )e, in caso positivo restituisse OK. Altrimenti ERRORE.
Come dovrei modificare la funzione in questo caso?
=SE(=INDIRETTO(B5&"!K"&C5)=SI;"OK";"ERRORE") non funziona. Ma qualcosa di questo tipo..
Grazie:)

guldo76
07-02-2005, 15:35
Originariamente inviato da steogen
=SE(=INDIRETTO(B5&"!K"&C5)=SI;"OK";"ERRORE") non funziona. Ma qualcosa di questo tipo..
Il "SI", per tua stessa ammissione, è un testo; inoltre basta 1 segno "=" all'inizio della formula:
=SE(INDIRETTO(B5&"!K"&C5)="SI";"OK";"ERRORE")

EDIT: però si può fare meglio di così; è sufficiente:
=(INDIRETTO(B5&"!K"&C5)="SI")
questa funzione restitusce un valore booleano (vero - falso). Provala :)
(le parentesi all'inizio e alla fine si mettono per chiarezza, ma sarebbero superflue)

steogen
07-02-2005, 15:45
Ancora grazie!:)