Discussione:
Il mistero delle date e di Matr.Somma.Prodotto
(troppo vecchio per rispondere)
Federico
2014-01-13 18:19:18 UTC
Permalink
Un saluto a tutti voi. Vi spiego cosa mi capita, che trovo molto strano:

In A3:C16 ho una tabella con queste colonne:
Data iniziale - Data finale - Tasso interesse

voglio cercare il tasso in vigore in una certa data, la quale è scritta in D26. La formula che ho usato è
=MATR.SOMMA.PRODOTTO(($A$3:$A$16<=D26)*($B$3:$B$16>=D26)*($C$3:$C$16))

e fin qui tutto ok. Il problema è che in D26 la data viene scritta con un copia incolla automatico da un altro foglio (con una macro), e il risultato della formula sopra scritta è inspiegabilmente 0.
Se poi entro con il mouse sulla data di D26 e do invio, magicamente mi appare il tasso che cerco.

Praticamente la formula è giusta ma sembra che fino a che non entro nella cella in cui è contenuta la data da cercare e non do invio il programma non "senta" che c'è un valore o non prende bene il valore.
Il formato è data sia nella tabella di ricerca che nella cella D26.
Vi è mai capitato niente di simile? Esiste una soluzione che non sia entrare in tutte le mille celle della colonna D e dare invio? :-)

Grazie a tutti
Federico
r
2014-01-13 21:14:55 UTC
Permalink
Post by Federico
Data iniziale - Data finale - Tasso interesse
voglio cercare il tasso in vigore in una certa data, la quale è scritta in D26. La formula che ho usato è
=MATR.SOMMA.PRODOTTO(($A$3:$A$16<=D26)*($B$3:$B$16>=D26)*($C$3:$C$16))
e fin qui tutto ok. Il problema è che in D26 la data viene scritta con un copia incolla automatico da un altro foglio (con una macro), e il risultato della formula sopra scritta è inspiegabilmente 0.
Se poi entro con il mouse sulla data di D26 e do invio, magicamente mi appare il tasso che cerco.
Praticamente la formula è giusta ma sembra che fino a che non entro nella cella in cui è contenuta la data da cercare e non do invio il programma non "senta" che c'è un valore o non prende bene il valore.
Il formato è data sia nella tabella di ricerca che nella cella D26.
Vi è mai capitato niente di simile? Esiste una soluzione che non sia entrare in tutte le mille celle della colonna D e dare invio? :-)
probabilmente quello che incolli è un testo e non una data. Ci mostri la macro?
Bardino
2014-01-13 23:01:36 UTC
Permalink
Post by Federico
Praticamente la formula è giusta ma sembra che fino a che non entro nella cella in cui è contenuta la data da cercare e non do invio il programma non "senta" che c'è un valore o non prende bene il valore.
Il formato è data sia nella tabella di ricerca che nella cella D26.
Vi è mai capitato niente di simile? Esiste una soluzione che non sia entrare in tutte le mille celle della colonna D e dare invio? :-)
Moltiplica il risultato del copia-incolla per 1. Generalmente funziona
nel trasformare i testi in numeri.
Post by Federico
Grazie a tutti
Federico
Ciao
f***@quadrastudio.net
2014-01-14 15:13:19 UTC
Permalink
Grazie ragazzi per le risposte. Ora provo a moltiplicare per 1 e vediamo che succede.
Roberto ti posto comunque qui la macro che esegue il copia-incolla
Grazie mille

Sub copia_dati()
'

Sheets("calcolo").Select
Range("C26:G26").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents

Range("S26:W26").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents

