La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Ho questa pezzo di formula: _xlfn._xlws.FILTER(E$3:E3;B$3:B3=B4) originariamente scitta in excel 365. Avendo excel 2016 come la posso scrivere utilizzando altre funzioni compatibili con exceò 2016 tipo Indie e confronta? Grazie per la risposta.
ciao
se non erro è un AGGREGA()
=INDICE($E3:E3;AGGREGA(15;6;RIF.RIGA($E$1:E1)/($B$3:B3=B4);1))
ma se non vedo il file vado a intuito
@gianfranco55 Grazie per avermi risposto. Ti allego il file che mi hai richiesto. La formula da adattare l'ho messa nella cella cella K4 da trascinare in basso. I risultati attesi sono quelli della colonna J. Cioè le celle di J4:J42.
Naturalmente anche nelle colonne seguenti ci sono formule di 365 da adattare al 2016. Ma cominciamo con questa prima e poi step by step si continua. Qui c'è la funzione Filter che nel 2016 non esiste affatto.
ciao
forse ho capito ma per sicurezza
scrivimi la formula che hai nel 365 senza gli errori
@gianfranco55 ciao ...Io ho il 2016 non ho il 365 ... questo è il file che mi hanno passato ed io piano piano sto cercando di farlo funzionare nel mio 2016. Grazie per il supporto
ciao
spiegami cosa devi fare perchè mi sembra che la formula ci sia
e sia solo da integrare (io quel file li l'ho già visto)
mi sembra questa faccia lo stesso
=SE(C4<=0;"";B4&CONTA.PIÙ.SE(B$4:B4;B4;C$4:C4;">0"))
l'originale mi sembra sia
=SE.ERRORE(SE(C4<0;INDICE(FILTRO(E$3:E3;B$3:B3=B4);1 + SE.ERRORE(CERCA.X(VERO;(FILTRO(G$3:G3;B$3:B3=B4)<=G4);0;-1);SE(G4=0;"";0)));SE(C4>0;E4;""));"")
@gianfranco55 si questo è un file scaricato dal canale di Poletti. A me serve per determinare li valore delle plusvalenze generate da compravendite di valori mobiliari con il metodo LIFO. In prtica devo fare un file che mi costruisca poi il modello RT della dichiarazione dei redditi. Se ti serve il file e lo posso postare integralmente dimmi pure
=SE.ERRORE(SE(C4<0;INDICE(FILTRO(E$3:E3;B$3:B3=B4);1 + SE.ERRORE(CERCA.X(VERO;(FILTRO(G$3:G3;B$3:B3=B4)<=G4);0;-1);SE(G4=0;"";0)));SE(C4>0;E4;""));"")
si questo è quello originario in 365 devo cercare di trovare funzioni che fanno la stessa cosa ma compatibili con 2016 poichè quest'ultimo non ha nè la funzione Filtro ne la funzione Cerca.X.
=SE(C4<=0;"";B4&CONTA.PIÙ.SE(B$4:B4;B4;C$4:C4;">0"))
questa fa la stessa cosa più o meno ma in questa colonna servono anche per le vendite che la formula sopra esclude.
Ti ringrazio per il supporto.
ok capito
primo pomeriggio cerco di trovarti la soluzione
ciao
prova questa
=SE(C4<=0;INDICE($E$3:E3;INDICE(MIN(SE(($G$3:G3>=$G4)*($B$3:B3=$B4);RIF.RIGA($A$1:A1)));;));B4&CONTA.PIÙ.SE(B$4:B4;B4;C$4:C4;">0"))
@gianfranco55 Wow funziona alla grande! Ho provato a fare da solo con le altre colonne del foglio ma incontro ancora delle difficoltà per esempio nella colonna K che serve a determinare le quantità deve ottenere questi valori
4
1
2
3
2
3
6
6
0
3
3
2
1
3
45
1
2
10
1
2
6
6
1
3
2
3
41
2
2
4
3
41
1
2
4
e la formula è questa in 365
=SE(J4<>"";_xlfn.XLOOKUP(J4;J$3:J3;G$3:G3;C4-SOMMA.SE(J5:J999;J4;K5:K999)+G4;0;-1)-G4;"")
Come la posso modificare per excel 2016?
Mi puoi dare uno sguardo o devo fare un'altro post?
ciao
lascialo qui la prossima formula fai un' altro post
guarda che a me i conti non tornano per via delle date
stai sommando le date sotto e non quelle sopra ora vedo meglio
ciao
più ci provo e più sono convinto che non vada bene
esempio
se in data
30/03/2021 mi entrano 3 mele
come fai a dire che ne rimangono 1
visto che il prelievo di 2 mele è in data
06/06/2022
e anche qui sarà 1 la rimanenza non 2
3-2 =1
@gianfranco55 osservazione giusta. Il ragionamento è il seguente: In data 30/03/2021 entrano 3 mele, successivamente in data 6/6/2022 vengono vendute (mangiate) due mele e queste due mele dove sono state prese? Si va a vedere l'acquisto fatto immediatamente precedente. Infatti l'acquisto più vicino è quello risalente alla data 30/03/2021, per cui 3-2=1. 1 mela rappresenta la rimanenze di mele dopo la vendita più vicina ed acquistate in data 30/03/2021. Questo in altre parole è il metodo LIFO: First in First out. Cioè la prima quantità che viene venduta è quella Acquistata più di recente e cioè con data più prossima alla data della vendita. Spero di essermi spiegato.
Inoltre per la richiesta successiva fatta
=SE(J4<>"";_xlfn.XLOOKUP(J4;J$3:J3;G$3:G3;C4-SOMMA.SE(J5:J999;J4;K5:K999)+G4;0;-1)-G4;"")
Ho provato ha tradurla in Excel 2016 in questo modo.
=SE(J4<>"";SE.ERRORE(INDICE(G$4:G4;CONFRONTA(J4;J$3:J3;0));C4-SOMMA.SE(J5:J999;J4;K5:K999)+G4)-G4;"")
Ma alcuni risultati sono errati ed altri corretti. Perchè non rieso a trovare un metodo per far iniziare il confronto nell'intervallo dal più recente al meno recente (ordine inverso a quello solito che inizia dall'alto verso il basso). Infatti in questo caso la verifica serve dal basso verso l'alto
Ciao
Non confondiamo. Il sistema che stai usando è FIFO (Fisrt In First Out) non LIFO (Last In First Out)
Ciao,
Mario