Condividi:        

Individuazione di valori inferiori ad un numero e calcolo

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Individuazione di valori inferiori ad un numero e calcolo

Postdi SERSE2013 » 23/09/13 12:40

Ciao a tutti! Sono nuova, ed ultimamente mi sono resa conto di avere scarse conoscenze nel campo di excel, per questo chiedo il vostro aiuto:

ho una colonna nella q uale nelle celle comprese tra B4 e B33 ho determinati valori numerici. Avrei bisogno che excel ricercasse in questo range le celle con valore inferiore a 8, e che mi facesse la somma delle differenze tra 8 e la cella trovata in un'altra cella, mi invento, in B94.
Non sono brava a spiegarmi, provo con un esempio un po' "pratico":
Serse: Excel, trovami i le celle tra B4 e B33 che contengono valori inferiori a 8
Excel: fatto, sono le celle B6 (valore = 2), B15 (valore = 6,50) e B17 (valore = 1,50)
Serse: Excel, mi calcoli di quanto sono inferiori a 8?
Excel: (8-2=6) + (8-6,50=1,50) + (8-1,50=6,50) quindi il totale è 14

Vi sembrerò pazza ma non sapevo come esprimermi meglio...io ovviamente non vorrei dialogare con excel ma vorrei riuscire a fare questa operazione.

Ringrazio tantissimo in anticipo chi vorrà provare ad aiutarmi!!!

Grazie e Ciao

Serse (Excel 2010) :undecided:
Avatar utente
SERSE2013
Newbie
 
Post: 8
Iscritto il: 23/09/13 12:38

Sponsor
 

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi Flash30005 » 23/09/13 14:04

Ciao Serse2013 e benvenuta nel Forum
Penso che una macro come questa risolva il tuo quesito senza "dire" nulla a Excel :D
Codice: Seleziona tutto
Sub SommaSE()
MSomma = 0
For RR = 4 To 33  '<<<<< modifica il numero di riga inizio 4 e riga finale 33 adattandola alla tua esigenza
    If Range("B" & RR).Value < 8 Then MSomma = MSomma + 8 - Range("B" & RR).Value
Next RR
MsgBox "La somma delle celle inferiori a 8 è " & MSomma
End Sub


