Torna indietro   Hardware Upgrade Forum > Software > Programmi e Utility

Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Samsung rinnova la serie pieghevole di punta con Galaxy Z Fold8 Ultra: pannello interno da 8 pollici quasi senza piega, cerniera Flex Titanium, Snapdragon 8 Elite Gen 5 for Galaxy e batteria finalmente da 5.000 mAh. Prezzo italiano da 2.299 a 2.899 euro. Tra colorimetro, benchmark reali e giorni di uso quotidiano, ecco dove questo pieghevole convince e dove il nome Ultra fatica ancora a trovare piena giustificazione
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
La nuova Insta360 X6 introduce sensori Sony da 1/1.1" e un SoC Triple AI a 4nm. Analizziamo le riprese 8K, il primo Dolby Vision nativo a 10-bit nel settore sferico e l'innovativo flusso di lavoro diretto sulla futura versione 22 di DaVinci Resolve.
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Dopo due settimane trascorse al volante della Dacia Spring 2026 possiamo raccontarvi tutto, dalle novità di motore e batteria, fino ai consumi in tutti le situazioni, compresa l'autonomia reale ad alta velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-04-2008, 21:05   #21
Wertherino
Member
 
L'Avatar di Wertherino
 
Iscritto dal: Nov 2006
Città: Lecce
Messaggi: 208
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Ciao. Nel tuo caso, infatti, e per funzioni via via più elaborate e complesse, le semplici funzioni integrate di Excel non stanno al passo delle nostre esigenze...

Nel tuo caso specifico ti consiglio di crearti una tua funzione personalizzata, che non solo risolve questo piccolo problema, ma utile anche come "template" per funzioni con un numero illimitato di condizioni e controlli...

Tutto quello che devi fare è di aprire il tuo file, entrare nell'editor VBA, e creare un nuovo Modulo di codice, nel quale mettere questa funzione :

Codice:
Public Function MIA_FUNZIONE(Intervallo As String) As Long

    Dim conta As Long
    conta = 0
    Dim Cella As Range
    For Each Cella In Range(Intervallo)
    
        'Condizione 1 :
        If Cella.Value >= 30 And Cella.Value <= 45 Then
            conta = conta + 1
        End If
        
        'Condizione 2 :
        '...
        '...
        
    Next
    
    MIA_FUNZIONE = conta

End Function
A questo punto, torna su Foglio1 e nella cella che deve contenere il risultato inserisci questa formula :

=MIA_FUNZIONE("C8:C26")

Dai Invio, e... fammi sapere...
Grazie Marco, ottimo lavoro
__________________
Ascoltate radio3 RAI
Wertherino è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2008, 11:18   #22
fracarro
Senior Member
 
L'Avatar di fracarro
 
Iscritto dal: Jul 2002
Messaggi: 869
Quote:
Originariamente inviato da zuper Guarda i messaggi
COUNTIFS(C8:C26;"<=30";C8:C26;">=45")
E se invece devo confrontare i valori della colonna C con la colonna D?
Mi spiego meglio. Supponiamo che io voglia sapere nell'intervallo C1:C100 quante volte la condizione Ci<Di si è verificata, come posso fare? Esiste una funzione excel oppure bisogna scrivere delle macro?
__________________
Notebook: MBP 15 i7 Retina, (Mid 2014)
fracarro è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2008, 09:53   #23
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da fracarro Guarda i messaggi
E se invece devo confrontare i valori della colonna C con la colonna D?
Mi spiego meglio. Supponiamo che io voglia sapere nell'intervallo C1:C100 quante volte la condizione Ci<Di si è verificata, come posso fare? Esiste una funzione excel oppure bisogna scrivere delle macro?
Codice:
    Dim conta As Integer
    conta = 0
    Dim i As Integer
    For i = 1 To 100
        If Range("C" & i).Value < Range("D" & i).Value Then
            conta = conta + 1
        End If
    Next i
    MsgBox conta
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2008, 11:25   #24
fracarro
Senior Member
 
L'Avatar di fracarro
 
Iscritto dal: Jul 2002
Messaggi: 869
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Codice:
    Dim conta As Integer
    conta = 0
    Dim i As Integer
    For i = 1 To 100
        If Range("C" & i).Value < Range("D" & i).Value Then
            conta = conta + 1
        End If
    Next i
    MsgBox conta
