Προς το περιεχόμενο

Βοήθεια με Excel


Rebelos2018

Προτεινόμενες αναρτήσεις

Χαιρετώ.

Υπάρχει κάποια συνάρτηση που να υπολογίζει την διαφορά της προηγούμενης τιμής, στο ίδιο κελί, με αυτήν που πρόκειται να καταχωρήσω;

Π.χ. Στο κελί υπάρχει η τιμή 25. Και θέλω να βάλω την τιμή 97. Υπάρχει συνάρτηση που επιστρέφει το αποτέλεσμα της διαφοράς τους;

Ευχαριστώ πολύ!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλησπέρα και Χριστός Ανέστη,

Δοκίμασε μια πρόταση στο συνημμένο αρχείο αν σε καλύπτει.

Το ζητούμενό σου δε νομίζω πως μπορεί να επιτευχθεί με συνάρτηση στο ίδιο κελί αλλά μόνο με κώδικα VBA.

Στο Α1 γράφεις έναν αριθμό. Αν επιλέξεις πάλι το Α1, η προηγούμενη τιμή αποθηκεύεται στη μνήμη και μόλις γράψεις τη νέα τιμή, εμφανίζεται με μήνυμα η διαφορά "νέα τιμή - παλιά τιμή".

ΔΙΑΦΟΡΑ ΤΙΜΗΣ.xlsm

  • Thanks 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
25 λεπτά πριν, ChrisGT7 είπε

Καλησπέρα και Χριστός Ανέστη,

Δοκίμασε μια πρόταση στο συνημμένο αρχείο αν σε καλύπτει.

Το ζητούμενό σου δε νομίζω πως μπορεί να επιτευχθεί με συνάρτηση στο ίδιο κελί αλλά μόνο με κώδικα VBA.

Στο Α1 γράφεις έναν αριθμό. Αν επιλέξεις πάλι το Α1, η προηγούμενη τιμή αποθηκεύεται στη μνήμη και μόλις γράψεις τη νέα τιμή, εμφανίζεται με μήνυμα η διαφορά "νέα τιμή - παλιά τιμή".

ΔΙΑΦΟΡΑ ΤΙΜΗΣ.xlsm 14.58 kB · 0 downloads

Καταρχάς σε ευχαριστώ για την βοήθεια.

Κατά δεύτερο, δεν γίνεται να μεταφέρεται σε ένα κελί αυτή η διαφορά;

Βασικά, αυτό που θέλω να καταφέρω είναι το εξής.

Να αλλάζω την τιμή σε ένα κελί και ταυτόχρονα, σε ένα άλλο κελί, να αυξάνεται το ποσό αυτό, όσο και η διαφορά των τιμών.

Επεξ/σία από Rebelos2018
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Θα πρέπει να χρησιμοποιήσεις βοηθητικό κελί. Δεν γίνεται αυτό που σκέφτεσαι, τουλάχιστον όχι έτσι απλά με συναρτήσεις.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

16 λεπτά πριν, micos000 είπε

Θα πρέπει να χρησιμοποιήσεις βοηθητικό κελί. Δεν γίνεται αυτό που σκέφτεσαι, τουλάχιστον όχι έτσι απλά με συναρτήσεις.

Έστω και έτσι, πως μπορώ να το κάνω; 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

10 λεπτά πριν, Rebelos2018 είπε

Έστω και έτσι, πως μπορώ να το κάνω; 

Απλά κάνεις αφαίρεση τα δύο κελιά.

π.χ.

Στο Α1 έχεις 25

Στο Β1 γράφεις 97

Στο C1 θα βάλεις

=B1-A1

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

5 λεπτά πριν, micos000 είπε

Απλά κάνεις αφαίρεση τα δύο κελιά.

π.χ.

Στο Α1 έχεις 25

Στο Β1 γράφεις 97

Στο C1 θα βάλεις

=B1-A1

Οκ άλλο κατάλαβα προηγουμένως. 

