Hardware Upgrade Forum

Hardware Upgrade Forum (https://www.hwupgrade.it/forum/index.php)
-   Programmi e Utility (https://www.hwupgrade.it/forum/forumdisplay.php?f=37)
-   -   Excel: problematiche e soluzioni (https://www.hwupgrade.it/forum/showthread.php?t=2102242)


x_Master_x 16-12-2011 10:14

Quote:

Originariamente inviato da jacopastorius (Messaggio 36557012)
Ho bisogno di mettere in una unica cella 48 funzioni SE

Il limite è 7, si può aggirare ma sarebbe meglio spezzare la formula su più celle oppure utilizzare il CERCA.VERT, o al limite il VBA

Per aggirare il limite, basta concatenare diverse funzioni SE() con "&", quindi fatto le prime 7 nidificazioni si continua con "&", SE() & SE() e così via.

jacopastorius 16-12-2011 12:24

Quote:

Originariamente inviato da x_Master_x (Messaggio 36557117)
Il limite è 7, si può aggirare ma sarebbe meglio spezzare la formula su più celle oppure utilizzare il CERCA.VERT, o al limite il VBA

Per aggirare il limite, basta concatenare diverse funzioni SE() con "&", quindi fatto le prime 7 nidificazioni si continua con "&", SE() & SE() e così via.

E per scrivere le prime sette come faccio? separo con una virgola? Mi faresti un esempio per chiarirmi? grazie infinite :)
E per il vba come faccio eventualmente?

x_Master_x 16-12-2011 12:39

Quote:

Originariamente inviato da jacopastorius (Messaggio 36558102)
E per scrivere le prime sette come faccio? separo con una virgola? Mi faresti un esempio per chiarirmi? grazie infinite :)
E per il vba come faccio eventualmente?

Per il VBA devi aspettare qualche ora, non ho il software sottomano

Formula SE con più di 7 concatenazioni (&SE)
Codice:

=SE(C15=0;8;SE(C15=1;9;SE(C15=2;10;SE(C15=3;11;SE(C15=4;12;SE(C15=5;13;SE(C15=6;14;SE(C15=7;"OK";))))))))&SE(C15=8;15;SE(C15=9;"OK";SE
(C15=10;16;SE(C15=11;"OK";SE(C15=12;"OK";SE(C15=13;17;SE(C15=14;"OK";SE(C15=15;"OK";))))))))&SE(C15=16;18;SE(C15>16;"SI";SE(C15<0;"NO";"")

Fai attenzione ad aggiungere il ; prima della fine dell'ultima delle 7 concatenazioni ( di ognuna delle sette concatenazioni, non solo la numero 1 ), prima di usare &SE
Mi riferisco a questo:
Codice:

SE(C15=7;"OK";)
E mettere gli "" nell'ultima che chiude la formula:
Codice:

SE(C15<0;"NO";"")

skr3ch 16-12-2011 15:43

Ciao Jacopastorius.
Volevo darti una soluzione più semplice.
Non so se ho capito bene cosa vuoi fare,
ma per quanto ho capito crewdo che tu possa fare in questo modo:

A1 = x
B1 = 150+A1*50

L'ho appena provata e sembra andare alla grande.
Se ho capito male, e di conseguenza ho detto una cavolata ti chiedo scusa :)

jacopastorius 16-12-2011 16:33

grazie master adesso provo. Per il vba lascia perdere tanto penso sia troppo complesso per quello che devo farci e più che altro non ci capisco nulla e non so gestirlo.

@ skr3ch
grazie lo stesso ma non devo far quello. voglio che in una cella io scriva un numero e a quel numero venga associato un altro numero che mi deve comparire nella cella accanto

skr3ch 16-12-2011 16:37

Detta cosi siamo sempre li :)
Allora forse sono io che non capisco cos'altro ti serva.

jacopastorius 17-12-2011 11:40

Quote:

Originariamente inviato da skr3ch (Messaggio 36559875)
Detta cosi siamo sempre li :)
Allora forse sono io che non capisco cos'altro ti serva.