Grazie per l'aiuto. Ne deduco che non è possibile risolvere il problema con le funzioni standard di excel giusto? Ho però un problema. Come faccio funzionare questo codice? Ho provato a creare la funzione come descritto qui http://office.microsoft.com/it-it/ex...CH062528191040 ma non funziona, sai perchè?

Altra domanda. Date le colonne C e D di numeri, vorrei sapere quanti numeri di C non sono contenuti in D. Anche per questo ci vuole una macro?
__________________
Notebook: MBP 15 i7 Retina, (Mid 2014)
fracarro è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2008, 23:24   #25
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da fracarro Guarda i messaggi
Grazie per l'aiuto. Ne deduco che non è possibile risolvere il problema con le funzioni standard di excel giusto? Ho però un problema. Come faccio funzionare questo codice? Ho provato a creare la funzione come descritto qui http://office.microsoft.com/it-it/ex...CH062528191040 ma non funziona, sai perchè?
Deduzione non corretta. Io non ho detto che non si possa fare con le semplici formule. Ho conosciuto gente che piuttosto che scrivere 2 righe di Visual Basic preferisce creare funzioni pazzesche, prolisse e illeggibili.
Io preferisco VBA.
Il mio codice precedente poteva essere ad esempio associato al Click di un pulsante ecc...
Se invece vuoi usare una Function, la devi PRIMA creare in un modulo, come avevo spiegato più sopra a Wertherino... Poniamo tu voglia mettere il risultato del conteggio in A1 :

Nel modulo :
Codice:
Public Function FUNZIONE(arg As String) As Integer

    Dim conta As Integer
    conta = 0
    Dim i As Integer
    For i = 1 To 100
        If Range("C" & i).Value < Range("D" & i).Value Then
            conta = conta + 1
        End If
    Next i
    
    FUNZIONE = conta

End Function
In A1 : =FUNZIONE("")

Quote:
Originariamente inviato da fracarro Guarda i messaggi
Altra domanda. Date le colonne C e D di numeri, vorrei sapere quanti numeri di C non sono contenuti in D. Anche per questo ci vuole una macro?
Si dovrebbe poter fare anche con le formule. Io lo farei con VBA...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2008, 08:39   #26
fracarro
Senior Member
 
L'Avatar di fracarro
 
Iscritto dal: Jul 2002
Messaggi: 869
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Deduzione non corretta. Io non ho detto che non si possa fare con le semplici formule. Ho conosciuto gente che piuttosto che scrivere 2 righe di Visual Basic preferisce creare funzioni pazzesche, prolisse e illeggibili.
Io preferisco VBA.
Il mio codice precedente poteva essere ad esempio associato al Click di un pulsante ecc...
Se invece vuoi usare una Function, la devi PRIMA creare in un modulo, come avevo spiegato più sopra a Wertherino... Poniamo tu voglia mettere il risultato del conteggio in A1 :

Nel modulo :
Codice:
Public Function FUNZIONE(arg As String) As Integer

    Dim conta As Integer
    conta = 0
    Dim i As Integer
    For i = 1 To 100
        If Range("C" & i).Value < Range("D" & i).Value Then
            conta = conta + 1
        End If
    Next i
    
    FUNZIONE = conta

End Function
In A1 : =FUNZIONE("")

Si dovrebbe poter fare anche con le formule. Io lo farei con VBA...
Ho seguito le tue istruzioni ma non funziona. Dopo aver creato la funzione, vado nel foglio di lavoro, inserisco =FUNZIONE("") e excel mi da l'errore #nome? come mai? Inoltre l'argomento dato in input arg dove viene usato nella funzione? Facendo riferimento anche alla funzione per Wertherino, si potrebbe modificare la mia per passarle in input le due colonne che mi interessano invece di fissarle nel codice? Grazie per l'aiuto, ma non ho mai programmato in VBA ne usato macro su excel (si vede?).
__________________
Notebook: MBP 15 i7 Retina, (Mid 2014)
fracarro è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2008, 14:04   #27
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da fracarro Guarda i messaggi
Ho seguito le tue istruzioni ma non funziona. Dopo aver creato la funzione, vado nel foglio di lavoro, inserisco =FUNZIONE("") e excel mi da l'errore #nome? come mai? Inoltre l'argomento dato in input arg dove viene usato nella funzione? Facendo riferimento anche alla funzione per Wertherino, si potrebbe modificare la mia per passarle in input le due colonne che mi interessano invece di fissarle nel codice? Grazie per l'aiuto, ma non ho mai programmato in VBA ne usato macro su excel (si vede?).
Ti va in errore perchè usi una versione vecchia di Excel, che non accetta il parametro "", oppure non hai messo la Function come Public in un modulo...
Comunque passare il range come argomento si può fare benissimo :

