Μια βοηθεια στο EXCEL (προς γνωστες)

lmiltos

Senior Member
6 June 2007
644
Καλησπερα παιδια

Εστω οτι εχουμε ενα excel το οποιο αποτελειται απο πολλες γραμμες (ανω των 8000) και 10 στηλες με καθε στηλη να εχει διαφορα στοιχεια. Η μια απο αυτες τις στηλες ομως εχει ενα μοναδικο 9-ψηφιο αριθμο.

Εστω οτι εχω και ενα αλλο excel με ΜΟΝΟ μια στηλη με συγκεκριμενους 9-ψηφιους κωδικους.

Γνωριζει κανεις πως μπορω να αντιπαραβαλω τα 2 αρχεια ετσι ωστε να μου κραταει απο το μεγαλο αρχειο ΜΟΝΟ τις γραμμες (με ολα τα επιπλεον στοιχεια) που εχουν τους συγκεκριμενους 9-ψηφιους κωδικους?

Λογικα θα θελει κανα απλο Plug in απο Visual basic αλλα ειμαι ασχετος απο VB.

Any help appreciated που λενε και οι αγγλοι.
 
Το τέσταρα και είναι όπως στο είπα με vlookup:

attachment.php


Απλά πρέπει να καταφέρω να τα γράψω σωστά για να τα καταλάβεις:BDBDG54::flipout:
 

Attachments

  • vlookup.jpg
    vlookup.jpg
    50.9 KB · Views: 71
στη vlookup για να μη βγάζει κινέζικα καλό είναι να συνδυαστεί με IFISERROR ...

π.χ =IF(ISERROR(VLOOKUP(B54;B46:F47;2;FALSE));0;(VLOOKUP(B54;B46:F47;2;FALSE)))
 
Last edited:
Λοιπόν έχουμε και λέμε:
  1. Βάζεις στο ίδιο excel τα 2 worksheet (το μεγάλο και το μικρό)
  2. Πας στο μικρό excel και στην πρώτη γραμμή αντιγράφεις στο κελί Β1
    τις κεφαλίδες από την πρώτη γραμμή του μεγάλου για τις 10 κολώνες
    που θες να φέρεις.
  3. Πας στο κελί Β2 και του βάζει την vlookup που σου είπα (όπου Lookup value
    θα βάλεις το κελί Α2 που έχει τον μοναδικό 9-ψήφιο αριθμό, όπου Table_aray
    θα μαρκάρεις όλη την μεγάλη βάση δεδομένων που έχει στο άλλο worksheet και
    όπου Col_index_num θα βάλεις το αντίστοιχο κελί που θέλεις να φέρει από το
    μεγάλο worksheet
  4. Θα κάνεις το ίδιο για τα επόμενα 9 κελιά (Β3 έως Β11), απλά κάνοντας copy paste
    τον τύπο και απλά θα αλλάζεις ta εξής 2 πράγματα: Θα βάζεις να διαβάζει το κελί Α2
    (και όχι το Β2 που θα σου πει αυτό) και θα αλλάζεις το νούμερο του Col_index_num.
    Δηλαδή ο τύπος θα είναι μετά από =VLOOKUP(B2;DATABASE!$A$1:$W$4602;2;0)[/B] σε =VLOOKUP(A2;DATABASE!$A$1:$W$4602;3;0) κ.ο.κ.
  5. Αφού κάνεις το ίδιο για τις 10 κολώνες, θα κάνεις ένα απλό drag μέχρι
    την τελευταία γραμμή του μικρού excel και τέλος

Ελπίζω να κατάλαβες τα αλαμπουρνέζικα που έγραψα:flipout:
αλλιώς εδώ είμαι για επεξηγήσεις:a0210:
 
Δοκιμασα και με αυτο που ειπες αλλα ψιλοχαθηκα...

Πολλα ευχαριστω για το κοπο σου φιλε μου.
 
στη vlookup για να μη βγάζει κινέζικα καλό είναι να συνδυαστεί με IFISERROR ...

π.χ =IF(ISERROR(VLOOKUP(B54;B46:F47;2;FALSE));0;(VLOOKUP(B54;B46:F47;2;FALSE)))

αν η τιμή το κελί αναφοράς δεν υπάρχει στον πίνακα σάρωσης τότε θα μας φέρει ένα πολύ ωραίο #ΔΥ, με την if iserror θα μας φέρει τιμή 0 (χρήσιμο σε περίπτωση που υπάρχει sum), ή οτι άλλο του δηλώσουμε μέσα σε "", δλδ

=IF(ISERROR(VLOOKUP(B54;B46:F47;2;FALSE));"ΛΑΘΟΣ";(VLOOKUP(B54;B46:F47;2;FALSE)))

οπότε μας επιστρέφει τη λέξη λάθος ...