View Full Version : Funzione Excel
Angelo Ter
30-04-2003, 18:04
Volevo inserire una funzione COUNTIF in una cella
La particolarità è che non voglio utilizzare un intervallo di celle contigue tipo A1:G1 ma vorrei far contare il valore che mi interessa in alcune celle in particolare ad es. A1-D1-G1 (tre o più celle in un intervallo)
Quale è la sintassi corretta?
Ad es. volendo contare il valore 5 in un intervallo da A1 ad H1 imposto la funzione
=COUNTIF(A1:H1;5)
Se però volessi contare il valore 5 solo in tre celle di questo intervallo come si può modificare la formula? (ammesso che sia questa la funzione che si deve usare)
prova a separare i vari riferimenti delle celle:
A1;C1;E1 etc....
Angelo Ter
30-04-2003, 19:33
Originally posted by "misterx"
prova a separare i vari riferimenti delle celle:
A1;C1;E1 etc....
si ho provato ma non funziona
la funzione COUNTIF ha una sintassi range;criterio per cui dopo il ";" considera tutto criterio
ho provato a racchiudere tra parentesi tonde il range di celle ma non ha funzionato lo stesso
=COUNTIF((F3;M3;T3;AA3);510)
restituisce #VALUE!
prova a separare con le virgole allora
altrimenti, prova a vedere qui se trovi qualche suggerimento
http://www.exceltip.com/st/Using_the_COUNTIF_function_to_filter_a_list_into_a_unique_record_in_Microsoft_Excel/260.html
io avrei risolto con una funzioncina.
se gradita ...
Angelo Ter
01-05-2003, 09:57
Originally posted by "a2000"
io avrei risolto con una funzioncina.
se gradita ...
Questa l' ho provata ieri e funge allo scopo
=(COUNTIF(E3;510)+COUNTIF(L3;510)+COUNTIF(S3;510)+COUNTIF(Z3;510))
La tua com' è?
così:
= CCOUNTIF((E3;L3;S3;Z3; .... ); 510)
:)
Angelo Ter
01-05-2003, 18:26
Originally posted by "a2000"
così:
= CCOUNTIF((E3;L3;S3;Z3; .... ); 510)
:)
CCOUNTIF? e non COUNTIF?
Angelo Ter
01-05-2003, 19:04
A meno che il mio excel non sia buggato nn va come dici tu a2000
è CCOUNTIF e non COUNTIF e va, vai tranquillo. :)
te la mando ?
ti serve ?
Angelo Ter
02-05-2003, 15:06
Originally posted by "a2000"
è CCOUNTIF e non COUNTIF e va, vai tranquillo. :)
te la mando ?
ti serve ?
Ti ho gia detto che come la hai fatta tu NON funziona
La formula funzionante è quella che ho postato più su.
uaglio' ma allora si' tuost' !
ti dico che funziona come dico io.
se ti serve te la mando.
:)
Angelo Ter
03-05-2003, 10:41
Originally posted by "a2000"
uaglio' ma allora si' tuost' !
ti dico che funziona come dico io.
se ti serve te la mando.
:)
Posta un file di Excel con la formula funzionante (che dia un risultato non la semplice formula che da sola non dimostra che sia corretta)
puoi usarla anche con range non connessi nominati.
Originally posted by "Angelo Ter"
uaglio' ma allora si' tuost' !
Traduco:
"Ragazzo ma allora sei duro di comprendorio!"
Traduttor non porta pena. :)
Continuate pure e scusate l'interruzione.
Fenomeno85
05-05-2003, 20:31
a2000 ma che lavoro fai? sei troppo un genio :D
guarda detta da un Fenomeno potrei anche considerarla NON una presa per il C++o :D
Originally posted by "verloc"
Traduco:
"Ragazzo ma allora sei duro di comprendorio!"
Traduttor non porta pena. :)
Continuate pure e scusate l'interruzione.
eh no, verlocc', hai cambiato l'autore nella citazione ... il copyright di "uaglio' allora si' tuost'" è mio.
Ma fuoss' d' Pisticc', come l' Amer' Luchen' ... ca t' mbriach' ? :o :o
Evvabbe!M' sò sbagliat'...a press' :)
Ps. Com' l' ciervun... vuò dicie! :D :D
Mamm' quant sò ciuot' l' pizzstes!
Ah ah ah ah :D
E a' vdè l' Muntalbanes' . Peggiancor' ;)
Fenomeno85
06-05-2003, 13:20
ma non mi hai risposto ... vorrei avere 1/1000000000000 della tua intelligenza a2000
Originally posted by "verloc"
Evvabbe!M' sò sbagliat'...a press' :)
Ps. Com' l' ciervun... vuò dicie! :D :D
Mamm' quant sò ciuot' l' pizzstes!
Ah ah ah ah :D
E a' vdè l' Muntalbanes' . Peggiancor' ;)
ma allor' dandu' cazz' n' si' ? :confused:
Originally posted by "Fenomeno85"
ma non mi hai risposto ... vorrei avere 1/1000000000000 della tua intelligenza a2000
potresti rischiare di rimanere solo con l'uccello ! :D :D
allora la prossima volta ti posto la versione ridotta (a 30 kB chiloByte circa 30 KiB kibiByte :p ) di una bella interfaccetta grafica input-output dati tutta in VB-Excel.
:)
P.S.
così capisci cosa faccio (per ora ... anzi per allora).
Angelo Ter
06-05-2003, 18:39
Originally posted by "a2000"
puoi usarla anche con range non connessi nominati.
La formula che hai postato restituisce: #NAME?
Dall' help di Excel:
Correct a #NAME? error
Occurs when Microsoft Excel doesn't recognize text in a formula.
Allora chi è duro di comprendonio?
Hai mai utilizzato le "funzioni definite dall'utente" ?
Sono molto utili.
Sono funzioni scritte in VBA che puoi usare in qualsiasi cella di Excel alla stregua delle funzioni del foglio di lavoro come COS(), RADQ(), BESSELJ() ecc.
La funzione CCOUNTIF() è stata definita (per te) in un modulo VB che puoi vedere con Alt+F11 e che ti riporto in fondo.
Vai tranquillo Angelo Ter e non ti offendere.
Ho scritto letteralmente centinaia di migliaia di righe di codice in Cobol, Fortran, Basic e VisualBasic.
Fidati.
E se non ti funziona ... guarda, vedi, prova (comunque scaricato caldo caldo dal link, con Excel2000 funziona subito) e se ancora non ti funziona ... nun' t'ncazza: futt'tinn ! :p
Lo sai come rispondeva il cinico Eduardo al postulante che chiedeva : "E iamm' dotto', aggia' campa' pur'io" ?
"E p'cchè ?" :eek:
Function CCOUNTIF(v, a)
n = 0
Select Case Left(a, 2)
Case ">=": a1 = f_Val(Mid$(a, 3)): For Each c In v: n = n - (c >= a1): Next c
Case "<=": a1 = f_Val(Mid$(a, 3)): For Each c In v: n = n - (c <= a1): Next c
Case Else: OK = True
End Select
If OK Then
Select Case Left(a, 1)
Case ">": a1 = f_Val(Mid(a, 2)): For Each c In v: n = n - (c > a1): Next c
Case "<": a1 = f_Val(Mid(a, 2)): For Each c In v: n = n - (c < a1): Next c
Case "=": a1 = f_Val(Mid(a, 2)): For Each c In v: n = n - (c = a1): Next c
Case Else: a1 = f_Val(a): For Each c In v: n = n - (c = a1): Next c
End Select
End If
CCOUNTIF = n
End Function
Function f_Val(x)
If IsNumeric(x) Then
f_Val = Val(x)
Else
f_Val = x
End If
End Function
Angelo Ter
06-05-2003, 21:00
Originally posted by "a2000"
Hai mai utilizzato le "funzioni definite dall'utente" ?
Sono molto utili.
Sono funzioni scritte in VBA che puoi usare in qualsiasi cella di Excel alla stregua delle funzioni del foglio di lavoro come COS(), RADQ(), BESSELJ() ecc.
La funzione CCOUNTIF() è stata definita (per te) in un modulo VB che puoi vedere con Alt+F11 e che ti riporto in fondo.
Vai tranquillo Angelo Ter e non ti offendere.
Ho scritto letteralmente centinaia di migliaia di righe di codice in Cobol, Fortran, Basic e VisualBasic.
Fidati.
E se non ti funziona ... guarda, vedi, prova (comunque scaricato caldo caldo dal link, con Excel2000 funziona subito) e se ancora non ti funziona ... nun' t'ncazza: futt'tinn ! :p
Lo sai come rispondeva il cinico Eduardo al postulante che chiedeva : "E iamm' dotto', aggia' campa' pur'io" ?
"E p'cchè ?" :eek:
Function CCOUNTIF(v, a)
n = 0
Select Case Left(a, 2)
Case ">=": a1 = f_Val(Mid$(a, 3)): For Each c In v: n = n - (c >= a1): Next c
Case "<=": a1 = f_Val(Mid$(a, 3)): For Each c In v: n = n - (c <= a1): Next c
Case Else: OK = True
End Select
If OK Then
Select Case Left(a, 1)
Case ">": a1 = f_Val(Mid(a, 2)): For Each c In v: n = n - (c > a1): Next c
Case "<": a1 = f_Val(Mid(a, 2)): For Each c In v: n = n - (c < a1): Next c
Case "=": a1 = f_Val(Mid(a, 2)): For Each c In v: n = n - (c = a1): Next c
Case Else: a1 = f_Val(a): For Each c In v: n = n - (c = a1): Next c
End Select
End If
CCOUNTIF = n
End Function
Function f_Val(x)
If IsNumeric(x) Then
f_Val = Val(x)
Else
f_Val = x
End If
End Function
Dunque:
1-L' esempio non funzionava perchè avevo il livello di sicurezza delle macro impostato su "high"
2-Ora funge :D
3-Non so creare una funzione personalizzata ecco perchè ho postato quella formula (che cmq da il risultato anche se in una forma meno elegante)
4-Potevi dirlo subito che occorreva una "funzione definita dall' utente" per evitare di ripetere di scrivere una funzione per ogni cella e poi sommarle come ho fatto io che non saprei programmare nemmeno in Italiano :D
5-cmq sono forti le "funzioni definite dall' utente" come si fa a crearne una?
6-Biglietto pagato per la prossima commedia di Eduardo :D
1, 2, 3, 4 - Bravo e Forza Napoli !
5-
Apri Excel > Alt+F11 > Inserisci > Modulo
ora sei nel fantastico mondo di VBA ! :cool:
Puoi definire una funzione a piacere tuo scritta in VisualBasic e che appena scritta diventa pronta per l'uso in qualunque cella di Exel:
Per esempio questa scrive in una cella a piacere "Ciao Mondo" & il contenuto x di una cella a piacere (p.es. G5):
= f_AngeloTer1(G5)
Function f_AngeloTer1(x)
f_AngeloTer1 = "Ciao Mondo" & x
End Function
questa calcola in una cella a piacere il valore di x²+y dove x e y sono il valore di due celle a piacere (p.es. B1 e C6):
= f_AngeloTer2(B1; C6)
Function f_AngeloTer2(x, y)
f_AngeloTer2 = x ^ 2 + y
End Function
Le funzioni (e le procedure) possono accettare come argomenti anche range di celle e restituire range di celle (tra cui vettori e matrici).
Nota che, per una questione di convenzioni internazionali del pannello di controllo, in Excel italiano gli argomenti (parametri formali) delle funzioni in VBA sono separati dalla virgola (,) mentre nei fogli di calcolo sono separati dal punto e virgola (;).[/siz]
6- OK, m' piace' o' Presepe :o
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.