Nel modulo :
Codice:
Public Function FUNZIONEINT(intervallo As String) As Integer

    Dim cella As Range
    Dim conta As Integer
    conta = 0
    For Each cella In Range(intervallo)
        If cella.Value < Cells(cella.Row, cella.Column + 1).Value Then
            conta = conta + 1
        End If
    Next
    
    FUNZIONEINT = conta

End Function
In A1: =FUNZIONEINT("C1:D100")

Se non ti funzia neanche questa hai seri problemi con il tuo Excel... ;)
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2008, 14:47   #28
fracarro
Senior Member
 
L'Avatar di fracarro
 
Iscritto dal: Jul 2002
Messaggi: 869
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Ti va in errore perchè usi una versione vecchia di Excel, che non accetta il parametro "", oppure non hai messo la Function come Public in un modulo...
Comunque passare il range come argomento si può fare benissimo :

Nel modulo :
Codice:
Public Function FUNZIONEINT(intervallo As String) As Integer

    Dim cella As Range
    Dim conta As Integer
    conta = 0
    For Each cella In Range(intervallo)
        If cella.Value < Cells(cella.Row, cella.Column + 1).Value Then
            conta = conta + 1
        End If
    Next
    
    FUNZIONEINT = conta

End Function
In A1: =FUNZIONEINT("C1100")

Se non ti funzia neanche questa hai seri problemi con il tuo Excel...
Grazie mille funziona tutto. Ho excel 2003. L'errore erano proprio le virgolette. Abituato con le funzioni standard non le mettevo vai. Visto che ti vedo ferrato in materia, c'è un modo per rendere questa funzione sempre disponibile tra quelle personalizzate in un qualunque foglio di excel? Attualmente credo che per ogni nuovo file devo ricreare il modulo.
__________________
Notebook: MBP 15 i7 Retina, (Mid 2014)
fracarro è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2008, 10:00   #29
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da fracarro Guarda i messaggi
Grazie mille funziona tutto. Ho excel 2003. L'errore erano proprio le virgolette. Abituato con le funzioni standard non le mettevo vai. Visto che ti vedo ferrato in materia, c'è un modo per rendere questa funzione sempre disponibile tra quelle personalizzate in un qualunque foglio di excel? Attualmente credo che per ogni nuovo file devo ricreare il modulo.
Beh, fare un semplice copia/incolla di qualche funzioncina non lo vedo proprio un gran sbattimento. Inoltre io consiglio sempre di mantenere macro, sub e funzioni all'interno dello stesso Workbook che ne deve fare uso.
Per rispondere alla tua domanda, sì, metodi ce ne sono. Un metodo ad esempio è quello di creare un file .XLA che contiene tutte le funzioni desiderate e renderlo visibile a tutti i files Excel interessati... Ma bisogna rispettare certe condizioni "rigide" e comunque dovresti sempre modificare uno a uno i files che ne devono fare uso, specificando DOVE e COME reperire le funzioni esterne...
Modifica per modifica, molto meglio e più sicuro che ogni Workbook contenga tutto il codice di cui ha bisogno.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2008, 10:11   #30
fracarro
Senior Member
 
L'Avatar di fracarro
 
