Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Riportare elementi di una formula in formato testo

Ultimo Aggiornamento: 08/04/2019 19:24
Post: 94
Registrato il: 12/08/2011
Città: PALERMO
Età: 40
Utente Junior
Excel 2010 - Excel 2013
OFFLINE
03/04/2019 14:44

Ho una cartella composta da due fogli (magazzino e frutta riclassificata)

Quello che mi servirebbe è che nella cella E3 (con riempimento giallo) del Foglio "Frutta riclassificata" ci sia una formula che riporti il risultato "+30 di banane +150 di mele", ossia nell'ordine di come le variabili sono inserite nella formula in D3 (=Magazzino!B3+Magazzino!B1).


Si allega file per esempio.



Grazie in anticipo
[Modificato da PHYSICAL 03/04/2019 14:44]

PHYSICAL
_________
Excel 2010 - Excel 2013
STATA 10.1 11.1
Post: 5.642
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
03/04/2019 15:28

Formule
Ciao nella cella gialla scrivi:

=Testo.Formula(D3)

e trascina in basso.

Ciao By Sal [SM=x423051]

se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 94
Registrato il: 12/08/2011
Città: PALERMO
Età: 40
Utente Junior
Excel 2010 - Excel 2013
OFFLINE
03/04/2019 15:35

Re: Formule
by sal, 03/04/2019 15.28:

Ciao nella cella gialla scrivi:

=Testo.Formula(D3)

e trascina in basso.

Ciao By Sal [SM=x423051]




Invece di restituirmi il risultato "+30 di banane +150 di mele", mi restituisce

#Nome?

.


PHYSICAL
_________
Excel 2010 - Excel 2013
STATA 10.1 11.1
Post: 678
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Senior
Excel2019
OFFLINE
03/04/2019 15:44

Salve a tutti
Scusate, ma come fa Excel a capire che nel magazzino c'è della frutta "gialla" o "rossa"? Lui vede solo un elenco di tipi di frutta e la relativa quantità.

Ciao,
Mario
Post: 95
Registrato il: 12/08/2011
Città: PALERMO
Età: 40
Utente Junior
Excel 2010 - Excel 2013
OFFLINE
03/04/2019 15:58

infatti excel non vede nulla...sono io che indico nella cella D3 la formula =Magazzino!B3+Magazzino!B1, ossia 30 banane e 150 mele. Se in futuro avrò anche cedri indicherò =Magazzino!B3+Magazzino!B1+=Magazzino!B15

PHYSICAL
_________
Excel 2010 - Excel 2013
STATA 10.1 11.1
Post: 2.187
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
03/04/2019 17:24

ciao
non puoi farlo con le formule, ci vuole una macro e piuttosto articolata.

saluti




Domenico
Win 10 - Excel 2016
Post: 679
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Senior
Excel2019
OFFLINE
03/04/2019 17:58

Ciao Domenico
mi hai tolto le parole di bocca.
Ci stavo lavorando sopra, ma non è "articolata", è semplicemente qualcosa di "mostruoso"
Mi spiace veramente ma io abbandono.

Ciao,
Mario
Post: 2.188
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
03/04/2019 19:40

ciao Mario

'mbè, se si volesse gestire "tutto" perbene come credo tu voglia fare, non credo che si riesca, prendi ad esempio:
=Magazzino!B3+Magazzino!B1+CERCA.VERT("Mele";Magazzino!$A$1:$B$5;2;FALSO)

Solo nel caso che quanto riportato dal ns. amico corrisponda al vero, cioè:
=NomeFoglio!Cella1+NomeFoglio!Cella2...etc...etc


mFormula = Range("D3").Formula
mArr = Split(mFormula, "+")
For i = 0 To UBound(mArr)
    cella = Mid(mArr(i), InStrRev(mArr(i), "!") + 1, Len(mArr(i)))
    giacenza = Worksheets("Magazzino").Range(cella)
    prodotto = Worksheets("Magazzino").Range(cella).Offset(, -1)
    MsgBox giacenza & " - " & prodotto