Giusto! hai ragione però nel post ho messo solo dei numeri di esempio. Purtroppo quelli che devo realmente mettere non hanno una proporzionalità diretta quindi la formula non va :(

skr3ch 17-12-2011 18:14

Ah vabbè, allora.....
Se trovi una relazione, bene, altrimenti ho visto che esiste anche in excel il costrutto "case", ma non so darti maggiori info a riguardo.

Tentativo vano :P

Raffaele53 19-12-2011 16:31

Ti crei una tabella
2 | 250
3 | 300
ecc ecc
In A1 scrivi cosa vuoi e in B1 = cerca.vert(A1; "Area tabella";2;0)

fmasta56 13-01-2012 10:43

CONFRONTARE CARTELLE DI EXCEL (LISTINI PREZZI)
 
Mi piacerebbe molto risolvere un problemino "da nulla" con Excel (io adopero ancora la versione 2003 ma volendo posso passare alla 2007 o 2010). In pratica devo poter comparare diversi listini prezzi dei fornitori con il mio, facendo una ricerca sul codice articolo di ciascun fornitore: vorrei che automaticamente mi fossero trovate le variazioni di prezzo di ciascun articolo rispetto al mio foglio excel (e che mi venissero evidenziate sul mio foglio, contemporaneamente all'aggiornamento del valore e, se possibile, della data di variazione). Probabilmente si tratta di creare una macro o una query, ma non sono molto esperto nel ramo...! Occorre inoltre considerare che, rispetto al listino del fornitore, non tutti gli articoli sono ricreati nel mio foglio excel (ovviamente solo quelli che vendo) e che la formattazione è ovviamente completamente diversa: i listini dei fornitori contengono solo codice articolo, descrizione e prezzo, mentre il mio ha molte più colonne (l'unica cosa che accomuna è il solo codice articolo del fornitore).
Pensate si possa fare una cosa del genere (per me è fantascienza ma, considerando che gli aggiornamenti dei listini sono sempre più frequenti, mi risolverebbe moltissime cose...) :muro: :muro: :mc:
Grazie per l'aiuto :help:

vermaccio 18-01-2012 12:16

[excel] come effettuare una ricerca valore in una sottoparte di riga a piacere?
 
[excel] come effettuare una ricerca valore in una sottoparte di riga a piacere?

Mi occorrerebbe implementare in excel 2003 la seguente cosa e non ho idea di come fare, quindi chiedo a Voi :):

ho una riga1 contenente nelle varie celle vari valori
ed ho un altra cella altrove (es: riga2, colonna1) contenente un valore numerico (chiamiamolo "n" ma sarà un numero).

esempio riga1 celle A,B,C... per 9 colonne:
numero colonna 1 2 3 4 5 6 7 8 9
valori riga1 1 2 3 4 5 6 1 1 9
valori riga2 n

notare che la colonna 8 e 9 contengono il valore "1".

mi serve una funzione che mi fornisca un valore "vero/falso" o scriva qualcosa di preciso in un altra cella di una terza riga se nella riga1 c'è un valore "1" ma SOLO nelle colonne dalla n-esima (inclusa) all ultima (la nona colonna).
Nell esempio se n=4 andrebbe verificato se ci sono valori 1 nella la parte 6 1 1 9 e se ce ne sono lo deve segnalare.


insomma il punto è come effettuare una ricerca della presenza di un valore in una parte di riga la cui "lunghezza" varia in base ad un numero scritto in un altra cella (il valore n).

faccio altri due esempi:

es1:
numero colonna 1 2 3 4 5 6 7 8 9
valori riga1 0 1 0 1 1 0 0 0 0
valori riga2 6

ricerca se ci so no "1" nella parte 0 0 0 0 e non ne trova.