Iscritto dal: Jul 2002
Messaggi: 869
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Beh, fare un semplice copia/incolla di qualche funzioncina non lo vedo proprio un gran sbattimento. Inoltre io consiglio sempre di mantenere macro, sub e funzioni all'interno dello stesso Workbook che ne deve fare uso.
Per rispondere alla tua domanda, sì, metodi ce ne sono. Un metodo ad esempio è quello di creare un file .XLA che contiene tutte le funzioni desiderate e renderlo visibile a tutti i files Excel interessati... Ma bisogna rispettare certe condizioni "rigide" e comunque dovresti sempre modificare uno a uno i files che ne devono fare uso, specificando DOVE e COME reperire le funzioni esterne...
Modifica per modifica, molto meglio e più sicuro che ogni Workbook contenga tutto il codice di cui ha bisogno.
Ok grazie mille. Faccio come mi consigli per evitare sbattimenti.
__________________
Notebook: MBP 15 i7 Retina, (Mid 2014)
fracarro è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2008, 20:39   #31
ses4
Member
 
Iscritto dal: Aug 2008
Messaggi: 178
Quote:
Originariamente inviato da fracarro Guarda i messaggi
Ne deduco che non è possibile risolvere il problema con le funzioni standard di excel giusto?
Come ti ha già risposto MarcoGG la deduzione non è corretta, se preferisci le funzioni al VBA prova con:
quesito 1
=CONTA.SE(C8:C26;">=30")-CONTA.SE(C8:C26;">45")
oppure
=MATR.SOMMA.PRODOTTO((C8:C26>=30)*(C8:C26<=45))

quesito 2
=MATR.SOMMA.PRODOTTO(1*(C8:C26<D8: D26))

Quote:
Altra domanda. Date le colonne C e D di numeri, vorrei sapere quanti numeri di C non sono contenuti in D. Anche per questo ci vuole una macro?
Non necessariamente:
=MATR.SOMMA.PRODOTTO(1*(CONTA.SE(D8: D26;C8:C26)=0))

N.B. ho dovuto inserire uno spazio tra : e D altrimenti sarebbe comparsa la faccina

Spero di non aver scritto troppe fesserie, sono un po' arrugginito.
Ciao
ses4 è offline   Rispondi citando il messaggio o parte di esso
Old 09-08-2008, 13:40   #32
fracarro
Senior Member
 
L'Avatar di fracarro
 
Iscritto dal: Jul 2002
Messaggi: 869
Quote:
Originariamente inviato da ses4 Guarda i messaggi
Come ti ha già risposto MarcoGG la deduzione non è corretta, se preferisci le funzioni al VBA prova con:
quesito 1
=CONTA.SE(C8:C26;">=30")-CONTA.SE(C8:C26;">45")
oppure
=MATR.SOMMA.PRODOTTO((C8:C26>=30)*(C8:C26<=45))

quesito 2
=MATR.SOMMA.PRODOTTO(1*(C8:C26<D8: D26))


Non necessariamente:
=MATR.SOMMA.PRODOTTO(1*(CONTA.SE(D8: D26;C8:C26)=0))

N.B. ho dovuto inserire uno spazio tra : e D altrimenti sarebbe comparsa la faccina

Spero di non aver scritto troppe fesserie, sono un po' arrugginito.
Ciao
Perfetto.
Entrambe le funzioni eseguono egregiamente il loro compito.
Nonostante l'help dell'excel sulla funzione MATR.SOMMA.PRODOTTO non mi è tanto chiaro come lavorano le tue funzioni: =MATR.SOMMA.PRODOTTO(1*(C8:C26<D8: D26)) e
=MATR.SOMMA.PRODOTTO(1*(CONTA.SE(D8: D26;C8:C26)=0))
ma l'importante è che funzionino.
Grazie mille ses4.
__________________
Notebook: MBP 15 i7 Retina, (Mid 2014)
fracarro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre AORUS GeForce RTX 5080 INFINITY WOOD 16G: una sc...
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
Vogliono costruire un monumento per Elon...
Ring Intercom Audio crolla a 39,99€ su A...
La Francia blocca il divieto dei social ...
Trump citato in giudizio: chiesto lo sto...
PEC obbligatoria per revisione e passagg...
Il ripulitore di watermark Claude da 4.5...
Xiaomi 17 Ultra scambia il Sole per la L...
È arrivata la migliore e-bike Eng...
Apple Mac mini M4, ecco perché conviene ...
Robot aspirapolvere in offerta su Amazon...
Il nuovo pick-up elettrico di Ford &egra...
Google Pixel 11 arriva su Amazon: preord...
Mega sconti su attrezzi a batteria e rob...
Google Search dà per morto Sam Al...
Il noleggio delle GPU NVIDIA si quota in...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


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


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v