Άρα δεν γίνεται αυτόματα. Σε ευχαριστώ. 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Δεν σε κατάλαβα. Τι ακριβώς θέλεις να κάνεις;.

Γενικά, το excel δεν επιτρέπει την χρήση του ίδιου κελιού για να βάλεις αριθμό και να πάρεις αποτέλεσμα πάλι στο ίδιο κελί.

Ίσως με την χρήση vba και μακροεντολών να γίνει κάτι όπως το δείγμα που έδωσε ο chrisgt7 παραπάνω, απλά αντί να το βγάζει σε msgbox να ο περνάει σε κάποιο άλλο κελί.

Επεξ/σία από micos000
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
2 λεπτά πριν, micos000 είπε

Δεν σε κατάλαβα. Τι ακριβώς θέλεις να κάνεις;.

Γενικά, το excel δεν επιτρέπει την χρήση του ίδιου κελιού για να βάλεις αριθμό και να πάρεις αποτέλεσμα πάλι στο ίδιο κελί.

Ίσως με την χρήση vba και μακροεντολών να γίνει κάτι όπως το δείγμα που έδωσε ο chrisgt7 παραπάνω.

Το δείγμα του φίλου πάνω ήταν στη σωστή κατεύθυνση, απλώς θα ήθελα να μεταφέρεται η τιμή σε ένα κελί και όχι να βρίσκεται σε ένα prompt παράθυρο. 

Επεξ/σία από Rebelos2018
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το κατάλαβα και το πρόσθεσα στο μήνυμα μου. Δεν είναι κάτι δύσκολο, απλά δεν το έχω και τόσο με την vba στο excel. Θα το δει σίγουρα ο chris και θα στο αλλάξει.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

4 λεπτά πριν, ChrisGT7 είπε

Στο συνημμένο αρχείο μεταφέρω τη διαφορά στο C1.

Αυτό βολεύει καλύτερα;

ΔΙΑΦΟΡΑ ΤΙΜΗΣ.xlsm 14.34 kB · 0 downloads

Γιατί έβαλες την IIf; Το έκανα με [C1].Value = Target.Value - OldValue και βγάζει σωστά το αποτέλεσμα.

Από περιέργεια ρωτάω.

EDIT:

Άκυρο, το κατάλαβα. Για να ελέγχει αν είναι αριθμητική η τιμή.

:)

btw, νομίζω ότι καλά θα ήταν να ελέγχει και ποια τιμή είναι μεγαλύτερη για να μην βγάζει αρνητικά αποτελέσματα. (π.χ. 32-65)

  • Thanks 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

5 λεπτά πριν, micos000 είπε

Γιατί έβαλες την IIf; Το έκανα με [C1].Value = Target.Value - OldValue και βγάζει σωστά το αποτέλεσμα.

Από περιέργεια ρωτάω.

EDIT:

Άκυρο, το κατάλαβα. Για να ελέγχει αν είναι αριθμητική η τιμή.

:)

Παιδιά σας ευχαριστώ και τους δύο. Να είστε καλά. 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ακριβώς, γι' αυτό το λόγο. Αν πληκτρολογηθεί κείμενο βγάζει σφάλμα.

Απλά η IIF() θέλει λίγο προσοχή όταν τη χρησιμοποιούμε, γιατί εκτελούνται πάντα οι εντολές στα True και False, ασχέτως αν ο έλεγχος είναι αληθής ή όχι. Σ' αυτήν την περίπτωση θα πρέπει να επιλέξουμε καλύτερα If... then... else, που οι εντολές στα True και False εκτελούνται μόνο έρθει η ώρα τους.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Να έχεις υπ' όψιν ότι αν η νέα τιμή που θα βάλεις είναι μικρότερη από την παλιά θα σου βγάζει αρνητικό αποτέλεσμα.

2 λεπτά πριν, Rebelos2018 είπε

Παιδιά σας ευχαριστώ και τους δύο. Να είστε καλά. 

 

  • Thanks 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...