Copia l'intero codice
dal foglio di Excel premi Alt+F11 (si aprirà l'ambiente Vba
dal menu Inserisci selezioni Modulo
sul frame di destra incolli il codice copiato
adatterai sia la riga di inizio e fine (attuale rispettivamente 4 e 33)
ed eventualmente la colonna (attuale B)
Avvii la macro e apparirà un messaggio che ti informa della somma dei numeri inferiori ad 8 (somma la differenza a 8)

ciao

P.s. credo, comunque, che questa sia solo "una punta di iceberg"...
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi SERSE2013 » 23/09/13 14:12

Ehm...............grazie 1000! In effetti si...è solo la punta dell'iceberg...io di colonne su cui fare il calcolo ne ho taaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaante... :oops:
Ho 1 file excel con 4 fogli, chiamiamoli D, P, S, M, in ogni foglio ci sono delle tabelle ed io dovrei ottenere il risultato in una cella sottostante ad ogni colonna...bestemmiami pure contro :aaah
Avatar utente
SERSE2013
Newbie
 
Post: 8
Iscritto il: 23/09/13 12:38

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi Flash30005 » 23/09/13 14:18

Allora la cosa più semplice è mettere sotto ogni colonna (o meglio sopra, in una cella libera)
questa formula
Codice: Seleziona tutto
=CONTA.SE(B4:B33;"<8")*8-B35-SOMMA.SE(B4:B33;"<8")

Si riferisce sempre alla cella inizio B4 e cella fine B33 ma adatterai il range secondo la tua esigenza

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi scossa » 23/09/13 14:21

SERSE2013 ha scritto:Ciao a tutti! Sono nuova, ed ultimamente mi sono resa conto di avere scarse conoscenze nel campo di excel, per questo chiedo il vostro aiuto:

ho una colonna nella quale nelle celle comprese tra B4 e B33 ho determinati valori numerici. Avrei bisogno che excel ricercasse in questo range le celle con valore inferiore a 8, e che mi facesse la somma delle differenze tra 8 e la cella trovata in un'altra cella, mi invento, in B94.


In B94::
Codice: Seleziona tutto
=SOMMA(INDICE((8-B4:B33)*(B4:B33<8);))
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi SERSE2013 » 23/09/13 14:44

:D GRAZZZZZZZIEEEEEEEEEEEEEEEEEEEEEEE! Fungeeeeeeeee!!!!!!!!!! Fungeeeeeeeeeeeeeeeeeee!!!!!!!!!!!!!!!!!!!!!!!!!!! Fungeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!!!!!!!!!!!!!!!!! :D
Avatar utente
SERSE2013
Newbie
 
Post: 8
Iscritto il: 23/09/13 12:38

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi SERSE2013 » 23/09/13 14:47

Teoppo presto per cantar vittoria...non funziona più... :mmmh:
Avatar utente
SERSE2013
Newbie
 
Post: 8
Iscritto il: 23/09/13 12:38

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi scossa » 23/09/13 15:00

Cosa FUNGE e cosa NON FUNGE più?
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi SERSE2013 » 23/09/13 15:51

Scossa, siccome purtroppo la tua non funzionava (non ho capito perchè, davvero), ho usato quella di Flash...solo che non mi pare che dia il risultato giusto perchè se poi divido per 24 per ottenere ore e minuti...mi vengono sbagliati...
Avatar utente
SERSE2013
Newbie
 
Post: 8
Iscritto il: 23/09/13 12:38

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi scossa » 23/09/13 16:03

SERSE2013 ha scritto:Scossa, siccome purtroppo la tua non funzionava (non ho capito perchè, davvero)


La formula funziona perfetttamente con valori numerici normali, e siccome la matematica non è un'opinione, probabilmente i dati reali non sono coerenti (c'è del testo, celle vuote, altro ....), quindi o posti dei dati reali, anzi, meglio, il tuo file o è inutile parlarne.

Edit: vedo che parli di ore: cosa c'è nelle celle??
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi Anthony47 » 24/09/13 01:43

Guarda il messaggio di scossa, sopra.
Ti suggerisco di usare una colonna di appoggio; es in Z2 usi la formula
Codice: Seleziona tutto
=SE(E(B4>0;B4<8);8-B4;0)
Copia quindi verso il basso fino a B33 (o anche oltre).
Potrai verificare riga per riga se ti torna e se non ti torna immagino che sara' piu' semplice capire il motivo; poi in riga 1 o nella tua B94 calcoli il totale con la formula
Codice: Seleziona tutto
=Somma(Z4:Z33)


Quando trasponi numeri interi in Ore suggerisco di formattare il risultato come "Personalizzato" con Tipo = [h]:mm

Ciao a tutti
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi SERSE2013 » 24/09/13 08:29