Sheets("inserimento_dati").Select
Range("M3:Q3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("calcolo").Select
Range("C25").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=True, Transpose:=False
Sheets("inserimento_dati").Select
Range("G3:K3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("calcolo").Select
Range("S25").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=True, Transpose:=False
Application.CutCopyMode = False
Sheets("inserimento_dati").Select
Range("A3").Select
Sheets("calcolo").Select
Range("C25").Select
ActiveWorkbook.Save
End Sub
Post by Bardino
Praticamente la formula � giusta ma sembra che fino a che non entro nella cella in cui � contenuta la data da cercare e non do invio il programma non "senta" che c'� un valore o non prende bene il valore.
Il formato � data sia nella tabella di ricerca che nella cella D26.
Vi � mai capitato niente di simile? Esiste una soluzione che non sia entrare in tutte le mille celle della colonna D e dare invio? :-)
Moltiplica il risultato del copia-incolla per 1. Generalmente funziona
nel trasformare i testi in numeri.
Grazie a tutti
Federico
Ciao
r
2014-01-14 16:45:53 UTC
Permalink
Post by f***@quadrastudio.net
Grazie ragazzi per le risposte. Ora provo a moltiplicare per 1 e vediamo che succede.
Roberto ti posto comunque qui la macro che esegue il copia-incolla
Grazie mille
Sub copia_dati()
'
Sheets("calcolo").Select
Range("C26:G26").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Range("S26:W26").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Sheets("inserimento_dati").Select
Range("M3:Q3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("calcolo").Select
Range("C25").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=True, Transpose:=False
Sheets("inserimento_dati").Select
Range("G3:K3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("calcolo").Select
Range("S25").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=True, Transpose:=False
Application.CutCopyMode = False
Sheets("inserimento_dati").Select
Range("A3").Select
Sheets("calcolo").Select
Range("C25").Select
ActiveWorkbook.Save
End Sub
Post by Bardino
Praticamente la formula � giusta ma sembra che fino a che non entro nella cella in cui � contenuta la data da cercare e non do invio il programma non "senta" che c'� un valore o non prende bene il valore.
Il formato � data sia nella tabella di ricerca che nella cella D26.
Vi � mai capitato niente di simile? Esiste una soluzione che non sia entrare in tutte le mille celle della colonna D e dare invio? :-)
Moltiplica il risultato del copia-incolla per 1. Generalmente funziona
nel trasformare i testi in numeri.
Grazie a tutti
Federico
Ciao
non mi sembra che questa roba copia qualcosa in D26 ... sei sicuro?
Federico
2014-01-14 17:42:57 UTC
Permalink
Post by r
non mi sembra che questa roba copia qualcosa in D26 ... sei sicuro?
si, copia le cinque colonne da M a Q del foglio inserimento_dati nel foglio calcolo, a partire dalla cella C25 in poi.
La formula poi della matrice somma prodotto che non funziona legge la data riportata in D26 che proviene appunto da questa macro.
Federico
2014-01-15 17:28:50 UTC
Permalink
Bardino io ho moltiplicato i campi delle date per 1, come suggerito da te, con la seguente macro:

Sheets("inserimento_dati").Select
Range("K1").Select
Selection.Copy
Sheets("calcolo").Select
Range("S26:T1005").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False

dove in K1 c'è il valore 1 e in S26:T1005 ci sono le date.
Oh volete ridere? come li incollo mi inverte per alcuni il mese e il giorno fra loro. Non su tutte le celle, su alcune.

Nota che se faccio questa operazione a mano, senza macro, funziona perfettamente.
Qualcuno ha qualche idea?
Bardino
2014-01-15 21:13:00 UTC
Permalink
Post by f***@quadrastudio.net
Sheets("inserimento_dati").Select
Range("K1").Select
Selection.Copy
Sheets("calcolo").Select
Range("S26:T1005").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
dove in K1 c'è il valore 1 e in S26:T1005 ci sono le date.
Oh volete ridere? come li incollo mi inverte per alcuni il mese e il giorno fra loro. Non su tutte le celle, su alcune.
Nota che se faccio questa operazione a mano, senza macro, funziona perfettamente.
Qualcuno ha qualche idea?
Magari è una soluzione troppo semplice, ma nella colonna di fianco a
quella con i dati (es la colonna A2) inserisci =A1*1 poi nascondi la
colonna A1 ed utilizzi la A2. Così scavalchi il problema.
r
2014-01-16 12:55:02 UTC
Permalink
Post by f***@quadrastudio.net
Sheets("inserimento_dati").Select
Range("K1").Select
Selection.Copy
Sheets("calcolo").Select
Range("S26:T1005").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
dove in K1 c'è il valore 1 e in S26:T1005 ci sono le date.
Oh volete ridere? come li incollo mi inverte per alcuni il mese e il giorno fra loro. Non su tutte le celle, su alcune.
Nota che se faccio questa operazione a mano, senza macro, funziona perfettamente.
Qualcuno ha qualche idea?
e sicuro che non lo faccia anche quando entri nella cella?
puoi condividere un file di esempio, così vediamo di risolvere?

Loading...