Microsoft Excel 2007: elenco a discesa che acquisisce più colonne da un altro foglio


0

Ho cercato su Internet per questo, ma non riesco a trovare una soluzione.

Diciamo che ho 2 fogli: "Articoli" e "Inventario".

All'interno di "Articoli", ho 3 colonne:

  • Nome dell'oggetto
  • Tipo di elemento
  • Costo dell'articolo

All'interno di "Inventario", ho la stessa colonna di cui sopra. Tuttavia, in Nome articolo nel foglio "Inventario", ho un elenco a discesa che elenca tutti gli articoli trovati in Nome articolo in "Articoli".

Quello che voglio che accada è che in "Inventario", se seleziono un articolo dall'elenco a discesa ... Voglio che non vengano mostrati solo il Nome articolo ... ma il Tipo di articolo e il Costo dell'articolo in "Inventario" dovrebbero essere popolato anche con tutti i dati presenti in "Articoli" per l'articolo corrispondente che ho appena scelto.

È possibile?

Risposte:


0
  • Sì, usando VLOOKUP. Spiegazione presa da qui , per gentile concessione di bigmyk2k in risposta a una domanda simile.

Il lavoro qui non viene eseguito nel menu a discesa (che è facile da eseguire), il lavoro viene eseguito in ogni colonna che si desidera popolare.

Per ogni cella, scrivere un VLOOKUP che trova il valore desiderato in una tabella, in base al valore nella cella a discesa. Nell'esempio sopra, vorrai nominare gli intervalli di dati principali (le informazioni su un foglio di calcolo separato da cui stai popolando) o modificarli se necessario. Per questo esempio, supponiamo che abbiamo chiamato i dati parent: Parent_Data

A1 B1 C1 D1 ID nome completo Addr1 Addr2

Ad esempio, nell'esempio sopra, se il tuo menu a discesa per FULLNAME è nella cella A1 e stai creando VLOOKUP per Addr Line 2,

= CERCA.VERT (A1, Parent_Data, 4, True)

Questo troverebbe la corrispondenza esatta per il tuo nome completo, andrebbe alla terza colonna a destra di quella e restituire quel valore.

Per mantenerlo pulito, vorrai incorporare il vlookup in un'istruzione IF, in modo che se non ci sono risultati, non mostra nulla. Sarebbe simile a questo:

= SE (ISNA (CERCA.VERT (A1, Parent_Data, 4, True)), "", CERCA.VERT (A1, Parent_Data, 4, True))

Ulteriori istruzioni per chiarire:

Per questa spiegazione, devo iniziare dal fatto che Excel funziona sia in basso che a destra o in alto e a sinistra. In questo caso, siamo nel regno "Giù e Giusto".

Affinché la funzione funzioni, anche il valore che stai cercando (Nome completo in A1) deve trovarsi nella colonna più a sinistra dei dati principali che stai cercando. Questo perché Excel cercherà in basso la prima colonna fino a quando non trova quel valore, quindi a destra lungo la riga fino a quando non arriva alla colonna specificata.

Supponendo che il nome completo sia nella colonna A, Excel restituirà il valore nella colonna D perché gli abbiamo detto di cercare nella quarta colonna della riga in cui troviamo il valore corrispondente. Questo è il "4" nella formula. Per la cella che si desidera restituire AddressLine1, è necessario immettere la stessa formula esatta, ma con un 3 anziché un 4.

"False" indica alla funzione VLOOKUP di restituire un valore per la query solo se trova una corrispondenza esatta. "Vero" restituirà i risultati per la prima partita ravvicinata. Ad essere sincero, non ho capito cosa pensa Excel in una stringa di testo ...

  • Ecco un tutorial video di VLOOKUP su YouTube per ulteriori istruzioni.
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.