es2:
numero colonna 1 2 3 4 5 6 7 8 9
valori riga1 0 1 0 1 1 0 0 0 0
valori riga2 5

ricerca se ci so no "1" nella parte 1 0 0 0 0 e ne trova.


grazie

EnricoHU 19-01-2012 10:03

ciao,

basta inserire una funziona "conta.se" che abbia nell'intervallo il riferimento al valore "n" come colonna di partenza.

al momento non ho tempo di scriverla ma se non hai capito o non sai farlo, fammelo sapere.

EnricoHU 19-01-2012 17:42

ho trovato un pò di tempo:

=CONTA.SE(INDIRETTO(INDIRIZZO(2;A3;4)&":"&"I2");1)

A B C D E F G H I
1 2 3 4 5 6 7 8 9
0 1 0 0 1 0 0 1 0
1 ---> 3

A B C D E F G H I
1 2 3 4 5 6 7 8 9
0 1 0 0 1 0 0 1 0
6 ---> 1

phuntastiko 20-01-2012 17:13

ciao,
vorrei mettere una password per impedire ad altri di aprire un file di excel, un csv in particolar modo, ma la procedura prepara>crittografa seguita dalle password non mi funziona e il file risulta apribile senza richiesta di psw. come risolvo?grazie

Cloud76 21-01-2012 12:13

Ho provato a leggere qualche guida ma non riesco a capire come fare questo, non dovrebbe essere una cosa difficile ma sono a digiuno di excel:

-metto dei numeri in una colonna (ad esempio B, da B2 in avanti)

Nella colonna C, vorrei che per ogni numero inserito in B, quindi B2, B3 e così via per tutti gli altri venga eseguita una percentuale (40%) automaticamente. Quindi C2 sarà la percentuale di B2, C3 sarà la percentuale di B3 e così via.
Penso si possa fare no?

vermaccio 23-01-2012 14:30

Quote:

Originariamente inviato da EnricoHU (Messaggio 36761693)
A B C D E F G H I
1 2 3 4 5 6 7 8 9
0 1 0 0 1 0 0 1 0
6 ---> 1

nel secondo tuo esempietto

INDIRIZZO(2;A3;4) -->punta alla sesta cella da sinistra, seconda riga ovvero sarebbe la cella "2F" (che contiene uno "0").

A B C D E F G H I
1 2 3 4 5 6 7 8 9
0 1 0 0 1 0 0 1 0 <--
X X X X X |

a questo punto

INDIRIZZO(2;A3;4)&":"&"I2"

fornisce il range 2F:I2 ovvero stiamo tenedo d occhio la parte 0 0 1 0

A B C D E F G H I
1 2 3 4 5 6 7 8 9
0 1 0 0 1 0 0 1 0 <--
X X X X X o o o o

quindi
INDIRETTO(INDIRIZZO(2;A3;4)&":"&"I2")
punta pproprio al contenuto di tale range cioè il range stesso.

da cui
=CONTA.SE(INDIRETTO(INDIRIZZO(2;A3;4)&":"&"I2");1)
conta solo se ci sono 1 in tale range

se ci fosse stato scritto

=CONTA.SE(INDIRETTO(INDIRIZZO(2;A3;4)&":"&"I2");0)

avrebbe contato gli zeri.


ho capito bene?

EnricoHU 23-01-2012 15:24

Quote:

Originariamente inviato da phuntastiko (Messaggio 36768669)
ciao,
vorrei mettere una password per impedire ad altri di aprire un file di excel, un csv in particolar modo, ma la procedura prepara>crittografa seguita dalle password non mi funziona e il file risulta apribile senza richiesta di psw. come risolvo?grazie

ciao
il formato csv è un formato testo, quindi perde (quasi) tutte le caratteristiche dei files excel, compresa l'impostazione della password

Quote:

Originariamente inviato da Cloud76
...