Next


Ma è ovviamente qualcosa di estremamente limitato

Un caro saluto
[Modificato da dodo47 03/04/2019 19:41]
Domenico
Win 10 - Excel 2016
Post: 1.761
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
03/04/2019 19:46

ciao

prova a vedere se ti va bene

in cella E3 scrivi
la formula come testo


Magazzino!B3+Magazzino!B1

in F3 metti

=SE.ERRORE(INDIRETTO(ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI($E3;"+";RIPETI(" ";LUNGHEZZA($E3)));(RIF.COLONNA(A$1)-1)*LUNGHEZZA($E3)+1;LUNGHEZZA($E3))))&" "&INDIRETTO(ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI(SOSTITUISCI($E3;"+";RIPETI(" ";LUNGHEZZA($E3)));"B";"A");(RIF.COLONNA(A$1)-1)*LUNGHEZZA($E3)+1; LUNGHEZZA($E3))));"")



e tirala a destra
nb
nel 2010 non esiste ancora la funzione TESTO.FORMULA()
Post: 3.716
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
03/04/2019 19:51

Come Excel capisce se sia gialla/rossa ???
Se l'utente inserisce "in Magazzino una colonna prima di A" con scritto gialla/rossa e non "gialla" oppure "rossa"
In Frutta riclassificata, cella E3 =MATR.SOMMA.PRODOTTO((Magazzino!A:A=A3)*Magazzino!C:C)

Si può fare anche per le solo "mele"
[Modificato da raffaele1953 03/04/2019 19:58]
Excel 2013
Post: 96
Registrato il: 12/08/2011
Città: PALERMO
Età: 40
Utente Junior
Excel 2010 - Excel 2013
OFFLINE
03/04/2019 20:29

Re:
dodo47, 03/04/2019 19.40:

ciao Mario

'mbè, se si volesse gestire "tutto" perbene come credo tu voglia fare, non credo che si riesca, prendi ad esempio:
=Magazzino!B3+Magazzino!B1+CERCA.VERT("Mele";Magazzino!$A$1:$B$5;2;FALSO)

Solo nel caso che quanto riportato dal ns. amico corrisponda al vero, cioè:
=NomeFoglio!Cella1+NomeFoglio!Cella2...etc...etc


mFormula = Range("D3").Formula
mArr = Split(mFormula, "+")
For i = 0 To UBound(mArr)
    cella = Mid(mArr(i), InStrRev(mArr(i), "!") + 1, Len(mArr(i)))
    giacenza = Worksheets("Magazzino").Range(cella)
    prodotto = Worksheets("Magazzino").Range(cella).Offset(, -1)
    MsgBox giacenza & " - " & prodotto
Next


Ma è ovviamente qualcosa di estremamente limitato

Un caro saluto



Sì in pratica ho una cartella excel con 3 fogli...magazzino, negozio, frutta riclassificata dove inserisco manualmente la formula in formato "NomeFoglio1!Cella59+NomeFoglio1!Cella9-NomeFoglio2!Cella23-NomeFoglio2!Cella6"

PHYSICAL
_________
Excel 2010 - Excel 2013
STATA 10.1 11.1
Post: 97
Registrato il: 12/08/2011
Città: PALERMO
Età: 40
Utente Junior
Excel 2010 - Excel 2013
OFFLINE
03/04/2019 20:32

Re:
federico460, 03/04/2019 19.46:

ciao

prova a vedere se ti va bene

in cella E3 scrivi
la formula come testo


Magazzino!B3+Magazzino!B1

in F3 metti

=SE.ERRORE(INDIRETTO(ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI($E3;"+";RIPETI(" ";LUNGHEZZA($E3)));(RIF.COLONNA(A$1)-1)*LUNGHEZZA($E3)+1;LUNGHEZZA($E3))))&" "&INDIRETTO(ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI(SOSTITUISCI($E3;"+";RIPETI(" ";LUNGHEZZA($E3)));"B";"A");(RIF.COLONNA(A$1)-1)*LUNGHEZZA($E3)+1; LUNGHEZZA($E3))));"")



