Discussione:
SOMMA.SE con INDIRETTO
(troppo vecchio per rispondere)
b***@yahoo.it
2010-02-28 23:36:10 UTC
Permalink
Ciao a tutto il NG!
Ho un problema che non riesco a risolvere.
Ho diverse cartelle "Cartella1", "Cartella2", "Cartella3", ecc.
contenenti un foglio "Foglio1" uguale come struttura e precisamente:
- in colonna A ci sono dei codici numerici di riferimento,
-in colonne B...H ci sono descrizioni e altre notizie varie
-in colonna I e K dei valori numerici (importi)

Ho poi una cartella di riepilogo e di formattazione contenente un
"FoglioRiepilogo" dove per ogni codice in colonna A uguale a quelli
della colonna A dei vari "Foglio1" devo recuperare la somma dei valori
presenti in colonna I e (separatamente) in colonna K. (sempre però
aprendo una "Cartella1" alla volta)
Mediante del codice VBA pongo in cella A2 di questo "FoglioRiepilogo"
il percorso completo della "Cartella1" (che ho aperta, se no la apro
io via codice), che sarà del tipo:
"\\ComputerPippo\c\Users\Piero\Documents\EXCEL\Cartella1.xls"

Per fare un esempio:
"Foglio1" contiene:

colonne:
A B .... I ... K
Codice Descrizione... Importo1 ... Importo2
123 xxx 100 230
456 yyy 50 48
7 ... 30 110
456 ... 40 250
123 ... 20 95
98 ... 45 85
7 ... 130 60

Il foglio Riepilogo contiene:
in cella A2 il percorso completo del file,
e devo rendere nelle colonne I e K:

A B .... I ... K
Codice Descrizione... SommaImp1 ... SommaImp2
123 xxx 120 325
456 yyy 90 298
7 ... 160 170
98 ... 45 85

(praticamente la somma di tutti gli importi nelle righe con lo stesso
codice)

Usando la formula:
=INDIRETTO("'"&$A$2&"'!$A:$A")
sono riuscito a riferirmi alla colonna A del "Foglio1" il cui percorso
si trova in A2,
però non riesco a far funzionare la formula (in colonna I):
=SOMMA.SE(INDIRETTO("'"&$A$2&"'!")&$A:$A;$A2;INDIRETTO("'"&
$A2&"'!")&I:I)
Sembra che SOMMA.SE , pur trovandosi giustamente tramite INDIRETTO il
riferimento al "Foglio1",
non sia in grado di puntare alla colonna A:A del suddetto "Foglio1",
ma si riferisce sempre alla colonna A:A del "FoglioRiepilogo".
Se qualcuno riesce ad aiutarmi verrà santificato ;-)
Grazie!
bruno.b
elby
2010-03-01 00:28:40 UTC
Permalink
Ciao
Affronterei il problema con Consolida Dati. In alternativa, con VBA,
ciclerei nella cartella dove hai i tuoi file di origine dati e senza
aprirli, ma con accesso ai dati tramite ADO, costruirei il database di
riepilogo su cui fare una pivot
Ciao Elio
Post by b***@yahoo.it
Ciao a tutto il NG!
Ho un problema che non riesco a risolvere.
Ho diverse cartelle "Cartella1", "Cartella2", "Cartella3", ecc.
- in colonna A ci sono dei codici numerici di riferimento,
 -in colonne B...H ci sono descrizioni e altre notizie varie
 -in colonna I e K dei valori numerici (importi)