ciao
se ho capito la domanda:

..A..B...C
1.......
2. 100 40 (=B2*40%)
3. 110 44 (=B3*40%)
4. 120 48 (=B4*40%)


Quote:

Originariamente inviato da vermaccio
ho capito bene?


fmasta56 23-01-2012 15:31

Ma è una cosa possibile?
 
Quote:

Originariamente inviato da fmasta56 (Messaggio 36722317)
Mi piacerebbe molto risolvere un problemino "da nulla" con Excel (io adopero ancora la versione 2003 ma volendo posso passare alla 2007 o 2010). In pratica devo poter comparare diversi listini prezzi dei fornitori con il mio, facendo una ricerca sul codice articolo di ciascun fornitore: vorrei che automaticamente mi fossero trovate le variazioni di prezzo di ciascun articolo rispetto al mio foglio excel (e che mi venissero evidenziate sul mio foglio, contemporaneamente all'aggiornamento del valore e, se possibile, della data di variazione). Probabilmente si tratta di creare una macro o una query, ma non sono molto esperto nel ramo...! Occorre inoltre considerare che, rispetto al listino del fornitore, non tutti gli articoli sono ricreati nel mio foglio excel (ovviamente solo quelli che vendo) e che la formattazione è ovviamente completamente diversa: i listini dei fornitori contengono solo codice articolo, descrizione e prezzo, mentre il mio ha molte più colonne (l'unica cosa che accomuna è il solo codice articolo del fornitore).
Pensate si possa fare una cosa del genere (per me è fantascienza ma, considerando che gli aggiornamenti dei listini sono sempre più frequenti, mi risolverebbe moltissime cose...) :muro: :muro: :mc:
Grazie per l'aiuto :help:

Ma questa cosa non si può proprio fare? Il confronto fra due file diversi...

Alex23 23-01-2012 15:44

Quote:

Originariamente inviato da fmasta56 (Messaggio 36784699)
Ma questa cosa non si può proprio fare? Il confronto fra due file diversi...

Ti basta un semplice cerca.vert ;)

Raffaele53 23-01-2012 15:56

Si può fare, ma devi spostare un esempio
Foglio1 il rivenditore
Foglio2 il Tuo
Attenzione oltre al codice che deve essere uguale, ci devono essere tutte le intestazioni di colonna di ambedue fogli.

fmasta56 23-01-2012 16:40

Quote:

Originariamente inviato da Raffaele53 (Messaggio 36784921)
Si può fare, ma devi spostare un esempio
Foglio1 il rivenditore
Foglio2 il Tuo
Attenzione oltre al codice che deve essere uguale, ci devono essere tutte le intestazioni di colonna di ambedue fogli.

penso intendessi "postare" e non "spostare" ... ma come faccioa d inviarlo?
La funzione CERCA.VERT non la conosco tanto, magari va già bene, ma non saprei applicarla...

vermaccio 23-01-2012 17:36

Quote:

Originariamente inviato da EnricoHU (Messaggio 36784636)

grazie, sei stato utilissimo. :)

vermaccio

vermaccio 23-01-2012 17:43

E se, data sempre la situazione di cui sopra, mi occorresse sapere la prima cella in cui appare un certo valore?

es: ho una riga (es: riga3) con valori 0 1 0 0 1

mi servirebbe sapere in quale colonna appare il primo "1". In questo caso dovrebbe dirmi in cella 3B (riga3, seconda colonna)

grazie

Raffaele53 23-01-2012 18:33

Quando scrivi, sopra in alto c'è un graffetta

fmasta56 23-01-2012 19:37

Quote:

Originariamente inviato da Raffaele53 (Messaggio 36786077)
Quando scrivi, sopra in alto c'è un graffetta

