Condividi tramite

Tabelle Excel - differente comportamento tra Excel 2007 e Excel 365 (ma ho verificato anche nella versione 2013)

Anonimo
2021-02-08T15:08:47+00:00

Buongiorno a tutti.

Ho notato un differente comportamento, in fase di aggiunta righe, tra le tabelle in Excel 2007 rispetto a Excel 365 (ma verificato anche in Excel 2013).

Parto da un esempio banale come da immagine:

Come si può notare in C2 è presente una formula che ha dei riferimenti da una parte assoluti ma dall'altra parte relativi.

Lo scopo è di effettuare una somma condizionata incrementale.

In Excel 2007 se aggiungo righe alla tabella la formula per la prima riga rimane invariata.

Nella seconda diventa: =SOMMA.SE($A$2:A3;"X";$B$2:B3)

Nella terza diventa: =SOMMA.SE($A$2:A4;"X";$B$2:B4)

Nella quarta diventa: =SOMMA.SE($A$2:A5;"X";$B$2:B5)

E via dicendo avendo per ogni riga aggiunta alla tabella la relativa formula che, rimanendo fermo il primo riferimento assoulto, incrementa il riferimento relativo (ma mantendeno invariato il riferimento delle righe precedenti).

Cosa succede invece in Excel 365 (ma anche provato su Excel 2013)?

Se aggiungo una riga la formula nella prima riga diventa: =SOMMA.SE($A$2:A3;"X";$B$2:B3)

In pratica l'intervallo si estende automaticamente fino a fine tabella.

La seconda riga diventa: =SOMMA.SE($A$2:A4;"X";$B$2:B4)

E l'intervallo si espande oltre la tabella di 1 riga.

Continuando ad es. fino alla quarta si ha che sempre la prima riga si espande fino a fine tabella diventando: =SOMMA.SE($A$2:A5;"X";$B$2:B5)

E la formula dell'ultima riga si espande di tante righe quante sono state aggiunte: =SOMMA.SE($A$2:A8;"X";$B$2:B8)

Metto anche uno screenshot della visualizzazione delle formule nelle celle:

Personalmente trovo questo comportamento anomalo e ritengo più logico il comportamento assunto dalla tabella nella versione Excel 2007.

Aggiungendo righe mi aspetto che la tabella copi le formule nelle righe successive ma in base alla logica che se copio la formula con un intervallo relativo ad una cella, anche se interna alla tabella, vada ad incrementare di una riga l'intervallo e non di tante righe quante sono le righe aggiunte andando anche oltre tabella.

Mi chiedo se è un bug o una cosa voluta a partire dalle versioni successive, almento dalla 2013 (non ho la versione 2010 da provare), alla versione 2007?

Qualcuno ha mai notato questa cosa?

Grazie e ciao

edit ore 17.21

Aggiungo uno screenshot di quanto, invece, accade con una tabella in Excel 2007

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

5 risposte