Ho poi una cartella di riepilogo e di formattazione contenente un
"FoglioRiepilogo" dove per ogni codice in colonna A uguale a quelli
della colonna A dei vari "Foglio1" devo recuperare la somma dei valori
presenti in colonna I e (separatamente) in colonna K. (sempre però
aprendo una "Cartella1" alla volta)
Mediante del codice VBA pongo in cella A2 di questo "FoglioRiepilogo"
il percorso completo della "Cartella1" (che ho aperta, se no la apro
"\\ComputerPippo\c\Users\Piero\Documents\EXCEL\Cartella1.xls"
A           B       ....           I        ...         K
Codice  Descrizione...  Importo1 ...    Importo2
123     xxx                  100             230
456     yyy                    50              48
  7     ...                        30             110
456     ...                      40             250
123     ...                      20              95
 98     ...                       45              85
  7     ...                      130              60
in cella A2 il percorso completo del file,
A       B       ....                  I        ...       K
Codice  Descrizione...  SommaImp1 ... SommaImp2
123     xxx                        120            325
456     yyy                         90             298
  7     ...                           160             170
 98     ...                            45              85
(praticamente la somma di tutti gli importi nelle righe con lo stesso
codice)
=INDIRETTO("'"&$A$2&"'!$A:$A")
sono riuscito a riferirmi alla colonna A del "Foglio1" il cui percorso
si trova in A2,
=SOMMA.SE(INDIRETTO("'"&$A$2&"'!")&$A:$A;$A2;INDIRETTO("'"&
$A2&"'!")&I:I)
Sembra che SOMMA.SE , pur trovandosi giustamente tramite INDIRETTO il
riferimento al "Foglio1",
non sia in grado di puntare alla colonna A:A del suddetto "Foglio1",
ma si riferisce sempre alla colonna A:A del "FoglioRiepilogo".
Se qualcuno riesce ad aiutarmi verrà santificato  ;-)
Grazie!
bruno.b
b***@yahoo.it
2010-03-01 07:21:51 UTC
Permalink
Ciao
Affronterei il problema con Consolida Dati. In alternativa, con  VBA,
ciclerei nella cartella dove hai i tuoi file di origine dati e senza
aprirli, ma con accesso ai dati tramite ADO, costruirei il database di
riepilogo su cui fare una pivot
Ciao Elio
cut....


Carissimo Elio
innanzitutto grazie per la veloce risposta.
Ti confermo che i vari "Foglio1" *non* devono essere consolidati tra
loro, ma soltanto aperti uno alla volta: cioè ho bisogno che il
"FoglioRiepilogo" 'riepiloghi' solo i dati di *un* foglio alla volta
(sembrerà strano, ma serve solo a 'sommare' le voci uguali e
'impaginare' secondo uno standard).
Tieni presente che la struttura di questo "FoglioRiepilogo" non la
posso modificare (è già esistente e prodotto da altri), posso solo far
puntare le celle "SommaImporto1" e "SommaImporto2" alla ZonaDati del
"Foglio1" per estrarne le somme degli importi delle righe con lo
stesso codice.

Per lo stesso motivo non posso aggiungere un Tabella pivot.

L'alternativa del codice VBA potrebbe andare bene, anche se le righe
di riepilogo sono circa 400: per questo cercavo un sistema un po' più
'elegante' e veloce che facesse uso di SOMMA.SE.

Buona settimana.

bruno.b
paco
2010-03-19 11:29:35 UTC
Permalink
Post by b***@yahoo.it
Affronterei il problema con Consolida Dati. In alternativa, con  VBA,
ciclerei nella cartella dove hai i tuoi file di origine dati e senza
aprirli, ma con accesso ai dati tramite ADO, costruirei il database di
riepilogo su cui fare una pivot
Ciao Elio
cut....
Carissimo Elio
innanzitutto grazie per la veloce risposta.
Ti confermo che i vari "Foglio1" *non* devono essere consolidati tra
loro, ma soltanto aperti uno alla volta: cioè ho bisogno che il
"FoglioRiepilogo" 'riepiloghi' solo i dati di *un* foglio alla volta
(sembrerà strano, ma serve solo a 'sommare' le voci uguali e
'impaginare' secondo uno standard).
Tieni presente che la struttura di questo "FoglioRiepilogo" non la
posso modificare (è già esistente e prodotto da altri), posso solo far
puntare le celle "SommaImporto1" e "SommaImporto2" alla ZonaDati del
"Foglio1" per estrarne le somme degli importi delle righe con lo
stesso codice.
Per lo stesso motivo non posso aggiungere un Tabella pivot.
L'alternativa del codice VBA potrebbe andare bene, anche se le righe
di riepilogo sono circa 400: per questo cercavo un sistema un po' più
'elegante' e veloce che facesse uso di SOMMA.SE.
Buona settimana.
bruno.b
Ciao a tutti,
ho avuto lo stesso problema e ho realizzato che con le funzioni di
base di excel non si risolve.
Per fortuna per excel dal 95 al 2007 è disponibile un set di funzioni
addizionali scaricabile da qui: http://xcell05.free.fr/morefunc/english/index.htm