e tirala a destra
nb
nel 2010 non esiste ancora la funzione TESTO.FORMULA()




Sarebbe buona, ma quando lavoro su excel 2013 testo.formula() da come risultato =Magazzino!B3+Magazzino!B1 e quindi la prima parte della formula in F3 non va.

E poi se mi trovassi su excel 2010 non funzionerebbe visto che non esiste la formula testo.formula()


PHYSICAL
_________
Excel 2010 - Excel 2013
STATA 10.1 11.1
Post: 1.762
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
03/04/2019 20:50

ciao
se usi il 2013
=SOSTITUISCI(TESTO.FORMULA(D3);"=";"")
e hai risolto
per il 2010

in un modulo


Public Function FormulaEstrai(Range As Range)
FormulaEstrai = Range(1, 1).FormulaLocal
End Function



in E3
=SOSTITUISCI(FormulaEstrai(D3);"=";"")
da tirare in giù

per il resto come prima

Post: 98
Registrato il: 12/08/2011
Città: PALERMO
Età: 40
Utente Junior
Excel 2010 - Excel 2013
OFFLINE
03/04/2019 21:51

Re:
federico460, 03/04/2019 20.50:

ciao
se usi il 2013
=SOSTITUISCI(TESTO.FORMULA(D3);"=";"")
e hai risolto
per il 2010

in un modulo


Public Function FormulaEstrai(Range As Range)
FormulaEstrai = Range(1, 1).FormulaLocal
End Function



in E3
=SOSTITUISCI(FormulaEstrai(D3);"=";"")
da tirare in giù

per il resto come prima




Ho provato su Excel 2010 e funziona egregiamente. Le uniche cose che mancano sono il segno prima del numero ossia se è "+" oppure "-". È possibile inserire il segno del numero?

[Modificato da PHYSICAL 03/04/2019 21:52]

PHYSICAL
_________
Excel 2010 - Excel 2013
STATA 10.1 11.1
Post: 1.763
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
03/04/2019 22:42

ciao
intanto cambiamo formula
non sapevo potesse esserci il meno



=SE.ERRORE(INDIRETTO(ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI($E3;"+";RIPETI(" ";LUNGHEZZA($E3)));(RIF.COLONNA(A$1)-1)*LUNGHEZZA($E3)+1;LUNGHEZZA($E3))))&" "&INDIRETTO(ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI(SOSTITUISCI($E3;"+";RIPETI(" ";LUNGHEZZA($E3)));"B";"A");(RIF.COLONNA(A$1)-1)*LUNGHEZZA($E3)+1; LUNGHEZZA($E3))));INDIRETTO(ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI($E3;"-";RIPETI(" ";LUNGHEZZA($E3)));(RIF.COLONNA(A$1)-1)*LUNGHEZZA($E3)+1;LUNGHEZZA($E3))))&" "&INDIRETTO(ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI(SOSTITUISCI($E3;"-";RIPETI(" ";LUNGHEZZA($E3)));"B";"A");(RIF.COLONNA(A$1)-1)*LUNGHEZZA($E3)+1; LUNGHEZZA($E3)))))




ora vedo
per estrapolare il segno
ma la vedo dura

Post: 99
Registrato il: 12/08/2011
Città: PALERMO
Età: 40
Utente Junior
Excel 2010 - Excel 2013
OFFLINE
03/04/2019 22:49

Re:
federico460, 03/04/2019 22.42:

ciao
intanto cambiamo formula
non sapevo potesse esserci il meno



