Salve,
ho un problema che non so risolvere in Excel. Data una tabella, ad esempio quella nell'immagine seguente, c'è un modo in Excel per calcolare un punto interpolante in una tabella 2D?
Non mi vengono in mente modi semplici per calcolarlo, quindi chiedo a voi.
Ad esempio, se in quella tabella entro con due valori a=5, b=13 vorrei scrivere una funzione intelligente (più compatta possibile) per trovare il risultato.
Si, posso ricorrere a vba, ma vorrei inserire semplicemente una formula. Quindi vi chiedo se c'è un modo più intelligente di farlo.
Su come calcolare il risultato viene spiegato egregiamente in questa pagina web: http://it.wikihow.com/Applicare-un'Inte ... are-Doppia
Regole:
- Non si usa vba
- il risultato deve stare in una sola cella.
Interpolazione 2D in una tabella Excel
Moderatori:
Paolino,
fairyvilje
2 messaggi
• Pagina 1 di 1
1
voti
Comunque la mia soluzione poco elegante ma funzionante è questa
- Codice: Seleziona tutto
=((SE(CERCA.ORIZZ(D12;D3:H3;1;VERO)=MAX(D3:H3);MAX(D3:H3);INDICE(D3:H3;CONFRONTA(CERCA.ORIZZ(D12;D3:H3;1;VERO);D3:H3)+1))-D12)/(SE(CERCA.ORIZZ(D12;D3:H3;1;VERO)=MAX(D3:H3);MAX(D3:H3);INDICE(D3:H3;CONFRONTA(CERCA.ORIZZ(D12;D3:H3;1;VERO);D3:H3)+1))-CERCA.ORIZZ(D12;D3:H3;1;VERO))*INDICE(D4:H9;CONFRONTA(CERCA.VERT(C12;C4:C9;1;VERO);C4:C9);CONFRONTA(CERCA.ORIZZ(D12;D3:H3;1;VERO);D3:H3))+(D12-CERCA.ORIZZ(D12;D3:H3;1;VERO))/(SE(CERCA.ORIZZ(D12;D3:H3;1;VERO)=MAX(D3:H3);MAX(D3:H3);INDICE(D3:H3;CONFRONTA(CERCA.ORIZZ(D12;D3:H3;1;VERO);D3:H3)+1))-CERCA.ORIZZ(D12;D3:H3;1;VERO))*INDICE(D4:H9;CONFRONTA(CERCA.VERT(C12;C4:C9;1;VERO);C4:C9);CONFRONTA(SE(CERCA.ORIZZ(D12;D3:H3;1;VERO)=MAX(D3:H3);MAX(D3:H3);INDICE(D3:H3;CONFRONTA(CERCA.ORIZZ(D12;D3:H3;1;VERO);D3:H3)+1));D3:H3)))*(SE(CERCA.VERT(C12;C4:C9;1;VERO)=MAX(C4:C9);MAX(C4:C9);INDICE(C4:C9;CONFRONTA(CERCA.VERT(C12;C4:C9;1;VERO);C4:C9)+1))-C12)/(SE(CERCA.VERT(C12;C4:C9;1;VERO)=MAX(C4:C9);MAX(C4:C9);INDICE(C4:C9;CONFRONTA(CERCA.VERT(C12;C4:C9;1;VERO);C4:C9)+1))-CERCA.VERT(C12;C4:C9;1;VERO))+((SE(CERCA.ORIZZ(D12;D3:H3;1;VERO)=MAX(D3:H3);MAX(D3:H3);INDICE(D3:H3;CONFRONTA(CERCA.ORIZZ(D12;D3:H3;1;VERO);D3:H3)+1))-D12)/(SE(CERCA.ORIZZ(D12;D3:H3;1;VERO)=MAX(D3:H3);MAX(D3:H3);INDICE(D3:H3;CONFRONTA(CERCA.ORIZZ(D12;D3:H3;1;VERO);D3:H3)+1))-CERCA.ORIZZ(D12;D3:H3;1;VERO))*INDICE(D4:H9;CONFRONTA(SE(CERCA.VERT(C12;C4:C9;1;VERO)=MAX(C4:C9);MAX(C4:C9);INDICE(C4:C9;CONFRONTA(CERCA.VERT(C12;C4:C9;1;VERO);C4:C9)+1));C4:C9);CONFRONTA(CERCA.ORIZZ(D12;D3:H3;1;VERO);D3:H3))+(D12-CERCA.ORIZZ(D12;D3:H3;1;VERO))/(SE(CERCA.ORIZZ(D12;D3:H3;1;VERO)=MAX(D3:H3);MAX(D3:H3);INDICE(D3:H3;CONFRONTA(CERCA.ORIZZ(D12;D3:H3;1;VERO);D3:H3)+1))-CERCA.ORIZZ(D12;D3:H3;1;VERO))*INDICE(D4:H9;CONFRONTA(SE(CERCA.VERT(C12;C4:C9;1;VERO)=MAX(C4:C9);MAX(C4:C9);INDICE(C4:C9;CONFRONTA(CERCA.VERT(C12;C4:C9;1;VERO);C4:C9)+1));C4:C9);CONFRONTA(SE(CERCA.ORIZZ(D12;D3:H3;1;VERO)=MAX(D3:H3);MAX(D3:H3);INDICE(D3:H3;CONFRONTA(CERCA.ORIZZ(D12;D3:H3;1;VERO);D3:H3)+1));D3:H3)))*(C12-CERCA.VERT(C12;C4:C9;1;VERO))/(SE(CERCA.VERT(C12;C4:C9;1;VERO)=MAX(C4:C9);MAX(C4:C9);INDICE(C4:C9;CONFRONTA(CERCA.VERT(C12;C4:C9;1;VERO);C4:C9)+1))-CERCA.VERT(C12;C4:C9;1;VERO))
rini -
lectroYou
lectroYou
2 messaggi
• Pagina 1 di 1
Chi c’è in linea
Visitano il forum: Nessuno e 19 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)
