A
31/09/07
EURO 200
28/10/07
EURO 120
30/11/07
EURO 100
Tot EURO 420
quindi sommare solo EURO nella colonna, ma se si tratta di un range per
esempio A1 D200, come posso fare?.
Grazie a tutti
Ciao
In A1:D200 i tuoi dati
In E1 la formula =CELLA("Formato";A1) da copiare fino a H200
Dove vuoi in una sola cella :
=SOMMA(($A$1:$D$200)*(($E$1:$H$200="G")+($E$1:$H$200="C2")))
da inserire come matriciale con Maisc + Ctrl + Invio
Ciao Elio
Grazie Elio, quindi anche solo la somma della colonna A ha comunque
bisogno di una colonna appoggio e una matriciale?
Senza colonna appoggio non e' possibile?, sai perche' te lo chiedo?,
ho gia' un certo numero di colonne ed ho gia' sviluppato il codice vba
ora aggiungere colonne e' un casino, volevo farne a meno, cosa mi dici?
Potresti, tramite Vba, utilizzare una funzione definita dall'utente.
Dai uno sguardo al link http://tinyurl.com/2txv9s per imparare ad utilizzare
le suddette funzioni, e poi,
*sostituisci*, la funzione dell'esempio, con la seguente:
'=================================================
Public Function SommaEuro(rng As Range) As Double
Dim cella As Range
Dim s As Double
s = 0
For Each cella In rng
With cella
If IsNumeric(.Value) Then
s = s + (.Value)
End If
End With
Next
SommaEuro = s
End Function
'================================================
Ciao
Pippo
Grazie Pippo, mi servirebbe sapere come posso modificare la funzione
per ottenere anche un altro risultato, te lo descrivo
A1
mm 300
EURO 100
mm 200
EURO 100
mm 100
EURO 100
mm 300
EURO 200
mm 200
EURO 200
ottenere la somma dei mm e la somma degli EURO, ovvero mm 1100 e EURO 700
ti ringrazio
osvaldaccio
I tuoi dati, sono disposti in modo alternato o casuale?
La Riga "pari" della colonna "A" contiene *sempre* i dati in "mm" e quella
dispari *sempre* i dati in "euro"?
Cmq, sarebbe opportuno, che i dati per colonne, siano *tutti* dello stesso
"tipo"!
Non potresti organizzare i tuoi dati diversamente, ad es., inserendo in A2=
mm 300; B2= euro 100;..?
Ciao
Pippo
Purtroppo caro pippo non posso, trattasi di orrende tabelle
millesimali che vanno conteggiate come ti ho detto, pero' potrebbe
esserci un'altra soluzione
essendo le tabelle a righe alterne, si potrebbe fare fare la somma
delle righe pari per esempio B14 B16 B18 B20 B22 che contengono i mm e
B15 B17 B19 B21 ecc..
che contengono formato EURO , ma capisci che trattandosi di 500 righe non
posso scrivere =SOMMA(B14;B16;B18;B20;B22)ecc.. per 500 volte, percio'
prova a trovare una soluzione.
Tieni presente che le righe EURO sono formattate in Contabilita' e due
decimali, le righe mm sono formattate con un formato personalizzato
tipo mm 100,45.
>> > A1
>> > mm 300
>> > EURO100
>> > mm 200
>> > EURO100
>> > mm 100
>> >EURO100
>> > mm 300
>> >EURO200
>> > mm 200
>> >EURO200
>>
>> > ottenere lasommadei mm e lasommadegliEURO, ovvero mm 1100 eEURO
>> > 700
>> Non potresti organizzare i tuoi dati diversamente, ad es., inserendo in
>> A2=
>> mm 300; B2=euro100;..?
> Purtroppo caro pippo non posso, trattasi di orrende tabelle
> millesimali che vanno conteggiate come ti ho detto, pero' potrebbe
> esserci un'altra soluzione
> essendo le tabelle a righe alterne, si potrebbe fare fare la somma
> delle righe pari per esempio B14 B16 B18 B20 B22 che contengono i mm e
> B15 B17 B19 B21 ecc..
> che contengono formato EURO , ma capisci che trattandosi di 500 righe non
> posso scrivere =SOMMA(B14;B16;B18;B20;B22)ecc.. per 500 volte, percio'
> prova a trovare una soluzione.
> Tieni presente che le righe EURO sono formattate in Contabilita' e due
> decimali, le righe mm sono formattate con un formato personalizzato
> tipo mm 100,45.
La seguente formula "matriciale" *somma* i dati contenuti nelle righe
"Dispari" della colonna "A":
=SOMMA((A1:A200)*RESTO(RIF.RIGA(A1:A200);2))
La seguente formula matriciale *somma* i dati contenuti nelle righe "Pari"
della colonna "A":
=SOMMA((A1:A200)*(NON(RESTO(RIF.RIGA(A1:A200);2))))
NB: Trattasi di formule *matriciali*, quindi dopo averle inserite nella
cella, dei premere contemporaneamnete (invece del semplice tasto "invio"),
la combinazione dei tasti "Ctrl+Shift+Invio".
Ciao
Pippo
Pippo, scusa mi son dimenticato che nelle righe ci sono valori frutto
di formule, quindi se applico la matriciale il risultato e' #VALORE!,
quindi nulla di fatto ,
penso ci voglia una funzione vba, o una trovata geniale, dimmi qualche
cosa!!
Ciao Osvaldaccio
'================================================
DEVONO funzionare lo stesso, ANCHE in presenza di FORMULE nelle celle!
NOTA BENE: Hai inserito la formula *matriciale*, premendo, dopo averla
digitata nella cella, *contemporaneamente*, la combinazione dei TRE tasti
"CTRL + SHIFT + INVIO"?
Se e' inserita come sopra, devi poter vedere, nella stessa formula
*matriciale*, delle parentesi "GRAFFE", che vengono AUTOMATICAMENTE inserite
dopo la pressione dei suddetti tasti.
Ciao
Pippo
Altra ipotesi, relativa all'errore (#VALORE!), che hai segnalato, puo'
essere dovuta al fatto che, nel *tuo* intervallo, c'e' qualche dato NON
numerico:
vedi se per caso, ad es., hai incluso nell'intervallo anche *l'etichetta* di
colonna, che potrebbe essere posizionata nella prima cella A1.
In tal caso, l'ntervallo della formula matriciale, DEVE partire dalla cella
A2 e NON dalla cella A1, come invece ho fatto nelle formule che ti ho
suggerito.
Ciao
Pippo
===================================
Ciao.
restando valide le osservazione di p, si può proporre per le righe
pari:
=MATR.SOMMA.PRODOTTO(A1:A10;1-RESTO(RIF.RIGA(A1:A10);2))
e per le righe dispari
=MATR.SOMMA.PRODOTTO(A1:A10;RESTO(RIF.RIGA(A1:A10);2))
Queste formule non hanno bisogno dell'inserimento matriciale.
'======================================================
Ciao.
restando valide le osservazione di p, si può proporre per le righe
pari:
=MATR.SOMMA.PRODOTTO(A1:A10;1-RESTO(RIF.RIGA(A1:A10);2))
e per le righe dispari
=MATR.SOMMA.PRODOTTO(A1:A10;RESTO(RIF.RIGA(A1:A10);2))
Queste formule non hanno bisogno dell'inserimento matriciale.
'=======================================================
*Giustissima* osservazione, le formule che hai suggerito, sono anche piu'
veloci nell'eseguire i calcoli.
Ciao e grazie mille
Pippo
[...]
> Altra ipotesi, relativa all'errore (#VALORE!), che hai segnalato, puo'
> essere dovuta al fatto che, nel *tuo* intervallo, c'e' qualche dato NON
> numerico:
> vedi se per caso, ad es., hai incluso nell'intervallo anche
> *l'etichetta* di colonna, che potrebbe essere posizionata nella prima cella A1.
Ciao Pippo.
Eccomi.
Come abbiamo visto nel successivo 3D infelicemente aperto da
Osvaldaccio, il problema e' dovuto proprio al fatto che nelle celle non
ci sono solo valori numerici. L'amico infatti ci comunica (era ora!) che
la formula e':
=SE(VAL.ERRORE(SE(I14="";"";$I$9/1000*I14));"";SE(I14="";"";$I
$9/1000*I14))
nella quale si possono tranquillamente sostituire i valori "stringa
nulla" con degli zero, visto che a tali celle viene assegnato il formato
"Contabilita'", che prevede la gestione dei valori zero mostrando un
trattino.
Che altro c'e' da dire in proposito?... Secondo me nulla, se non
invitare Osvaldaccio a riconsiderare, se puo', la struttura del tutto.
Credo che ogni volta che si trova un intoppo di questo tipo invece di
andare avanti nella ricerca di una soluzione bisogna invece andare
indietro nella ricerca di una migliore strutturazione dei dati.
--
Maurizio Borrelli [MVP]
http://www.riolab.org
> Eccomi.
Grazie per la tempestiva ed *infinita* disponibilita'! ;-)
> Come abbiamo visto nel successivo 3D infelicemente aperto da Osvaldaccio,
> il problema e' dovuto proprio al fatto che nelle celle non ci sono solo
> valori numerici. L'amico infatti ci comunica (era ora!) che la formula e':
>
> =SE(VAL.ERRORE(SE(I14="";"";$I$9/1000*I14));"";SE(I14="";"";$I
> $9/1000*I14))
>
> nella quale si possono tranquillamente sostituire i valori "stringa nulla"
> con degli zero, visto che a tali celle viene assegnato il formato
> "Contabilita'", che prevede la gestione dei valori zero mostrando un
> trattino.
> Che altro c'e' da dire in proposito?... Secondo me nulla, se non invitare
> Osvaldaccio a riconsiderare, se puo', la struttura del tutto. Credo che
> ogni volta che si trova un intoppo di questo tipo invece di andare avanti
> nella ricerca di una soluzione bisogna invece andare indietro nella
> ricerca di una migliore strutturazione dei dati.
Infatti, in questo stesso thread suggerivo:
"Cmq, sarebbe opportuno, che i dati per colonne, siano *tutti* dello stesso
"tipo"!
Non potresti organizzare i tuoi dati diversamente, ad es., inserendo in A2=
mm 300; B2= euro 100;..?"
....ma pare che Osvaldaccio, avesse qualche difficolta' nell'organizzare i
dati in modo diverso.
Ciao
Pippo