Condividi tramite

Intervallo definito con nome o Tabella?

Anonimo
2012-06-27T13:14:15+00:00

Ho una serie di dati in un intervallo di 4000 righe e 4 colonne (Cod_Art, descrizione, unità di misura, prezzo).

Ho definito questo intervallo con il nome "PREZZI" (Inserisci, nome, definisci ecc...).

In molte formule utilizzo la funzione cerca.vert ..... per reperire i dati da questo intervallo.

Le domande sono queste:

  1. in un foglio di lavoro abbastanza complesso (circa 400 schede) è meglio utilizzare un intervallo definito con nome o sostituire questo intervallo con una tabella Excel? Ci sono peggioramenti in termini di prestazioni?
  2. Volendo sostituire l'intervallo con una tabella con lo stesso nome dell'intervallo ("PREZZI"), come devo procedere?

Chiedo questo perché:

  • elimino il nome" PREZZI" dall'elenco dei nomi definiti
  • un volta creata la tabella (Inserisci => tabella), vado in Strumenti Tabella e nella Barra Nome Tabella.
  • se tento di inserire "PREZZI" mi compare il messaggio "Il nome immesso esiste già. Specificare un nome univoco.". Ma se verifico l'elenco dei nomi definiti, il nome  "PREZZI"  non esiste più!

Non voglio definire un nome diverso per la tabella per non dover modificare tutti i riferimenti nelle formula già presenti.

Come faccio ad eliminare in modo definitivo il nome "PREZZI"?

Forse rimane (in modo nascosto) perché è presente il riferimento ad esso nelle formule? Su di un foglio nuovo di prova (senza formule) la suddetta procedura funziona.

Grazie

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

Risposta accettata dall'autore della domanda

Anonimo
2012-06-27T20:07:34+00:00

Le domande sono queste:

  1. in un foglio di lavoro abbastanza complesso (circa 400 schede) è meglio utilizzare un intervallo definito con nome o sostituire questo intervallo con una tabella Excel? Ci sono peggioramenti in termini di prestazioni?

Non ho lavorato molto con le nuove strutture di Tabella, e di conseguenza non ho fatto misurazioni e comparazioni molto approfondite, ma da quello che conosco ed ho letto non mi aspetterei particolari variazioni in termini prestazionali "puri" mentre i grandi vantaggi potrebbero invece derivare da una maggiore facilità d'uso da parte dell'utente che le usa.

Intendo dire che quando crei/definisci una tabella Excel la associa ad un Nome in maniera automatica (ed in maniera altrettanto automatica gestisce questa doppia entità in termini di modifica ed eliminazione). Quindi in termini prestazionali il fatto di referenziare un intervallo come Tabella o come Nome non cambia.

Se con gli intervalli invece ci lavori anche da utente allora puoi ottenere molti benefici nel definirli come Tabella: formattazione grafica decisamente comoda, gestione della riga di intestazione automatica (che invece usando i Nomi non puoi considerare e che diventa molto preziosa quando crei delle tabelle Pivot a partire da Tabelle), scroll dei dati senza perdere l'intestazione, possibilità di fare filtro ed enumerazione dei contenuti, possibilità di puntare ad una determinata cella all'interno della struttura di tabella, ecc.

Diverso portebbe essere il caso di utilizzo di queste strutture con codice VBA, per cui potrebbe rendersi necessario qualche intervento.

Anche in termini di indirizzamento cambia qualcosa, soprattutto quando referenzi l'intervallo da fogli differenti. La formattazione standard per referenziare un nome è:

[NomeFoglio]!MioNome

mentre per referenziare una Tabella (considerandola come tale e non come Nome, quindi beneficiando ad esempio del riconoscimento della riga con le intestazioni) è il seguente:

NomeFoglio!MioNome

Ciao

Roberto

La risposta è stata utile?