In particolare la funzione INDIRECT.EXT permette di estrarre valori in
maniera dinamica da file chiusi.
Buon lavoro ;-)
Ciao Fabio
bruno.b
2010-03-23 07:05:22 UTC
Permalink
cut...
Post by paco
Per fortuna per excel dal 95 al 2007 è disponibile un set di funzioni
addizionali scaricabile da qui:http://xcell05.free.fr/morefunc/english/index.htm
In particolare la funzione INDIRECT.EXT permette di estrarre valori in
maniera dinamica da file chiusi.
Buon lavoro ;-)
Ciao Fabio
Ciao Fabio, solo ora mi accorgo della tua risposta e ti ringrazio.
Ho seguito il link ma arrivo fino a:
http://xcell05.free.fr/fclicksql/function.require
che mi risponde:
....
Page not found

We're sorry, the page you have requested cannot be found or is no
longer available.

Click here to go to the summary : http://xcell05.free.fr
.....

e naturalmente in <xcell05.free.fr> c'è la pagina di descrizione ma il
link di download non funziona.

Ho trovato comunque le "MoreFunc" a questo indirizzo:
http://download.cnet.com/Morefunc/3000-2077_4-10423159.html?tag=mncol

Scarico, provo e poi ti faccio sapere...

Grazie.

Bruno
Tiziano Marmiroli
2010-03-23 08:17:59 UTC
Permalink
Post by bruno.b
Ciao Fabio, solo ora mi accorgo della tua risposta e ti ringrazio.
http://xcell05.free.fr/fclicksql/function.require
....
Page not found
Morefunc for Excel
http://xcell05.free.fr/morefunc/english
--
Tiziano Marmiroli
Microsoft MVP - Office System
http://www.riolab.org
Scossa
2010-03-23 07:27:45 UTC
Permalink
Post by b***@yahoo.it
Ciao a tutto il NG!
=SOMMA.SE(INDIRETTO("'"&$A$2&"'!")&$A:$A;$A2;INDIRETTO("'"&
$A2&"'!")&I:I)
Sembra che SOMMA.SE , pur trovandosi giustamente tramite INDIRETTO il
riferimento al "Foglio1",
a naso proverei così (con $A:$A all'interno delle virgolette):

=SOMMA.SE(INDIRETTO("'"&$A$2&"'!&$A:$A";$A2;INDIRETTO("'"&
$A2&"'!&I:I")


Fai sapere se hai risolto, grazie.

Bye!
Scossa
paoloard
2010-03-23 10:24:04 UTC
Permalink
Post by b***@yahoo.it
Ciao a tutto il NG!
=SOMMA.SE(INDIRETTO("'"&$A$2&"'!")&$A:$A;$A2;INDIRETTO("'"&
$A2&"'!")&I:I)
Sembra che SOMMA.SE , pur trovandosi giustamente tramite INDIRETTO il
riferimento al "Foglio1",
a naso proverei così (con $A:$A all'interno delle virgolette):

=SOMMA.SE(INDIRETTO("'"&$A$2&"'!&$A:$A";$A2;INDIRETTO("'"&
$A2&"'!&I:I")

**************************************************

ciao Scossa, per me mancano due parentesi tonde chiuse ;-)
--
ciao paoloard
http://riolab.org
Scossa
2010-03-23 10:35:33 UTC
Permalink
Post by paoloard
ciao Scossa, per me mancano due parentesi tonde chiuse ;-)
LOL, certo, anche qualche & di troppo, ma il concetto comunque è
quello.

=INDIRETTO("'" & $A$2 & "'!$A:$A")

quindi dovrebbe essere (ma sto scrivendo in IE):

=SOMMA.SE(INDIRETTO("'" & $A$2 & "'!$A:$A");$A2;INDIRETTO("'" &
$A2 & "'!I:I"))

Bye!
Scossa

Loading...