=SE.ERRORE(INDIRETTO(ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI($E3;"+";RIPETI(" ";LUNGHEZZA($E3)));(RIF.COLONNA(A$1)-1)*LUNGHEZZA($E3)+1;LUNGHEZZA($E3))))&" "&INDIRETTO(ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI(SOSTITUISCI($E3;"+";RIPETI(" ";LUNGHEZZA($E3)));"B";"A");(RIF.COLONNA(A$1)-1)*LUNGHEZZA($E3)+1; LUNGHEZZA($E3))));INDIRETTO(ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI($E3;"-";RIPETI(" ";LUNGHEZZA($E3)));(RIF.COLONNA(A$1)-1)*LUNGHEZZA($E3)+1;LUNGHEZZA($E3))))&" "&INDIRETTO(ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI(SOSTITUISCI($E3;"-";RIPETI(" ";LUNGHEZZA($E3)));"B";"A");(RIF.COLONNA(A$1)-1)*LUNGHEZZA($E3)+1; LUNGHEZZA($E3)))))




ora vedo
per estrapolare il segno
ma la vedo dura




C'è un altro problema...alcune formule iniziano con il segno + o - dopo =
Ad esempio: =-Foglio1!B5+Foglio2!B26


PHYSICAL
_________
Excel 2010 - Excel 2013
STATA 10.1 11.1
Post: 1.764
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
03/04/2019 22:59

domani vedo di accorciartela
è semplice e poi vediamo per il segno
Post: 5.643
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
04/04/2019 08:05

Formule
Ciao, credo che sia la tua versione Excel, anche se dichiari che usi 2010-2013 il file salvandolo mi sono accorto che è di una versione precedente al 2007.

Un immagine

comerica locations

nelle versioni precedenti credo che esista visualizzare le formule nelle celle(non sono sicuro) ma lo fa per tutto il foglio e non soltanto per alcune celle.

la riclassificazione di come intendi non può essere attuata se non dai informazioni, Excel non è un mago che capisce le tue intenzioni, dovresti mettere almeno nel foglio magazzino nelle colonne adiacenti(dopo la B) le informazioni.
Per Arance, Banane, Fragole non ci sono problemi in quanto i colori base sono unici, ma per Mele e Prugne(Susine) ed altri frutti ce ne sono di tutti i colori.
oppure trovare un altro metodo per la riclassificzione.

ti allego il mio file con la formula, che funziona, se non funziona vuol dire che è la versione Excel che usi.

Ciao By Sal [SM=x423051]



se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 2.189
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
04/04/2019 12:30

Ciao a tutti

"credo" che il risultato che vuole Phisical, non sia il testo dell formula riportata in col. D, bensì il testo del risultato; per esempio:
in D3 = Magazzino!B1-Negozio!B1 (80)
il risultato voluto in E3 dovrebbe essere:

+ 150 Mele - 70 Mele

L'allegato, considera solo i "+" o i "-" presenti nella formula. Ovviamente la formula deve essere una sommatoria (+ - ) di celle non derivanti da formule complesse ....

Saluti

(Nota: è ovviamente possibile creare una udf...ma vedi tu)



Domenico
Win 10 - Excel 2016
Post: 100
Registrato il: 12/08/2011
Città: PALERMO
Età: 40
Utente Junior
Excel 2010 - Excel 2013
OFFLINE
08/04/2019 19:24

Re:
dodo47, 04/04/2019 12.30:

Ciao a tutti

"credo" che il risultato che vuole Phisical, non sia il testo dell formula riportata in col. D, bensì il testo del risultato; per esempio:
in D3 = Magazzino!B1-Negozio!B1 (80)
il risultato voluto in E3 dovrebbe essere:

+ 150 Mele - 70 Mele

L'allegato, considera solo i "+" o i "-" presenti nella formula. Ovviamente la formula deve essere una sommatoria (+ - ) di celle non derivanti da formule complesse ....

Saluti

(Nota: è ovviamente possibile creare una udf...ma vedi tu)







Per ora funziona...grazie mille

PHYSICAL
_________
Excel 2010 - Excel 2013
STATA 10.1 11.1
Vota: 15MediaObject5,00120 1
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 04:46. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com