![]() |
1) Δε μπορώ να καταλάβω γιατί χρησιμοποιείς αυτόν τον περίεργο τύπο. Στον τύπο: =IFERROR( VLOOKUP(I5;'G:\Το Drive μου\ΜΕΤΡΟ 6.1 ΝΕΟΙ ΑΓΡΟΤΕΣ\[TA6.1.XLSΧ]ΠΕΛΟΠΟΝΝΗΣΟΣ'!$D$3:$X$5500;2;FALSE);"" ) αναζητείται η τιμή I5 στη στήλη D (1η στήλη της περιοχής) και επιστρέφεται μία τιμή από τη δεύτερη στήλη της περιοχής $D$3:$X$5500 (στήλη E). Η παραπάνω αναφορά (σύνδεσμος) είναι στατική. Μπορεί να γίνει δυναμική με η βοήθεια της συνάρτησης INDIRECT() και να πάρει τη μορφή: =IFERROR( VLOOKUP(I5; INDIRECT( "'G:\Το Drive μου\ΜΕΤΡΟ 6.1 ΝΕΟΙ ΑΓΡΟΤΕΣ\[TA6.1.XLSΧ]" & L2 & "'!$D$3:$X$5500");2;FALSE);""). 2) Στο κελί W4 βάζουμε τον τύπο: = INDIRECT( "'G:\Το Drive μου\ΜΕΤΡΟ 6.1 ΝΕΟΙ ΑΓΡΟΤΕΣ\[TA6.1.XLSΧ]" & L2 & "'!$Ν$3") Στα άλλα κελιά ο τύπος είναι παρόμοιος. Για να λειτουργήσουν οι τύποι θα πρέπει να είναι ανοιχτά και τα δύο αρχεία. |
Kapetang (Γιώργο) καλησπέρα, Τον τύπο τον δανείστηκα από κάπου (στην αναζήτηση μου) και δουλεύει, φέρνει τα αποτελέσματα που θέλω. Όπως ανέφερα και προηγούμενα έχω ένα βιβλίο (DEMO XML.xlsx) με πολλά φύλλα και πολλές γραμμές. Σε αυτό λοιπόν για τους υπολογισμούς μου στο φύλλο ΥΦΙΣΤΑΜΕΝΗ, χρησιμοποιώ συναρτήσεις όπως οι παρακάτω: =IF(I6=0;"";INDEX(INDIRECT("'"&$L$2&"'!$a$1:$w5500 ");MATCH(I6;INDIRECT("'"&$L$2&"'!$d$1:$d5500");0); 6)) =IF($L2>0;INDEX(INDIRECT("'"&$L$2&"'!$a$1:$w$5500" );1;16);0) Τις συναρτήσεις αυτές τις έχω βάλει σε αρκετές στήλες και μερικά μεμονωμένα κελιά και λειτουργούν (δηλαδή έχω το αποτέλεσμα που θέλω) Το πρόβλημα είναι ότι αυτό το αρχείο αργεί πολύ να ανοίξει (40 - 50 sec). Σκέφτηκα λοιπόν να σπάσω το αρχείο στα δύο. Επειδή από την υπηρεσία έχω λάβει ένα αρχείο [ΤΑ6.1.xlsx] που περιέχει 14 φύλλα και το κάθε φύλλο έχει 21 στήλες και 5500 γραμμές, λέω γιατί να τα ενοποιήσω; Το αρχείο αυτό από την αρχή που προσπαθούσα να το ανοίξω αργούσε και τώρα έγιναν τα πράγματα χειρότερα. Ενοποιημένο το αρχείο ως DEMO XML.xlsx με 19 φύλλα πλέον και με την χρήση των παραπάνω συναρτήσεων, δουλεύει και λαμβάνω τα δεδομένα που ζητώ αλλά αργεί. Θέλοντας όμως να αποφύγω την αναμονή για το άνοιγμα και φτιάχνοντας ένα νέο αρχείο με 4 φύλλα [demo1.xlsx], άρχισα να κάνω τις συνδέσεις μου και το γράψιμο συναρτήσεων. Ανοίγει πολύ γρήγορα και τα αποτελέσματα είναι και αυτά πολύ γρήγορα. Η συνάρτηση λοιπόν που σου έγραψα πριν [=IFERROR( VLOOKUP($I7;CHOOSE({1;2};'G:\Το Drive μου\ΜΕΤΡΟ 6.1 ΝΕΟΙ ΑΓΡΟΤΕΣ\[TA6.1.XLSΧ]ΠΕΛΟΠΟΝΝΗΣΟΣ'!$D$3:$D$5500;'G:\Το Drive μου\ΜΕΤΡΟ 6.1 ΝΕΟΙ ΑΓΡΟΤΕΣ\[TA6.1.XLSΧ]ΠΕΛΟΠΟΝΝΗΣΟΣ'!$F$3:$F$5500);2;FALSE);" ")] δουλεύει. Πράγματι μου φέρνει τα δεδομένα, αλλά μόνο γα το φύλλο ΠΕΛΟΠΟΝΝΗΣΟΣ, διότι όπως μου έμαθες είναι στατική. Όμως η χρήση της συνάρτησης INDIRECT δεν μπόρεσε να με βοηθήσει. Την χρησιμοποιώ για τα φύλλα εντός του αρχείου και λειτουργεί, για την σύνδεση όμως με το δεύτερο αρχείο ΟΧΙ το αποτέλεσμα είναι (#ΑΝΑΦ!) Και βέβαια είναι ανοικτά και τα δύο αρχεία όταν κάνω τις δοκιμές και βρίσκονται στον ίδιο φάκελο. Δοκίμασα την = INDIRECT( "'G:\Το Drive μου\ΜΕΤΡΟ 6.1 ΝΕΟΙ ΑΓΡΟΤΕΣ\[TA6.1.XLSΧ]" & L2 & "'!$Ν$3" και το αποτέλεσμα ήταν ΟΧΙ (#ΑΝΑΦ!) Δοκίμασα = INDIRECT("'G:\Το Drive μου\ΜΕΤΡΟ 6.1 ΝΕΟΙ ΑΓΡΟΤΕΣ\[TA6.1.XLSΧ]ΠΕΛΟΠΟΝΝΗΣΟΣ'!$Ν$3") και πάλι ΟΧΙ Δοκίμασα = INDIRECT([ΤΑ6.1.xlsx]ΠΕΛΟΠΟΝΝΗΣΟΣ!$J$2) και πάλι ΟΧΙ - Αυτό το έκανα με επιλογή του κελιού από το δεύτερο αρχείο Έχω κολλήσει και δεν μπορώ να βρώ μια λύση. Δουλεύω με Excel 2007. |
Καλημέρα Κάποιο λάθος υπάρχει. 1) Ανοίγεις στο Excel και τα δύο αρχεία (TA6.1.XLSΧ και demo1.xlsx) 2) Ο τύπος = INDIRECT( "'G:\Το Drive μου\ΜΕΤΡΟ 6.1 ΝΕΟΙ ΑΓΡΟΤΕΣ\[TA6.1.XLSΧ]" & L2 & "'!$Ν$3" είναι λάθος επειδή δε κλείνει με παρένθεση. 3) Το κελί L2 πρέπει να παίρνει έγκυρες τιμές. Έγκυρη είναι η τιμή που ταυτίζεται με το όνομα κάποιου φύλλου του TA6.1.XLSΧ. 4) Ο γενική σύνταξη της συνάρτησης INDIRECT είναι: INDIRECT(ΔΕ_ΜΕ_Διαδρομή_\[ΌνομαΑρχείου]_ΔΕ_ & L2 & _ ΔΕ_ΜΕ_!_ΠεριοχήΚελιων_ΔΕ) Στον τύπο ΔΕ=Διπλά Εισαγωγικά, ΜΕ= Μονό Εισαγωγικό και το διαχωριστικό _ παραλείπεται Αν τα παραπάνω δεν πετύχουν: 1) στο κελί W4 γράψε = πήγαινε στο βιβλίο TA6.1.XLSΧ και κάνε κλικ στο κελί N3. 2) Αποθήκευσε τα 2 βιβλία και αφού τα κλείσεις άνοιξε και τα 2 πάλι. 3) Τροποποίησε τον τύπο στο κελί W4 ώστε να γίνει δυναμικός χρησιμοποιώντας, σύμφωνα με τα παραπάνω, τη συνάρτηση INDIRECT. Αυτό θα σε καθοδηγήσει στη διαμόρφωση και των υπόλοιπων τύπων |
Γιώργο καλησπέρα, Σε ευχαριστώ για τις συμβουλές σου. Πράγματι η συνάρτηση INDIRECT δούλεψε. Η σκέψη που έκανα να έχω δύο αρχεία, demo1.xlsx ανοικτό και TA6.1.xlsx κλειστό δεν μπορεί να δουλέψει, Το δεύτερο αρχείο είναι μεγάλο και "βαρύ" Με την CHOOSE και την VLOOKUP μπορώ και παίρνω τα δεδομένα από το κλειστό αρχείο αλλά όχι στατικά κελιά. Αντίθετα με την INDIRECT μπορώ και παίρνω ότι θέλω, αλλά πρέπει το αρχείο να είναι ανοικτό ή να βρίσκονται όλα τα φύλλα στο ίδιο αρχείο. Σκέπτομαι λοιπόν 1ον. Να έχω το αρχείο με τα 4 φύλλα που χρειάζομαι ως πρότυπο και να κάνω αντιγραφή ή επικόλληση του φύλλου (αυτό που ορίζει το κελί L2 του φύλλου ΥΦΙΣΤΑΜΕΝΗ) που χρειάζομαι από το αρχείο ΤΑ6.1.xlsx. Ίσως εδώ λίγος κώδικας θα με βοηθούσε. 2ον. Να έχω το αρχείο demo1.xlsx με τα 4 φύλλα μόνο και να χρησιμοποιήσω κώδικα. Αυτό είναι πολύ δύσκολο για μένα. δεν ξέρω - διαβάζω διάφορα άρθρα , αλλά δεν έχω βρεί κάτι που να με εξυπηρετεί. Σε ευχαριστώ .... |
| Η ώρα είναι 09:31. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.