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)


abendland 28-08-2010 14:22

SUMIF su più fogli excel
 
Ciao a tutti, sto impazzendo per fare una SUMIF su più foglie excel, in sostanza io ho delle prime note mensili ed ad ogni spesa corrisponde una voce di costo. Il mio obiettivo è fare un foglio dove avere le somme di queste voci di costo, per esempio:

foglio luglio 2010, acquisto cartoleria, codice 1.2, importo 20€ ,
foglio agosto 2010, acquisto cancelleria, codice 1.2, importo 50 €
Nel nuovo foglio avere 70 € per tutti i costi 1.2 degli altri fogli

La funziona "somma se" è quella utile, ma non funziona su più fogli, in rete si propone una cosa del genere:
=SUMPRODUCT(SUMIF(INDIRECT("'"&JUNE2010&JULY2010"'!E7:E9"),1.3.1.2,INDIRECT("'"&JUNE2010&JULY2010"'!O7: O9")

dove june2010 e july2010 sono i miei fogli, 1.3.1.2 è il criterio, E7:E9 i range da analizare e O7: O9 gli importi da sommare.

Ovviamente avrò fatto un casino, dato che non sono pratico della sintassi di excel.

Qualcono può darmi una mano?

Raffaele53 28-08-2010 14:54

Quote:

(oopure mettendo il carattere nella cella a fianco) mi dia la somma.
Fatto, scritto e riscritto nella colonna B metti una X
Nella cella C1 scrivi =SOMMA.SE($B$1:$B$1000;"X";$A$1:$A$1000)
(questa formula vale per 1000 righe)

-A ! B
34 !
23 !
21 ! X
23 !
34 ! X
23 !

Quando metterai delle X nelle celle vicino ai numeri la cella C1 riporta il totale
Quote:

a 21 e 34 mi deve dare direttamente 55
ESATTO.


Quote:

La funziona "somma se" è quella utile, ma non funziona su più fogli,
Certo che funziona, ma io farei gia la somma.se nel foglio mese e alla fine li riunisco
Però bisognrebbe vedere e capire bene la problematica
=SOMMA.SE(B1:B7;"X";A1:A7)+SOMMA.SE(Foglio2!B1:B7;"X";Foglio2!A1:A7)
La formual scritta e solo un esempio per SOMMA.SE su piu fogli con esempio dell'utente sopra, dato che non ho capito quello che devi sommare.

ses4 28-08-2010 15:31

Quote:

Originariamente inviato da abendland (Messaggio 32937281)
Ciao a tutti, sto impazzendo per fare una SUMIF su più foglie excel, in sostanza io ho delle prime note mensili ed ad ogni spesa corrisponde una voce di costo. Il mio obiettivo è fare un foglio dove avere le somme di queste voci di costo, per esempio:

foglio luglio 2010, acquisto cartoleria, codice 1.2, importo 20€ ,
foglio agosto 2010, acquisto cancelleria, codice 1.2, importo 50 €
Nel nuovo foglio avere 70 € per tutti i costi 1.2 degli altri fogli

La funziona "somma se" è quella utile, ma non funziona su più fogli, in rete si propone una cosa del genere:
=SUMPRODUCT(SUMIF(INDIRECT("'"&JUNE2010&JULY2010"'!E7:E9"),1.3.1.2,INDIRECT("'"&JUNE2010&JULY2010"'!O7:O9")

dove june2010 e july2010 sono i miei fogli, 1.3.1.2 è il criterio, E7:E9 i range da analizare e O7:O9 gli importi da sommare.

Ovviamente avrò fatto un casino, dato che non sono pratico della sintassi di excel.

Qualcono può darmi una mano?

Non mi pare che la formula che riporti abbia un senso.
Comunque con SUMPRODUCT() si può fare.
Nell'intervallo A1:C3 prepara un prospetto come quello nel riquadro (ovviamente i numeri sono quelli inseriti da me per le prove):

Codice:

    june2010        july2010
1.2        30            15
1.3        45            70

in B2 scrivi questa formula (traducila tu):
Codice:

=MATR.SOMMA.PRODOTTO((INDIRETTO("'"&B$1&"'!E7:E9")=$A2)*1;INDIRETTO("'"&B$1&"'!O7:O9"))
e trascinala in basso e a destra.
Disposta in questo modo funziona anche SOMMA.SE():
Codice:

=SOMMA.SE(INDIRETTO("'"&F$1&"'!E7:E9");$A2;INDIRETTO("'"&F$1&"'!O7:O9"))
Se, invece, dei risultati foglio per foglio non ti importa nulla allora puoi utilizzare quest'altra, dopo aver inserito in A2 1.2 e in A3 1.3:
Codice:

=SOMMA((June2010!$E$7:$E$9=$A2)*June2010!$O$7:$O$9;(JULY2010!$E$7:$E$9=$A2)*JULY2010!$O$7:$O$9)
matriciale da inserirsi con Ctrl+Shift+Invio e trascianare in basso
Assicurati che le celle in cui scrivi i codici 1.2 ecc., abbiano il formato testo.
Ciao

Raffaele53 28-08-2010 15:52

Ormai lo fatto e la sposto......
Premesso che ses4 ti ha dato la soluzione migliore (dopo la studio)

Solo per farti capire che il somma.se funziona anche in più fogli.
Nel mio esempio sono solo foglio1,foglio3,foglio4

In foglio1 scrivi =SOMMA.SE(Foglio3!B1:B6;1,2;Foglio3!A1:A6)+SOMMA.SE(Foglio4!B1:B6;1,2;Foglio4!A1:A6)

Se noti ci sono riferimenti sul foglio3,foglio4
Prima ho scritto meglio fare somma.se sul mese, perchè se tu hai tanti fogli la formula si allunga notevolmente.

Ps. Fai quanto scritto sopra
PPs. Hai scritto 1.2 (viene riconosciuta come OROLOGIO), devi scrivere 1,2

abendland 28-08-2010 18:13

Grazie a tutti per le risposte. Allora dei risultati foglio per foglio non mi importa, ma non mi è molto chiaro il ragionamento:

Quote:

Nell'intervallo A1:C3 prepara un prospetto come quello nel riquadro (ovviamente i numeri sono quelli inseriti da me per le prove)
Devo creare un altro foglio?

Quote:

matriciale da inserirsi con Ctrl+Shift+Invio e trascianare in basso
Assicurati che le celle in cui scrivi i codici 1.2 ecc., abbiano il formato testo
.

Uhm? Matriciale ?

Forse la soluzione di Raffaele53 è un po' più semplice.

Raffaele53 28-08-2010 19:33

Cosi tanto per farti capire..,e se non fai il tutto non funziona per via delle formule.
Quote:

dove june2010 e july2010 sono i miei fogli
Apriamo un files nuovo e visto che siamo in Italia mettiamo nomi corretti ai 2 fogli.., giugno_2010 e Luglio_2010 - Ok vado avanti.....

Hai scritto che il criterio e in E7:E9
Pertanto nel foglio giugno_2010, nella celle E7 scrivo 1,2 (non 1.2) e nelle celle E8 + E9 scrivo 1,3

Hai scritto che gli importi da sommare sono in O7: O9
Pertanto nella cella o7 scrivo 20 e nelle celle o8 e o9 scrivo 5

Adesso seleziono tutto il foglio e copio il tutto in Luglio_2010
Adesso abbiamo due fogli con gli stessi dati, ma hanno un nome differente.
Però sappiamo che se fai una ricerca con 1,2 il risultato sarà 40
e se fai una ricerca con 1,3 il risultato sarà 20

Ses4 ti ha spostato tre soluzioni, visto che non ti serve il resoconto mensile...
Saltiamo subito alla terza

=SOMMA((June2010!$E$7:$E$9=$A2)*June2010!$O$7:$O$9;(JULY2010!$E$7:$E$9=$A2)*JULY2010!$O$7:$O$9)

Che nel nostro esmpio diventa....
=SOMMA((giugno_2010!$E$7:$E$9=$A2)*giugno_2010!$O$7:$O$9;(Luglio_2010!$E$7:$E$9=$A2)*Luglio_2010!$O$7:$O$9)

Ora la formula controlla una cella, in questo caso A2 (nota), pertanto dove vuoi oppure crea un'altro foglio, nella cella A2 scrivi esempio (1,2)
A questo punto in qualsiasi cella/foglio che desideri inserire la formula.
Devi copiare il testo sopra come scritto nella cella e subito dopo premere Ctrl+Shift+Invio e vedrai che diventa (questo passaggio si chiama matriciale eogni volta che la modifichi devi fare Ctrl+Shift+Invio)

(=SOMMA((giugno_2010!$E$7:$E$9=$A2)*giugno_2010!$O$7:$O$9;(Luglio_2010!$E$7:$E$9=$A2)*Luglio_2010!$O$7:$O$9))
Risultato 40, se modifico la cella A2 e metto 1,3 Risultato 20 (i conti tornano)

L'unica cosa che se i fogli fossero 10/20 diventa difficile la formula.
Ecco il suggerimento di fare un resoconto mensile e nel foglio finale fare tutte le somme

Ps spero di non aver fatto errori.
PPs (Nota) Come scritto la formula si appoggia sulla cella A2, se desideri mettere la formula in altra cella deve diventare....ex Y10.

=SOMMA((giugno_2010!$E$7:$E$9=$Y10)*giugno_2010!$O$7:$O$9;(Luglio_2010!$E$7:$E$9=$Y10)*Luglio_2010!$O$7:$O$9)

Pps. è tutto scritto, casomai rileggi il tutto e sopratutto un saluto a ses4

Quote:

00.21.24 somma minuti = formato cella Orario *13.30.55

Giacomo.56 28-08-2010 19:58

Grazie a tutti. Ho ottenuto ciò che volevo. Grazie ancora per l' aiuto.

Raffaele53 30-08-2010 13:45

Quote:

Pps. è tutto scritto, casomai rileggi il tutto
Una cosa che mi fà incavolare sono le risposte senza risposte

e sopratutto..., il minimo dovuto
Quote:

un saluto a ses4

S3[u70r 10-09-2010 14:39

Ciao a tutti, qualcuno mi sa spiegare cosa sono, a che servono e come si usano i riferimenti relativi, assoluti e misti (funzioni A1, $A$1, $A1-A$1)?

ses4 10-09-2010 17:43

Quote:

Originariamente inviato da S3[u70r (Messaggio 33053335)
Ciao a tutti, qualcuno mi sa spiegare cosa sono, a che servono e come si usano i riferimenti relativi, assoluti e misti (funzioni A1, $A$1, $A1-A$1)?

Se in B3 scrivi la formula =A1 e poi la ricopi in D9, in quest'ultima la formula non sarà più =A1, ma =C7.
Questo perchè con =A1 stai usando un riferimento relativo, che si basa, cioè, sulla posizione relativa della cella a cui ci si riferisce rispetto alla cella contenente la formula, in questo caso si fa riferimento alla cella posta due righe sopra e una colonna a sinistra di quella contenente la formula.
Se invece scrivi =$A$1 stai utilizzando un riferimento assoluto, cioè la cella a cui fai riferimento è quella posta all'intersezione tra la colonna A e la riga 1, ovunque copi la formula resterà sempre =$A$1.
In un riferimento misto, B3=$A1, fai riferimento alla cella posta nella colonna A, due riga al di sopra della cella contenente la formula, quindi ricopiando in D9 avrai =$A7.
Analogamente se in B3 scrivi =A$1 ricopiando in D9 avrai =C$1.
Spero di esser stato abbastanza chiaro.
Guarda anche qui:
http://office.microsoft.com/it-it/ex...005198323.aspx
Ciao

ivanisevic82 11-09-2010 00:43

In excel 2007 ho realizzato un semplice grafico a torta.
Vorrei che ogni pezzo abbia un colore diverso, ma i colori li voglio scegliere io.
Andando su Tasto dx > Formato serie dati però mi fa solo scegliere se voglio colori uguali o differenziati per ogni fetta.
Se li sceglo differenziati, li attribuisce lui in automatico (blu e rosso).
Come risolvo?

Grazie!

ses4 11-09-2010 09:28

Quote:

Originariamente inviato da ivanisevic82 (Messaggio 33057855)
In excel 2007 ho realizzato un semplice grafico a torta.
Vorrei che ogni pezzo abbia un colore diverso, ma i colori li voglio scegliere io.
Andando su Tasto dx > Formato serie dati però mi fa solo scegliere se voglio colori uguali o differenziati per ogni fetta.
Se li sceglo differenziati, li attribuisce lui in automatico (blu e rosso).
Come risolvo?

Grazie!

Prima di cliccare con il tasto destro, clicca due volte (con intervallo lungo) sulla parte che ti interessa, quindi tasto destro.
Sul menù contestuale deve comparire formato coordinata, non formato serie.

Ciao.

ivanisevic82 11-09-2010 11:23

Grazie mille!

Altro dubbio: ho un grafico a torta e voglio fare la torta di una torta.

La prima torta ha due fette, quella secondaria pure.

Quando applico il grafico però, non so per quale motico, nella torta principale appare una terza fetta, da cui si diramane le linee che portano alla seconda torta...
Come mai? Chi gli ha detto di fare una terza fetta!??

Grazie!

ses4 11-09-2010 12:01

Quote:

Originariamente inviato da ivanisevic82 (Messaggio 33059709)
Grazie mille!

Altro dubbio: ho un grafico a torta e voglio fare la torta di una torta.

La prima torta ha due fette, quella secondaria pure.

Quando applico il grafico però, non so per quale motico, nella torta principale appare una terza fetta, da cui si diramane le linee che portano alla seconda torta...
Come mai? Chi gli ha detto di fare una terza fetta!??

Grazie!

- Tasto destro del mouse sulla torta
- nel menù contestuale scegli formato serie di dati
- nel riquadro opzioni di serie seleziona quali dati deve contenere la seconda torta.
Ciao

ivanisevic82 11-09-2010 12:26

Sono in formato serie dati > opzioni di serie, ma non capisco dove devo agire per dirgli che la seconda torta deve contenere i dati a destra (quelli non selezionati).

Grazie!


ivanisevic82 11-09-2010 12:26

EDIT: scusate, double post.

S3[u70r 11-09-2010 12:38

Quote:

Originariamente inviato da ses4 (Messaggio 33055119)
Se in B3 scrivi la formula =A1 e poi la ricopi in D9, in quest'ultima la formula non sarà più =A1, ma =C7.
Questo perchè con =A1 stai usando un riferimento relativo, che si basa, cioè, sulla posizione relativa della cella a cui ci si riferisce rispetto alla cella contenente la formula, in questo caso si fa riferimento alla cella posta due righe sopra e una colonna a sinistra di quella contenente la formula.
Se invece scrivi =$A$1 stai utilizzando un riferimento assoluto, cioè la cella a cui fai riferimento è quella posta all'intersezione tra la colonna A e la riga 1, ovunque copi la formula resterà sempre =$A$1.
In un riferimento misto, B3=$A1, fai riferimento alla cella posta nella colonna A, due riga al di sopra della cella contenente la formula, quindi ricopiando in D9 avrai =$A7.
Analogamente se in B3 scrivi =A$1 ricopiando in D9 avrai =C$1.
Spero di esser stato abbastanza chiaro.
Guarda anche qui:
http://office.microsoft.com/it-it/ex...005198323.aspx
Ciao

In linea di massima credo di aver capito, grazie mille :)

ses4 11-09-2010 12:51

Quote:

Originariamente inviato da ivanisevic82 (Messaggio 33060257)
Sono in formato serie dati > opzioni di serie, ma non capisco dove devo agire per dirgli che la seconda torta deve contenere i dati a destra (quelli non selezionati).

Grazie!

La torta della torta serve per rappresentare delle fette troppo piccole.
Con quattro dati otterrai almeno una delle torte con tre fette, per avere entrambe le torte con due fette i dati devono esse tre.
Durante la fase di creazione devi selezionare tutti i dati e poi gli dici, quali di questi vanno a far parte della torta secondaria, puoi sceglierli per posizione (gli ultimi due) oppure secondo altri criteri (per es. <1000).
Forse questo articolo ti può essere d'aiuto:
http://office.microsoft.com/it-it/ex...001117937.aspx
Ciao

ivanisevic82 11-09-2010 15:06

Ok, risolto!

Grazie!

ivanisevic82 11-09-2010 15:19

Che incapace che sono...ho un altro problema, sto cercando soluzioni googlando ma non le trovo!

In pratica in un grafico a istogrammi ho dei valori assoluti.
Vorrei che al posto dei numeri assoluti, spuntino quelli percentuali.
Ho provato ad andare in "Formato etichette dati > Numero > Percentuale"...ma non fa altro che aggiungere ai valori assoluti il simbolo "%", senza applicare una percentuale vera!

Potete darmi una mano?

Grazie!


Tutti gli orari sono GMT +1. Ora sono le: 05:07.

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