Non è possibile allegare il file, è molto grande (diversi mega) e comunque non è permesso allegare file in formato xls: se provo a stamparlo in PDF la situazione cambia di poco.
Nella cartella ci sono due fogli, FOGLIO1 è il mio listino (ovviamente alleggerito), il 2 quello di un fornitore. Vorrei che fosse fatta una ricerca tra la mia colonna S (Listino Imponibile) e la colonna C del listino fornitore, effettuando la ricerca sul codice articolo fornitore (la mia colonna F), e che mi venisse evidenziata in qualche modo l'eventuale differenza (con un fondo colorato, oppure indicandomi la cifra aggiornata...).
Purtroppo i listini dei fornitori non sono formattati ugualmente, per cui la disposizione di righe e colonne può variare anche notevolmente...

fmasta56 23-01-2012 19:46

1 Allegato(i)
Quote:

Originariamente inviato da Raffaele53 (Messaggio 36786077)
Quando scrivi, sopra in alto c'è un graffetta

Ho alleggerito ancora di più la cartella e stampato il tutto in PDF...può andare?

fmasta56 23-01-2012 19:51

secondo file (fornitori)
 
1 Allegato(i)
Quote:

Originariamente inviato da Raffaele53 (Messaggio 36786077)
Quando scrivi, sopra in alto c'è un graffetta

bene, ovviamente adesso i riferimenti colonne sono sbagliati! La ricerca va fatta con il codice fornitore (mia colonna F e colonna A per il fornitore), aggiornando il prezzo sulla mia colonna J (con segnalazione colorata della variazione) rispetto alla colonna C del fornitore. Si può fare?
Il mio foglio fa parte di una cartella di lavoro complessa (circa 14MB), quello dei fornitori è invece di solito un singolo foglio come l'allegato, con pochi dati.

Cloud76 23-01-2012 22:29

Quote:

Originariamente inviato da EnricoHU (Messaggio 36784636)
ciao
se ho capito la domanda:

..A..B...C
1.......
2. 100 40 (=B2*40%)
3. 110 44 (=B3*40%)
4. 120 48 (=B4*40%)

Ciao, grazie, ma quello che non riesco a trovare è come specificare il fatto che nella data colonna (ad esempio C, riprendendo quello che hai scritto tu) venga impostata per TUTTA la colonna che venga effettuata la percentuale del numero scritto sulla stessa riga della colonna a fianco (cioè B). Senza andare ad inserire in ogni cella di C di farmi la percentuale di B2 (=B2*40%), quella di B3 (=B3*40%), quella di B4 (=B4*40%) e così via...
Inserire una formula per ogni cella riesco ma mi sembra alquanto lungo se si hanno molti dati da inserire, molto più comodo invece fare in modo che in tutta la colonna venga fatta automaticamente. Come faccio?
Spero di essermi spiegato bene...
Grazie!

Raffaele53 24-01-2012 11:22

>>>Non è possibile allegare il file, è molto grande (diversi mega) e comunque non è permesso allegare file in formato xls
Se desideri un'aiuto devi spostare il files zippato (formato ZIP), se è troppo grande elimini le ultime righe fino a rientrare in 24,4 KB, casomai anche fogli che non c'entrano nulla
L'importante che ci siano tutte le intestazioni dei due fogli oppure mettilo su http://myfreefilehosting.com/
Poi nelle celle vicine dove desideri che avvenga l'aggiornamente ci un piccola nota. Intanto cerco di capirlo

XCloud76
Una volta scritta la prima formula selezioni la cella nell'angolo in basso a destra e trascini giù finche vuoi.

EnricoHU 24-01-2012 11:29

Quote:

Originariamente inviato da vermaccio (Messaggio 36785722)
E se, data sempre la situazione di cui sopra, mi occorresse sapere la prima cella in cui appare un certo valore?

es: ho una riga (es: riga3) con valori 0 1 0 0 1

mi servirebbe sapere in quale colonna appare il primo "1". In questo caso dovrebbe dirmi in cella 3B (riga3, seconda colonna)