Ciao Scossa, sono il totale delle ore/minuti lavorate da delle persone, però sono scritti in formato numero (ad. es. 10,42 ecc.....), a me servirebbe avere il totale delle ore di permesso se uno ha lavorato meno di 8 ore (ad esempio 4,15 Lunedì e 6,45 il Giovedì ) solo che se sottraggo (4,15+6,45) da 16 (2 giorni normali da 8 ore) non mi risponde che ha usufruito di 5 ore tonde di permessi...ma il risultato è 5,4, perchè usa il sistema decimale (e per questione di altri conteggi e balle varie non posso convertire numeri delle ore/minuti lavorate da delle persone in formato orario, solo che sono negata con la matematica forse mi sto perdendo in un bicchier d'acqua... ;)
Avatar utente
SERSE2013
Newbie
 
Post: 8
Iscritto il: 23/09/13 12:38

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi scossa » 24/09/13 10:27

SERSE2013 ha scritto:Ciao Scossa, sono il totale delle ore/minuti lavorate da delle persone, però sono scritti in formato numero (ad. es. 10,42 ecc.....),


Prova così:
Codice: Seleziona tutto
=SOMMA(INDICE((8-(INT(B4:B33)+(B4:B33-INT(B4:B33))*100/60))*(B4:B33<8);))
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi SERSE2013 » 24/09/13 14:37

Ciao a tutti!
Innanzitutto vi ringrazio moltissimo per l'impegno e per tutte le vostre risposte, mi dispiace avervi rotto tanto le scatole, non riuscendo ad ottenere i risultati, probabilmente per colpa mia, perchè sono davvero molto impedita, ho risolto così (è da pazzi):

B88 =(CONTA.SE(B5:B8;"<8")) + (CONTA.SE(B12:B15;"<8")) + (CONTA.SE(B19:B22;"<8")) + (CONTA.SE(B26:B29;"<8")) + (CONTA.SE(B33;"<8")) (controllo quante giornate inferiori alle 8 ore ci sono)
B89 = moltiplico il risultato per 8 ore (quelle che in realtà avrebbero dovuto essere lavorate)
B90 =SOMMA.SE(B5:B8;"<8") + SOMMA.SE(B12:B15;"<8") + SOMMA.SE(B19:B22;"<8") + SOMMA.SE(B26:B29;"<8") + SOMMA.SE(B33;"<8") sommo i valori delle giornate inferiori alle 8 ore
B91 =INT(B90)*60+(B90-INT(B90))*100 trasformo in minuti il tot dei valori delle giornate inferiori alle 8 ore
B92 =INT(B89)*60+(B89-INT(B89))*100 trasformo in minuti il tot delle ore "giuste" (che quindi avrebbero dovuto essere 8)
B93 =B92-B91 sottraggo dai minuti delle 8 ore canoniche i minuti non lavorati
B94 =INT(B93/60)+(B93-INT(B93/60)*60)/100 converto in ore

Per correttezza vi informo che avevo postato lo stesso thread anche sul forum di ialweb, purtroppo senza comunque riuscire, mea culpa e della mia imbranataggine, ad arrivare al risultato.

Grazie di nuovo a tutti!

Ciao!!!!
Avatar utente
SERSE2013
Newbie
 
Post: 8
Iscritto il: 23/09/13 12:38

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi Anthony47 » 24/09/13 14:42

Modifica la formula di scossa cosi':
Codice: Seleziona tutto
=SOMMA(INDICE((8-(INT(B4:B33)+(B4:B33-INT(B4:B33))*100/60))*(B4:B33<8)*(B4:B33>0);))

Oppure usa questa che e' piu' facile da capire:
Codice: Seleziona tutto
=SOMMA((8-INT(B4:B33)-RESTO(B4:B33;1)*100/60)*(B4:B33>0)*(B4:B33<8))/24
Questa va confermata con Contr-Maiusc-Enter

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi scossa » 24/09/13 14:51

Ciao,

@Anthony: il problema è che le celle non sono contigue

@Serse:
Nel primo post hai detto:
ho una colonna nella quale nelle celle comprese tra B4 e B33 ho determinati valori numerici.


Adesso viene fuori che le celle non sono contigue:
B88 =(CONTA.SE(B5:B8;"<8")) + (CONTA.SE(B12:B15;"<8")) + (CONTA.SE(B19:B22;"<8")) + (CONTA.SE(B26:B29;"<8")) + (CONTA.SE(B33;"<8")) (controllo quante giornate inferiori alle 8 ore ci sono)


Quando ti deciderai a condividere il tuo file originale (privato di dati sensibili) si potrà parlare "la stessa lingua".
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi Anthony47 » 24/09/13 14:59

Ciao scossa,
credo che il problema con la tua formula sia nei giorni vuoti (giorni non ancora compilati, week-end, o il giorno 31 del mese di settembre).
L' aggiunta del "*(B4:B33>0)" serviva proprio ad annullare questo problema.

Ho l' impressione che l' utente abbia eliminato dal calcolo i giorni del week-end (lungo...) proprio perche non sono compilati; insomma con la formula modificata applicata su tutto l' intervallo potrebbe anche cavarsela; deve provarla.

E' evidente che l' utente non e' molto esperto, altrimenti non si sarebbe imbarcato nella gestione di orari sessagesimali rappresentati da una convenzione decimale.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi scossa » 24/09/13 15:28

Anthony47 ha scritto:credo che il problema con la tua formula sia nei giorni vuoti (giorni non ancora compilati, week-end, o il giorno 31 del mese di settembre).
L' aggiunta del "*(B4:B33>0)" serviva proprio ad annullare questo problema.


Ciao,
credo che lei ottenga un un errore (#Valore!) mentre le celle vuote al massimo darebbero un valore in eccesso (8 ore ogni cella vuota), bho?! senza vedere il file si può solo tirare ad indovinare.

@serse:
per curiosità, mi dici se questa funziona:
per excel 2010
Codice: Seleziona tutto
=SOMMA(INDICE((8-(INT(B4:B33)+(RESTO(B4:B33;1))*100/60))*(B4:B33<8)*{0.1.1.1.1.0.0.0.1.1.1.1.0.0.0.1.1.1.1.0.0.0.1.1.1.1.0.0.0.1};))


per excel 2003
Codice: Seleziona tutto
=SOMMA(INDICE((8-(INT(B4:B33)+(RESTO(B4:B33;1))*100/60))*(B4:B33<8)*{0\1\1\1\1\0\0\0\1\1\1\1\0\0\0\1\1\1\1\0\0\0\1\1\1\1\0\0\0\1};))
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi Anthony47 » 24/09/13 20:18

Noto solo ora che c' e' stato un approccio diverso tra me e scossa...
La mia formula (vedi viewtopic.php?f=26&t=100064&p=577381#p577377 ) restituisce un valore in formato Orario excel (quindi in caso di presenza=7,30 restituisce come differenza 00(h):30(m); la cella va quindi formattata come "Orario" (meglio se "Personalizzato" con Tipo = [h]:mm). Scossa invece ha puntato a restituire un valore decimale, quindi nell' esempio restituisce 0,50(h). Vale anche per la variante alla formula di scossa che ho proposto nello stesso messaggio gia' linkato sopra. Quindi la cella col risultato va formattata "numerica con 2 decimali".
Nella mia formula, bisogna eliminare il "/24" finale per avere il risultato come calcolato da scossa, cioe' decimale vero.

Tu, cara serse, in quale formato lo vorresti calcolare?

Quanto all' ultima formula di scossa (vedi sopra) essa funziona... ma temo che a ottobre non funzionera' piu', se fosse vero che serse ha escluso dal calcolo i giorni del lungo week-end (Ve, Sab, Dom). Penso che sia piu' semplice inserire in formula "*(B4:B33>0)", che dovrebbe valere sempre.

Propongo a serse di valutare le formule che ha ricevuto, alla luce anche di queste mie considerazioni (e di quelle che scossa e chiunque altro vorra' eventualmente aggere)

Ciao a tutti!
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Individuazione di valori inferiori ad un numero e calcol

Postdi scossa » 24/09/13 20:37

Anthony47 ha scritto:Quanto all' ultima formula di scossa (vedi sopra) essa funziona... ma temo che a ottobre non funzionera' piu', se fosse vero che serse ha escluso dal calcolo i giorni del lungo week-end (Ve, Sab, Dom).

si può sempre sostituire la matrice {0\1\1\1\1\0\0\0\1\1\1\1\0\0\0\1\1\1\1\0\0\0\1\1\1\1\0\0\0\1} con (GIORNO.SETTIMANA(A4:A33;2)<6) ammesso che in A4..A33 ci siano le date dall'1 al 30.

EDIT: posto la soluzione basata sul file pubblicato da serse in altro forum. relativo al mese di agosto:
Codice: Seleziona tutto
=SOMMA(INDICE((INT(8-B4:B34)+0,6-RESTO(B4:B34;1))*(B4:B34<8)*(GIORNO.SETTIMANA(A4:A34;2)<6);))
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Individuazione di valori inferiori ad un numero e calcolo":


Chi c’è in linea

Visitano il forum: Gianca532011 e 37 ospiti