Condividi:        

Excel Formula

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

Excel Formula

Postdi Statix » 02/06/08 14:44

Ciao a tutti,
ho questa formula
=CONTA.SE(CV3:GG3;"A")

mi conta in un range CV3:GG3 le celle con la lettera A e va bene
se però nel range non c'è nessuna lettera A mi restituisce 0
vorrei fare in modo che se è 0 mi restituisca un punto.
ho provato con somma .se, ma niente, si vede che oggi non ci stò con la testa,
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Sponsor
 

Re: Excel Formula

Postdi Anthony47 » 02/06/08 19:30

So che ti basta l' imbeccata: SE(Conta.se(.. )etc etc). E se per assurdo non ti bastasse, basta chiedere per avere di piu'.

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

Re: Excel Formula

Postdi Statix » 02/06/08 21:04

Ciao Anthony47,
con il Se(Conta.se.. ci avevo pensato,ma non so come non ci riuscivo,adesso dopo un paio di prove tutto ok

=SE(CONTA.SE(CV3:GG3;"A");CONTA.SE(CV3:GG3;"A");".")


un altra formula che mi sta facendo impazzire è questa
=CERCA.ORIZZ(CP3;$CV$1:$GG3;3;0)

se faccio il test mi funziona in orizzontale,
per farla funzionare su tutte le 100 righe devo cambiare indice per ogni riga
per farla funzionare in verticale non ci riesco mi da sempre ###
ti faccio l'esempio
in un range CP3:CT103 ho dei numeri ,in un altro range CV1:GG1 ho i numeri da 1 a 90
in CV3:GG103 ci sono numeri, lettere e spazi,
in GV3:GZ3 c'è la formula
=CERCA.ORIZZ(CP$3;$CV$1:$GG3;3;0)

La formula prende il numero in CP3 lo cerca nel range CV1:GG1 e mi restituisce il valore che è sotto.
esempio
Cp3=12 mi cerca il 12 nel Range CV1:GG1 (DG1)è mi da il valore della cella (DG3)in questo caso F
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel Formula

Postdi Statix » 03/06/08 10:44

ho un altro problema con paio di formule
in una colonna verticale A1:A50
in B1 dovrei contare da A1 a scendere, le celle vuote e fermarsi quando la cella è piena.
in C1 lil valore della cella piena

colonna A =numeri,lettere e spazi
colonna B=conta celle vuote in questo esempio B1=5
colonna C= la cella piena dopo le vuote,in questo esempio C1= A
esempio
A1 = vuota B1 = 5 C1 = A
A2 = vuota
A3 = vuota
A4 = vuota
A5 = vuota
A6 = A
A6 = C
A7 = vuota
A8 = vuota

Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel Formula

Postdi Anthony47 » 03/06/08 15:46

Per il Cerca.Vert, poiche’ non dici quale formula usi e ### non e’ un messaggio di errore univoco ma solo l’ indicazione che la cosa da visualizzare e’ piu’ larga dello spazio della cella, non so dire niente.

Per trovare il primo valore in una colonna:
-in una colonna libera usi la formula
Codice: Seleziona tutto
=(A1>"")

-trascini la formula verso il basso
-poi in B1 userai
Codice: Seleziona tutto
=CONFRONTA(VERO;J:J;0)-1

-e in C1
Codice: Seleziona tutto
=SCARTO(A1;B1;0)


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

Re: Excel Formula

Postdi Statix » 03/06/08 17:26

Ciao Anthony47,

la formula della conta tutto ok.

Pe la formula del cerca.orizz o cerca.vert ti spiego cosa mi deve fare

ho un range di 90 celle CV1:GG1 (intestazione 1 a 90)
nel range CV3:GG506 ho lettere,numeri e spazi.
in CP3:CT506 ho 504 estrazioni
la formula deve confrontare riga per riga i 5 estratti con il range CV3:GG3 e restituirmi i valori in GV3:GZ3
ti faccio un esempio


Codice: Seleziona tutto
CP3---------CT3   CV1................................GG1  GV1-------GZ1
                  1-2-3-4-5-6-7-8-9-10-11-12-13-14....90
 1-12-33-47- 5     E-------F------ -- -----A----------      E-- F--A---
 6- 7- 8- 9-10    ---------  8-5-D-A-3------------------    8 - 5- D-A-3
23-34-56-78-89
11- 3-67-90-45    --- B-               -H                  H - B
23-17-32-66-88
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel Formula

Postdi Statix » 03/06/08 21:28

Ciao Anthony47
mi è sorto un altro problema con la macro

Private Sub Worksheet_Calculate()
If ActiveCell.Address <> "$BG$97" Then Exit Sub
If ActiveCell.Value = -1 Then Exit Sub

Application.EnableEvents = False
On Error GoTo gerr

Scomp = Range("CA1").Value

Range("CB2").Activate
ActiveSheet.Range([CB2], [CB2].End(xlToRight)).Select
Selection.Clear
ActiveCell.Value = Scomp
Range("CB2").Select

Selection.TextToColumns Destination:=Range("CB2"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="-", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), _
TrailingMinusNumbers:=True



gerr:
If Err.Number <> 0 Then
Msg = "Errore " & Str(Err.Number) & " generato da " _
& Err.Source & Chr(13) & Err.Description
MsgBox Msg, , "Errore", Err.HelpFile, Err.HelpContext
End If
Application.EnableEvents = True
salta:
Range("BG97").Select


End Sub


a volte quando scompone 1 o 2 numeri +0 (mi da la data) capita solo su alcuni casi
tipo 8-0
11-20-0
ho già provato a modificare la cella CB2 con Formato celle ,ma niente,credo che bisogna modificarla nella macro,
in attesa di una risposta,riprovo.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel Formula

Postdi Anthony47 » 03/06/08 23:08

Statix ha scritto:Pe la formula del cerca.orizz o cerca.vert ti spiego cosa mi deve fare
Come funziona il cerca.vert o il cerca.orizz lo sappiamo oramai tutti; quale formula hai provato, che cosa ti aspettavi, e che cosa e’ successo?
A occhio direi che ti serve il cerca.orizz, che qualche post fa dicevi che ti funzionava bene, mentre non riuscivi a farla funzionare in verticale (“se faccio il test mi funziona in orizzontale [. . . . ] per farla funzionare in verticale non ci riesco mi da sempre ###); ma il verticale non ti serve, quindi dovresti essere a cavallo.
Ma io a questo punto ti suggerisco l’ uso di Scarto, con base in CV1, offset verticale pari al numero di riga corrente meno 1 [istruzione Rif.Riga()-1] e offset orizzontale pari al numero che stai valutando (CP3:CT500) sempre meno 1.

La macro.
Devo avertela data 2 anni fa, e faceva “Testo in colonna” su una stringa di numeri separati da “-“. Ora quale e’ il problema? E’ quello che metti tra parentesi, come se fosse una cosa inutile? Se SI, mi chiedo perche’ sei cosi’ sadico da voler confondere chiunque abbia vogli di darti una mano.
Sempre se SI, allora guarda che il problema non sta’ nelle celle risultato, ma nella cella di origine dei dati (che non so quale e’; forse l’hai scritto ma non la vado a cercare), quella che contiene ad esempio 11-20-0: e’ quella la cella che devi formattare “Testo”, il resto verra’ automaticamente.

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

Re: Excel Formula

Postdi Statix » 03/06/08 23:18

la formula è questa
=SE(BT2=$BG$97;BG2&"-"&BU2;BU2)

ho provato formato celle /testo,tutte le celle con la formula(90)
ma è sempre lo stesso 1-0 mi da 01/01/2000
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel Formula

Postdi Anthony47 » 03/06/08 23:26

E' BU2 che va formattata Testo.

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

Re: Excel Formula

Postdi Statix » 03/06/08 23:32

la cella Bu lo avevo già formattata testo ,ma non va ugualmente,il segno - tra i numeri,a me non serve,
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel Formula

Postdi Anthony47 » 04/06/08 15:18

Hai debuggato se l’ errore nasce quando la condizione SE(BT2=$BG$97 e’ vera o falsa? In BU2 che cosa ci metti? (cioe’ se prendi i dati da altra celle, allora “quella cella” va formattata test, per tutta la catena).
Se il “-“ non ti serve, toglilo; se ti serve un separatore usane un altro (ad esempio %) e modifica anche la parte Other:=True, OtherChar:="-" del vba (metterai OtherChar:="%").

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

Re: Excel Formula

Postdi Statix » 04/06/08 21:46

Ciao Anthony47,
per la macro ho ancora qualche problema,ho fatto tutto ciò che mi hai suggerito,provato a cambiare formato celle/testo,niente,se cerco di modificare il carattere mi da errore di sintassi
sono giunto alla conclusione che bisogna formattare la cella CB2 nella macro con proprietà testo,stò cercando in VBa come si fà,ho provato a cambiare sul foglio il formato della cella CB2 con testo ma quando lancio la macro me la riporta Data.

Per quanto riguarda la formula Cerca.orizz

=CERCA.ORIZZ(CP$3;CV1:GG3;3)


mi funziona è vero,ma sono costretto a cambiare l'indice per ogni riga,le righe in totale sono circa 100,
e al momento ho risolto così,

=CERCA.ORIZZ(CP$3;CV1:GG3;3)
=CERCA.ORIZZ(CP$4;CV1:GG4;4)
=CERCA.ORIZZ(CP$5;CV1:GG5;5)
per 100 righe

per la formula che mi hai suggerito

Ma io a questo punto ti suggerisco l’ uso di Scarto, con base in CV1, offset verticale pari al numero di riga corrente meno 1 [istruzione Rif.Riga()-1] e offset orizzontale pari al numero che stai valutando (CP3:CT500) sempre meno 1.

non ci sono riuscito.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel Formula

Postdi Anthony47 » 04/06/08 22:12

Per modificare la macro:
-registrati una nuova macro mentre esegui la selezione della cella CB2 (partendo da una cella diversa) e applichi la formattazione che vuoi. Poi nel vba editor estrai le istruzioni create e inseriscile nella macro attuale.

Per la formula SCARTO:
Codice: Seleziona tutto
=scarto($cv$1;rif.riga()-1;cp3-1)

Poi copi nelle 4 celle adiacenti, infine copi la prima riga su quelle sottostanti.

Poiche' mi pare che hai excel in inglese: =offset($cv$1,row()-1,cp3-1)

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

Re: Excel Formula

Postdi Statix » 04/06/08 22:24

ho provato ad inserire sia
Selection.NumberFormat = "General"

che
Selection.NumberFormat = "@"
controllando la cella CB2 effettivamente cambia il formato come impostato nella macro,ma non va è la stessa cosa
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta


Torna a Applicazioni Office Windows


Topic correlati a "Excel Formula":


Chi c’è in linea

Visitano il forum: Nessuno e 47 ospiti