0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-06-28T09:43:22+00:00

    Ho capito abbastanza (poco), ma comunque a questo punto è un problema legato alle mie scarse conoscenze informatiche.

    Comunque (per quel che posso) vedo di approfondire l'argomento, facendo delle prove pratiche.

    Grazie comunque, mi hai aperto un mondo

    Ciao, Riccardo

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-06-28T09:17:52+00:00

    Potresti chiarirmi una cosa che non ho capito?

    Cosa intendi quando dici "Anche in termini di indirizzamento cambia qualcosa, soprattutto quando referenzi l'intervallo da fogli differenti. La formattazione standard per referenziare un nome è:

    [NomeFoglio]!MioNome

    mentre per referenziare una Tabella (considerandola come tale e non come Nome, quindi beneficiando ad esempio del riconoscimento della riga con le intestazioni) è il seguente:

    NomeFoglio!MioNome"

    Potresti farmi un esempio?

     

    Hehe... non hai capito anche perchè ho utilizzato i termini meno adatti (mea culpa!)...

    Ci riprovo.

    L'introduzione delle Tabelle e la possibilità di utilizzarle come base ad esempio per le tabelle Pivot ha previsto una variazione della sintassi (rispetto all'uso dei Nomi), quando l'intervallo (Nome o Tabella) viene referenziato da un altro documento Excel.

    Se dal documento "Cartel2.XLS" vuoi referenziare la Tabella "MioIntervallo" contenuta nel documento "Pippo.XLS" la sintassi più corretta da utilizzare è la seguente:

    Pippo!MioIntervallo

    La precedente sintassi che utilizzata i Nomi richiedeva invece una forma di questo tipo:

    [Pippo.XLS]!MioIntervallo

    Se MioIntervallo è una Tabella tecnicamente i riferimenti usati in Cartel2.XLS (per esempio durante la creazione di una tabella Pivot) verranno accettati in entrambi i casi, ma con la prima sintassi Excel considererà l'intervallo effettivamente come una Tabella (utilizzando ad esempio in maniera corretta ed implicita le intestazioni di colonna) mentre con la seconda sintassi considererà l'intervallo come un Nome (quindi perdendo le peculiarità di Tabella).

    Si tratta di casi specifici.

    Oltretutto le Tabelle, inserite a partire da Excel 2007 (nelle versioni precedenti la cosa che più si avvicinava era la struttura di "Elenco"), hanno già avuto dei cambiamenti nella versione 2010 (per esempio nel modo di indirizzare una singola cella all'interno dell'intervallo) e nella versione successiva di Office 15 potrebbe esserci ancora qualche modifica (ma di questo non posso parlarne, sono sotto NDA). Sono uno strumento interessante ma ancora in evoluzione. :-)

    Spero di aver fatto un po' di chiarezza, anche se una trattazione completa non può essere fatta qui come risposta ad un thread. :-)

    Ciao

    Roberto

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-06-28T05:14:16+00:00

    Grazie la spiegazione è stata esauriente.

    In effetti anche io ho riscontrato la medesima "anomalia", ed ho seguito il tuo consiglio per modificare tutti i riferimenti al nome "PREZZI" in tutte le formule ed il risultato è stato soddisfacente.

    Per poter riutilizzare il nome "PREZZI", visto che condivido il foglio con altre persone e preferisco non avere riferimenti diversi:

    • ho dapprima modificato il riferimento "PREZZI" in tutte le formule con "PREZZIXXX"
    • ho eliminato il nome dell'intervallo
    • ho creato una tabella nominandola prezzi (questa volta ha funzionato)
    • ho ripristinato il riferimento a "PREZZI" in tutte le formule

    Potresti chiarirmi una cosa che non ho capito?

    Cosa intendi quando dici "Anche in termini di indirizzamento cambia qualcosa, soprattutto quando referenzi l'intervallo da fogli differenti. La formattazione standard per referenziare un nome è:

    [NomeFoglio]!MioNome

    mentre per referenziare una Tabella (considerandola come tale e non come Nome, quindi beneficiando ad esempio del riconoscimento della riga con le intestazioni) è il seguente:

    NomeFoglio!MioNome"

    Potresti farmi un esempio?

    Grazie ancora

    Ciao Riccardo

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2012-06-27T20:23:13+00:00
    1. Volendo sostituire l'intervallo con una tabella con lo stesso nome dell'intervallo ("PREZZI"), come devo procedere?

    Chiedo questo perché:

    • elimino il nome" PREZZI" dall'elenco dei nomi definiti
    • un volta creata la tabella (Inserisci => tabella), vado in Strumenti Tabella e nella Barra Nome Tabella.
    • se tento di inserire "PREZZI" mi compare il messaggio "Il nome immesso esiste già. Specificare un nome univoco.". Ma se verifico l'elenco dei nomi definiti, il nome  "PREZZI"  non esiste più!

    Non voglio definire un nome diverso per la tabella per non dover modificare tutti i riferimenti nelle formula già presenti.

    Come faccio ad eliminare in modo definitivo il nome "PREZZI"?

    Forse rimane (in modo nascosto) perché è presente il riferimento ad esso nelle formule? Su di un foglio nuovo di prova (senza formule) la suddetta procedura funziona.

    Questa è probabilmente un'anomalia... :-)

    Sono riuscito a riprodurla ed effettivamente se crei un Nome a livello globale (a livello di Cartella), lo referenzi all'interno di una cella tramite formula, poi elimini il Nome, rimane qualche riferimento che impedisce il riutilizzo dello stesso nome per una nuova Tabella. La cosa non succede se invece definisci un Nome a livello di Foglio.

    Fino a quando non elimini i riferimenti all'interno delle formule del foglio non potrai riutilizzare quel nome per la Tabella.

    Riesci però ad intervenire utilizzando le funzioni di Trova&Sostituisci all'interno delle formule per sostituire il vecchio Nome con un nuovo nome di Tabella.

    Ammettiamo che tu voglia sostituire i riferimenti al Nome "PREZZI" con il riferimento alla Tabella "NuoviPrezzi". Procedi in questo modo:

    1. usa il comando "Home -> Modifica -> Trova e seleziona -> Sostituisci...". Comparirà la finestra di dialogo di sostituzione.
    2. Se le opzioni avanzate di sostituzione non sono visibili clicca sul pulsante "Opzioni >>"
    3. Imposta il campo "Trova: = PREZZI" ed il campo "Sostituisci con: = NuoviPrezzi", l'opzione "In: = Cartella di lavoro" e "Cerca in: = Formule"
    4. effettua la sostituzione
    5. dopo che hai fatto la sostituzione dovresti riuscire ad eliminare il riferimento a PREZZI

    Ciao

    Roberto

    La risposta è stata utile?

    0 commenti Nessun commento