grazie

è un pò diverso, soprattutto perchè la formula "cerca.orizz" vuole i valori sulla prima riga e i riferimenti sulla seconda quindi:

A B C D EF G H I
0 0 0 0 1 0 0 1 1
1 2 3 4 5 6 7 8 9
1 5 ----> =CERCA.ORIZZ(A3;A1:I9;2;FALSO)

si potrebbe comunque creare una riga di riferimento sotto e impostarla ad altezza 0

Alex23 24-01-2012 11:33

Quote:

Originariamente inviato da Alex23 (Messaggio 36784804)
Ti basta un semplice cerca.vert ;)

Ribadisco... ti basta un banalissimo cerca.vert!

Raffaele53 24-01-2012 11:44

(e che mi venissero evidenziate sul mio foglio, contemporaneamente all'aggiornamento del valore e, se possibile, della data di variazione).

Cloud76 24-01-2012 12:28

Quote:

Originariamente inviato da Raffaele53 (Messaggio 36789904)
Una volta scritta la prima formula selezioni la cella nell'angolo in basso a destra e trascini giù finche vuoi.

Fatto, perfetto!
Era banale... io cercavo chissà cosa nei menu...
Thanks ;)

vermaccio 24-01-2012 14:03

Quote:

Originariamente inviato da EnricoHU (Messaggio 36789965)
è un pò diverso, soprattutto perchè la formula "cerca.orizz" vuole i valori sulla prima riga e i riferimenti sulla seconda quindi:

A B C D EF G H I
0 0 0 0 1 0 0 1 1
1 2 3 4 5 6 7 8 9
1 5 ----> =CERCA.ORIZZ(A3;A1:I9;2;FALSO)

si potrebbe comunque creare una riga di riferimento sotto e impostarla ad altezza 0

sempre disponibilissimo nelle risposte, grazie :)
ma a me servirebbe che la formula fornisse le coordinate della cella con il primo "1", in quell esempio mi dovrebbe fornire "E1".

cioè a me serevirebbe qualcosa del tipo
A B C D EF G H I
0 0 0 0 1 0 0 1 1
1 2 3 4 5 6 7 8 9
1 --> "E1"

vermaccio 24-01-2012 14:10

Quote:

Originariamente inviato da EnricoHU (Messaggio 36789965)
CERCA.ORIZZ(A3;A1:I9;2;FALSO)

forse intendevi

CERCA.ORIZZ(A3;A1:I2;2;FALSO)
?

Raffaele53 24-01-2012 15:54

1 Allegato(i)
X vermaccio
Se ho capito bene, esempio foglio 1 e 2

vermaccio 24-01-2012 16:53

bellissimo!

e se volessi sapere la posizione dell ennesimo valore "1"?

es:
A B C D E F G H I
0 0 0 1 0 1 0 1 0
n

esempio
voglio sapere la colonna del secondo 1
n=2-->D

voglio sapere la colonna del terzo 1
n=3-->H

voglio sapere la colonna del quarto 1
n=4-->errore. non esiste

come faccio ad ottenerlo?

Raffaele53 24-01-2012 20:58

1 Allegato(i)
Vedi se va bene

vermaccio 25-01-2012 16:13

grazie!!!!! mitico!

ma se volessi cercare un altro valore (es: gli zeri) dove devo cambiare le funzioni per fargl cercare gli zeri invece degli uno?

vermaccio 25-01-2012 18:55

Quote:

Originariamente inviato da Raffaele53 (Messaggio 36794074)
Vedi se va bene

e se volessi sapere SOLO la posizione dell ultimo valore?

es

0 1 1 0 0 1 1 0

voglio sapere che l ultimo "1" sta in settima colonna, ottenendo direttamente "G" come risultato oppure "7"


Tutti gli orari sono GMT +1. Ora sono le: 01:10.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Hardware Upgrade S.r.l.