Ordina per: Più utili
  1. Anonimo
    2021-02-09T16:58:14+00:00

    Ciao Casanmaner,

    Grazie Norman, proverò l'utilizzo di INDICE per fissare la prima cella di riferimento.

    Bene!

    Anche se provando con il riferimento assoluto in formato "normale" e per quello relativo il riferimento strutturato alla riga si ottiene l'intervallo dinamico come desiderato.

    Il problema si pone se utilizzo una "notazione" del tipo $A$2:A2 .

    In tal caso l'aggiunta di righe con Excel 365 (ma anche 2013 e suppongo 2016 e 2019) l'intervallo viene "esteso" in base al numero di righe aggiunte.

    Comunque se dovessi avere occasione di fare il confronto tra le due versioni noterai il differente comportamento.

    Appena posso, proverò il problema con Excel 2007.

    Colgo l'occasione per rimpiangere il fatto che non ti vediamo regolarmente in questo forum.

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2021-02-09T16:40:01+00:00

    Grazie Norman, proverò l'utilizzo di INDICE per fissare la prima cella di riferimento.

    Anche se provando con il riferimento assoluto in formato "normale" e per quello relativo il riferimento strutturato alla riga si ottiene l'intervallo dinamico come desiderato.

    Il problema si pone se utilizzo una "notazione" del tipo $A$2:A2 .

    In tal caso l'aggiunta di righe con Excel 365 (ma anche 2013 e suppongo 2016 e 2019) l'intervallo viene "esteso" in base al numero di righe aggiunte.

    Comunque se dovessi avere occasione di fare il confronto tra le due versioni noterai il differente comportamento.

    ciao e grazie ancora per la disponibilità.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2021-02-09T16:08:08+00:00

    Ciao Casanmaner.

    Non posso parlare di diversi comportamenti tra le diverse versioni di Excel in quanto non ho Excel 2007 sotto mano in questo momento.

    Però, prova la formula:

    =SOMMA.SE(INDICE([Col1];1):[@Col1];"x";INDICE([Col2];1):[@Col2])

    Immagine

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2021-02-09T15:39:16+00:00

    Ciao Norman e grazie per l'intervento.

    Quello che a me serve è poter sommare, in modo progressivo, gli importi con riferimenti che possono trovarsi in posizioni discontinue.

    Ad es. immagina che in Col3 voglia somma per "a" i valori di Col2 e lo stesso per "b" in Col1 i valori in Col2 ma in modo progressivo man mano che si "incontra" il valore a" o "b"

    Col1 Col2 Col3
    a 1 1
    b 2 2
    a 1 2
    b 2 4
    a 1 3
    b 2 6

    Per "a" nella prima riga sommo 1, poi nella terza riga incontro nuovamente a e sommo quindi 2 (1 della riga 1 + 1 della riga 3). Infine nella quinta riga incontro nuovamente "a" e sommo quindi 3 (1 + 1 + 1).

    Analogamente per "b". Prima sommo 2 poi sommo 4 (2+2) e infine 6 (2+2+2).

    Nella tabella per riuscire a fare ciò la formula (con la sintassi di Excel 2007) è questa:

    =SOMMA.SE($A$2:Tabella1[[#Questa riga];[Col1]];Tabella1[[#Questa riga];[Col1]];$B$2:Tabella1[[#Questa riga];[Col2]])

    Dove devo comunque utilizzare un riferimento all'indirizzo assoluto $A$2 e $B$2 per le colonne Col1 e Col2 (considerato che Col1 si trova in colonna A e l'intestazione in riga 1).

    Io non sono riuscito a trovare un modo per rendere assoluto in riferimento ad una riga di una tabella senza utilizzare l'indirizzo.

    Magari c'è ma cercando nella guida non sono riuscito a capire se sia possibile.

    A quel punto avevo deciso di utilizzare i normali riferimenti.

    Solo che con Excel2007 il comportamento, aggiungendo righe alla tabella, è quello che ci si aspetta "copiando" la formula in basso.

    Con le versioni successive (ho provato Excel 2013 e 365) il comportamento è del tutto differente come indicato.

    E mi chiedevo da cosa potesse dipendere questo diverso comportamento. Se è una cosa voluta o no.

    Ciao

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2021-02-09T14:54:26+00:00

    Ciao Casanmaner,

    Buongiorno a tutti.

    Ho notato un differente comportamento, in fase di aggiunta righe, tra le tabelle in Excel 2007 rispetto a Excel 365 (ma verificato anche in Excel 2013).

    Parto da un esempio banale come da immagine:

    Immagine

    Come si può notare in C2 è presente una formula che ha dei riferimenti da una parte assoluti ma dall'altra parte relativi.

    Lo scopo è di effettuare una somma condizionata incrementale.

    In Excel 2007 se aggiungo righe alla tabella la formula per la prima riga rimane invariata.

    Nella seconda diventa: =SOMMA.SE($A$2:A3;"X";$B$2:B3)

    Nella terza diventa: =SOMMA.SE($A$2:A4;"X";$B$2:B4)

    Nella quarta diventa: =SOMMA.SE($A$2:A5;"X";$B$2:B5)

    E via dicendo avendo per ogni riga aggiunta alla tabella la relativa formula che, rimanendo fermo il primo riferimento assoulto, incrementa il riferimento relativo (ma mantendeno invariato il riferimento delle righe precedenti).

    Cosa succede invece in Excel 365 (ma anche provato su Excel 2013)?

    Se aggiungo una riga la formula nella prima riga diventa: =SOMMA.SE($A$2:A3;"X";$B$2:B3)

    In pratica l'intervallo si estende automaticamente fino a fine tabella.

    La seconda riga diventa: =SOMMA.SE($A$2:A4;"X";$B$2:B4)

    E l'intervallo si espande oltre la tabella di 1 riga.

    Continuando ad es. fino alla quarta si ha che sempre la prima riga si espande fino a fine tabella diventando: =SOMMA.SE($A$2:A5;"X";$B$2:B5)

    E la formula dell'ultima riga si espande di tante righe quante sono state aggiunte: =SOMMA.SE($A$2:A8;"X";$B$2:B8)

    Metto anche uno screenshot della visualizzazione delle formule nelle celle:

    Immagine

    Personalmente trovo questo comportamento anomalo e ritengo più logico il comportamento assunto dalla tabella nella versione Excel 2007.

    Aggiungendo righe mi aspetto che la tabella copi le formule nelle righe successive ma in base alla logica che se copio la formula con un intervallo relativo ad una cella, anche se interna alla tabella, vada ad incrementare di una riga l'intervallo e non di tante righe quante sono le righe aggiunte andando anche oltre tabella.

    Mi chiedo se è un bug o una cosa voluta a partire dalle versioni successive, almento dalla 2013 (non ho la versione 2010 da provare), alla versione 2007?

    Qualcuno ha mai notato questa cosa?

    Grazie e ciao

    edit ore 17.21

    Aggiungo uno screenshot di quanto, invece, accade con una tabella in Excel 2007

    Immagine

    Credo che dovresti usare riferimenti strutturati assoluti e relativi nella tua formula.

    Ad esempio, per produrre totali cumulativi nella colonna3, la formula che si utilizzerebbe sarebbe:

    =SOMMA(INDICE([Col2];1):[@Col2])

                

    ===

    Regards

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento