Come fare in modo che Excel 2010 compili automaticamente la nuova riga con le formule?


11

Posso giurare di aver visto quel comportamento in cui Excel riempie automaticamente una riga appena inserita con la stessa formula della riga sopra.

So che questo può essere fatto con alcuni VBA, ma se possibile mi piacerebbe trovare ciò che fa scattare questo in modo nativo (a meno che non abbia sognato). Qualcuno sa come è fatto?

Risposte:


6

Questo non è un sogno e hai ragione: l'IA di Excel innesca queste cose e non solo per le tabelle. Solo un piccolo esempio per dimostrare:

  • Apri una nuova cartella di lavoro e compila la colonna Acon numeri crescenti, ad esempio:
1
2
3
4
5
  • Successivamente, nella colonna B aggiungi qualsiasi formula semplice, ad esempio =A1*10e compila automaticamente l'elenco di numeri per ottenere questo:
1      10
2      20
3      30
4      40
5      50
  • Ora, per vedere come funziona l'IA, digita 6(o qualsiasi numero) nella riga successiva sotto 5(questo dovrebbe essere A6nel contesto) e premi TABOPPURE ENTERcome fai normalmente.
  • Goditi la magia! (:

Ciò non dovrebbe avvenire solo per le formule: anche la formattazione può essere applicata automaticamente, ad esempio quando aggiungi una nuova colonna direttamente al set di dati e la tua "Intestazione" (1a riga) ha una formattazione speciale (riempimento nero / testo bianco) e inizia a digitare valori lì - molto probabilmente sarà colorato allo stesso modo.

Non posso fornire l'elenco completo dei casi, ma penso che tu abbia capito!)


È interessante notare che posso farlo funzionare solo in colonne, non in righe (ad esempio se trasponi il tuo esempio, non riesco a farlo funzionare).
RipperDoc,

Non ho idea del perché ... Forse perché i dati di solito vengono archiviati in modalità colonna con la crescita - è più naturale))
Peter L.

Devono essere almeno quattro.
Luca

@PeterL. ,, bella interpretazione +10 ☺
Rajesh S

2

È possibile evitare completamente la funzione di riempimento automatico con le formule di array . Basta inserire la formula come normale ma aggiungere :columnalla fine di ogni riferimento di cella e quindi premere Ctrl+ Shift+Enter . La formula verrà quindi applicata immediatamente a tutte le celle della colonna senza trascinare nulla


Modificare:

Le versioni Excel più recenti useranno automaticamente le formule di array per riempire quando c'è una nuova riga di dati

A partire dall'aggiornamento di settembre 2018 per Office 365, qualsiasi formula che può restituire più risultati li riverserà automaticamente verso il basso o nelle celle vicine. Questo cambiamento nel comportamento è anche accompagnato da diverse nuove funzioni di array dinamico. Le formule di array dinamici, sia che utilizzino le funzioni esistenti o le funzioni di array dinamico, devono solo essere immesse in una singola cella, quindi confermate premendo Invio. In precedenza, le formule di array legacy richiedono prima di selezionare l'intero intervallo di output, quindi confermare la formula con Ctrl+ Shift+ Enter. Sono comunemente chiamati formule CSE.

Linee guida ed esempi di formule di array

Se utilizzi una versione precedente di Excel o vuoi saperne di più sulle formule di array, continua a leggere


Ad esempio, inserire =B3:B + 2*C3:CD3 e Ctrl+ Shift+ Enterequivale a digitare =B3 + 2*C3e trascinare fino in fondo in una tabella a partire dalla riga 3

È veloce da digitare, ma ha uno svantaggio che le celle non utilizzate alla fine (al di fuori della tabella corrente) vengono comunque calcolate e mostrano 0. C'è un modo semplice per nascondere gli 0 . Tuttavia, il modo migliore è limitare il calcolo all'ultima colonna della tabella. Sapendo che in una formula di matrice puoi usare X3:X101per applicare solo alle celle da X3 a X101 possiamo usare la INDIRECTfunzione per ottenere lo stesso effetto

  • Immettere =LOOKUP(2, 1/(A:A <> ""), A:A)in una cella all'esterno della tabella per trovare l' ultima cella non vuota nella tabella e denominarla LastRow. In alternativa, utilizzare =COUNTA(A3:A) + 2quando la prima riga della tabella è 3
  • Quindi invece di B3:Busare=INDIRECT("B3:B" & LastRow)

Per esempio, se si desidera celle nella colonna D per contenere i prodotti di cellule B e C, e la colonna E contiene somme di B e C, invece di usare D3 = B3*C3ed E3 = B3 + C3e trascinare verso il basso è sufficiente mettere il sotto formule in D3 e E3, rispettivamente, e premere Ctrl+ Shift+Enter

=INDIRECT("B3:B" & LastRow) * INDIRECT("C3:C" & LastRow)
=INDIRECT("B3:B" & LastRow) + INDIRECT("C3:C" & LastRow)

D'ora in poi ogni volta che aggiungi dati a una nuova riga, la tabella verrà automaticamente aggiornata


La formula dell'array è molto veloce poiché il modello di accesso ai dati è già noto. Ora invece di eseguire separatamente 100001 calcoli diversi, possono essere vettorializzati e eseguiti in parallelo , utilizzando più core e unità SIMD nella CPU. Ha anche i seguenti vantaggi:

  • Coerenza: se si fa clic su una delle celle da E2 verso il basso, viene visualizzata la stessa formula. Tale coerenza può aiutare a garantire una maggiore precisione.
  • Sicurezza: non è possibile sovrascrivere un componente di una formula di array a più celle. Ad esempio, fare clic sulla cella E3 e premere Elimina. Devi selezionare l'intero intervallo di celle (da E2 a E11) e modificare la formula per l'intero array o lasciare l'array così com'è. Come misura di sicurezza aggiuntiva, devi premere Ctrl+ Shift+ Enterper confermare la modifica alla formula.
  • Dimensioni file più piccole: spesso è possibile utilizzare una formula a matrice singola anziché diverse formule intermedie. Ad esempio, la cartella di lavoro utilizza una formula di matrice per calcolare i risultati nella colonna E. Se avessi usato formule standard (ad esempio =C2*D2, C3*D3, C4*D4...), si sarebbe usato 11 diverse formule per calcolare gli stessi risultati.

Linee guida ed esempi di formule di array

Per maggiori informazioni leggi


0

Questo è il comportamento predefinito di Excel se si immette una formula in una colonna vuota in una tabella . Per ottenere questo, è necessario inserire una tabella :

inserisci qui la descrizione dell'immagine


Grazie, funziona, ma senza usare Table prima, ho visto questo effetto su singole celle. Credo che debba essere una sorta di impostazione di riempimento automatico.
RipperDoc,

ci sono due modi in cui puoi farlo molto rapidamente: 1. inserisci la formula e fai doppio clic sul piccolo "+" quando passi con il mouse sull'angolo in basso a destra della cella 2. Seleziona l'intero intervallo e inserisci la formula con Ctrl-Invio . Ma nessuna delle due opzioni è un "vero riempimento automatico" come nelle tabelle. Abbastanza sicuro che non esista (a meno che non sia stato creato su misura in VBA)
Peter Albert,

0

Un modo per fare in modo che Excel esegua questa operazione automaticamente consiste nel copiare e incollare le formule desiderate in più righe. Se lo fai uno per uno, non è chiaro che la copia e incolla dovrebbero essere completate automaticamente per ogni riga successiva. Se copi e incolli in un blocco, Excel sostituirà e copierà e incollerà automaticamente la formula per le righe future.


0

Il problema che stai riscontrando è probabilmente perché alcune colonne nella tabella non sono impostate per il riempimento automatico. Puoi riempire automaticamente la colonna selezionando una cella con la formula, afferrando la casella verde nell'angolo in basso a destra e trascinandola sull'ultima riga o sulla tabella. Una volta che lo fai, la colonna si riempie automaticamente in modo che tutte le nuove righe abbiano automaticamente la formula in quella colonna.


0

Per me, funzionava per due colonne di formule e improvvisamente si fermò solo per una di esse. Penso di aver copiato e incollato una cella diversa su di essa e incasinato il collegamento. Per risolverlo, ho selezionato la cella e sono andato in Home> Modifica> Riempi> Serie e ho ribadito i dettagli. Spero possa aiutare.


Questa è una risposta a un problema diverso e non risponde alla domanda come richiesto.
DavidPostill

0

Stavo avendo questo problema in cui un tavolo ha smesso di riempirsi automaticamente ... Non so perché improvvisamente ha smesso di funzionare, ma ecco la soluzione:

  • Aggiungi la tua formula alla colonna appropriata sull'ultima riga della tabella e premi enter
  • Fai clic sul quadratino pop-up etichettato fx e selezionaOverwrite all cells in this column with this formula
  • Aggiungi una nuova riga alla tabella, che ora dovrebbe avere la formula riempita automaticamente

Questo ha funzionato alla grande per me, spero che aiuti gli altri.


0

Wright (ri-wright se necessario) la formula e premere Invio. La prossima volta che aggiungi dati alla riga successiva, popola automaticamente la formula.


Leggi "Perché ho bisogno di 50 reputazione per commentare" per assicurarti di capire come puoi iniziare a commentare.
Pimp Juice IT

Per scrivere qualcosa su carta, per fare un giusto turno, e gli Wright Brothers che presumibilmente volato il primo aereo.
Pimp Juice IT

Imparare queste cose è un rito di passaggio.
Scott,

-2

Puoi farlo usando la funzione Giustifica sotto il menu a discesa Riempi. Si trova sotto la scheda Home nelle funzioni di modifica. Sul mio è l'estrema destra della barra degli strumenti.


Vuoi aggiungere dettagli come succede? In base a ciò non fa ciò che l'OP ha richiesto.
Zagrimsan,

Quello che ho fatto è stato impostare una tabella con riempimenti formattati di intestazioni, formule, ecc. Per ogni cella sotto le mie intestazioni. Quindi nella colonna più a sinistra ho selezionato un intervallo che non avevo ancora formattato, sono andato al menu a discesa e ho selezionato giustificato. Ora, quando inizio a inserire le informazioni in quell'intervallo di celle, l'intera riga si formatta automaticamente nelle formule, nel riempimento, ecc. Che avevo impostato nella mia tabella. Mi dispiace non sono molto esperto di tecnologia, quindi non so come mettere le foto in questo commento per avere un senso.
XLRookie,

Questo metodo fa sì che la riga in cui stai inserendo i dati formatta la stessa riga sopra di essa.
XLRookie,

Non è possibile inserire foto nei commenti, ma è possibile nella risposta. Tuttavia, ho provato questo e mi sembra che Fill-> Justify non sia necessario per ottenere il riempimento automatico (provalo tu stesso, lasciando semplicemente il giustificato passo fuori dai passaggi che hai descritto). La funzionalità di riempimento automatico in Excel discussa qui è la ragione del risultato, non giustificante.
Zagrimsan,

Haha questo è vero. Bene, questo ti mostra il mio livello di competenza in questo settore.
XLRookie,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.