/ / Come cercare un valore in un foglio, ma potrebbe trovarsi in colonne diverse e la copia incollata in un altro foglio se corrisponde ad alcuni criteri? - excel, vba, excel-vba

Come cercare un valore in un foglio, ma potrebbe trovarsi in colonne diverse e la copia incollata in un altro foglio se corrisponde ad alcuni criteri? - excel, vba, excel-vba

ecco il mio problema Ho 2 fogli nella stessa cartella di lavoro che condividono un criterio comune (po #). * Foglio1: contiene le informazioni che devono essere filtrate e suddivise in base al foglio3 ... cioè se il PO # nel foglio1 corrisponde al po # in foglio3 allora l'intera riga deve essere copiata e incollata in un "foglio4" se incontra alcuni criteri ("mercato" che potrebbe essere jet, bigcommerce, amazon). Qui è dove diventa più complicato ... 1-il po # in sheet3 è nella prima colonna (A), ma il numero # nel foglio1 è nella colonna A o B. 2-L'idea è di avere un foglio per ogni mercato. Quindi excel dovrebbe prima cercare il po #, e se è lì, cercare "market" e copiare tutti i record che condividono lo stesso mercato in un altro foglio. * Foglio3: contiene po # e alcuni altri dati.

--Altro utente ha fatto una domanda simile (trovareregistrare e copiare incollato in un altro foglio) ma la risposta è basata sul valore di ricerca che si trova in una sola colonna (al contrario del mio caso in cui può essere in A o B). come posso farlo apparire in entrambe le colonne?

Grazie!

risposte:

0 per risposta № 1

Perché le tue due colonne di ricerca sono nella stessa posizionetabella dei dati come risultati, la soluzione è in realtà abbastanza semplice, utilizzando una combinazione delle funzioni INDICE & MATCH. INDICE richiama il valore di una colonna, per una riga specificata #. MATCH fornisce il numero di riga, dove è stato trovato un termine di ricerca in una colonna. Insieme, funzionano così, inserendo l'importo nella colonna D, per la riga in cui la colonna B corrisponde al termine di ricerca in A1:

=INDEX(D:D,MATCH(A1,B:B,0))

Per il tuo caso, devi semplicemente usare IFERROR perprima prova a far corrispondere il termine di ricerca in una colonna, e poi se non viene trovata alcuna corrispondenza, prova a far corrispondere il termine di ricerca in una seconda colonna. Inserisci questa formula nel foglio1, a partire da B2 [assumendo che non ci siano intestazioni], quindi trascina verso il basso ea destra:

=INDEX("Sheet3"!B:B,IFERROR(MATCH("Sheet1"$A2,"Sheet3"!$A:$A,0),MATCH("Sheet1"$A2,"Sheet3"!$B:$B,0)))